Не иссякнет источник интриги,
Пусть спешит гигагерцев прогресс...
Уступает видеокарта книге
Роль привратника в мир чудес.

 
Меценат

Тут будем обсуждать способы, методы, и программы для генерирования коротких квестов для браузерной игры.

Генератор должен позволять авторам (или сам) создавать для игроков бесконечное количество разных квестов.

Струкутра квеста состоит из блоков которые заполняются текстовками из заранее прописанного Банка текстовок (по тематикам).

В данном случае квест должен содержать примерно такие блоки:

1) Локация/место действия (внутри помещения дома; на улице средневекового города; на улице деревни; на проселочной дороге; берег реки; горная местность; болото; лес;...)

2) тип НПС ( которые встречаются в данной локации)

3) тип Находки которая может быть найдена в этой локации или у данного НПС

4) типы врагов, которые могут быть встречены героем в этой локации

5) типы непредвиденных ситуаций или препятствий или преград, которые в этой локации или с этим НПС може встретить герой

6) Погода которая может быть в этой локации (только для природных локаций)

В каждом Блоке будет храниться несколько вариантов текстовок и программа должна случайным образом выбирать один из вариантов текста описания (локации, НПС и пр.) и выдавать на экран.

Система тестов героя (при преодолении преград и бои с врагами) – решаются отдельной програмной опцией.

Герой легенд

Вот, я автоматизировал в экселе генератор заданий, предложенный в Книге Руководство ведущего "Лабиринты и Минотавры"
stormtower.ru/wiki/Генератор_приключений

Это не в коем случае не готовый текст, а только помощь мастеру, костыли чтобы запустить его воображение. Детали он должен продумать и детализировать сам.

rghost.ru/26213561

Работает он по принципу подстановки вариантов из списка на второй странице "Таблицы". В таблицу можно вносить до 20 своих вариантов событий. Чтобы обновить таблицу нажмите Ф-9.

В этой же книге ещё есть примеры генераторов: – Генератор Таинственных Островов – Генератор Храмов – Генератор Города-государства

Примеры выданных генератором квестов:

Пример 1.

Героев попросил
население города, городка или деревни
пойти в Зловещее болото
чтобы Доставить кое-что или сопроводить кого-то в безопасное место
или возможно
Нанести поражение невероятному чудовищу (гигантскому чудовищу, волшебнику, духу) Это чудовище – прямая угроза иннициатору приключения и должно быть изгнанно/уничтожено
но случилось
Противоречия целей. Возможно, в этом приключении не одна, а несколько целей. И возможно, они противоречат одна другой.

Пример 2.

Героев попросил Мудрец
пойти в Таинственный остров
чтобы Спасти (выкупить, выкрасть) важного пленника. Он может быть удерживаем для выкупа, религиозной жертвы или по другой причине.
но случилось Соревнование. Похожее задание плучила другая группа авантюристов (или третьи лица заинтересованы в своих целях). А делится славой и призом с героями не собираются.

Пример 3.

Героев попросил население города, городка или деревни
пойти в Зловещее болото
а также попасть в Зловещие руины
чтобы Нанести поражение группе враждебных существ, угрожающих безопасности или интересам иннициатора приключений.
но случилось Две части. Место действия не одно а несколько, между которыми придётся путешествовать.

Таро, заставить компьютер генерировать связный тест не удалось пока ни одному гению.
вот я вижу примерно такой единственный вариант. Что компьютер генерирует разные квесты из набора, а автор уже пишет по ним приключение. Но никак не наоборот.[/url]


_________________
Я - Эргистал, игру не написал.
Меня убила лень и я устал.
Емелей на печи лежу я, как гиппопотам.
Кто хочет, дайте щукой мне по щщам.
Знаменитый приключенец

С каждым днем чувствую себя все больше похожим на мозгового паразита, сдохшего на мозге Фрая.
Ибо:
1. Все это уже было. И даже не только на преданной анафеме моей страничке, но и здесь, на Форуме. Даже с ссылками на авторитеты.
2. Все это песни "тунгусов". Сама мысль превратить кнИгры в браузерки равносильна смерти жанра. Опять же, и про это говорили, цитировали и ссылались.
3. Сейчас все опять закричат, что создавать трудно, а критиковать легко. Ну, так, попробуйте. Для начала, попробуйте критически отнестись к тем идеям, которые выкладываете сами.
Все, я сдох.


_________________
Конкретный анализ конкретной ситуации - вот суть и живая душа марксизма!
Меценат

Эргистал

Не-не. Ты не понял. Я не требую от генератора самому ПИСАТЬ тексты.

Я хочу чтобы генератор только сам собирал текст квеста из заранее заданный текстовых блоков.

Например:

Место действия – Город (улицы)
Авторы заранее сами написали 10 типов описаний разных улиц города.
А программа лишь случайным образом выбирает один из вариантов текста.

База игровых НПС:
Атворы заранее расписали текстовки для разных типов НПС + диалоги с ним.
А программа лишь случайно выбирает того или иного НПС.

И т.д. по всем блокам Базы данных текстовок – Находки, Враги, Случайности, Погода.

Приведу более конкретный пример – Как это должно выглядеть в виде сгенерированного квеста:

Игрок на экране выбирает Локацию на карте – Город Эдо.
Тут ему высвечивается кнопка – Начать квест!
Нажал!
Появляется картинка города (статичная) и текст:

Вы оказались в грязном переулке пригорода Эдо. Мимо вас снуют разносчики снеди, грузчики с тюками на голове, нищие порошайки...и т.п.

(далее к тексту описания улицы программа приплюсовала другой кусок текста, который взят ею из Базы текстовок про НПС):

Неожиданно сзади кто-то дернул вас за рукав. Вы резко обернулись. Перед вами стояла маленькая девочка лет 7-ми. – Господин, извините что потревожила вас, но не найдется ли у вас какой-нибудь еды – умоляющим тоном произнесла она глядя на вас слегка настороженно – Это не мне! – быстро добавила она – Это моему маленькому братику Сабуро – она указала рукой в сторону малыша в лохмотьях, который сидел у стены торговой лавки, поджав под себя тощие голые коленки.
Ваше решение?
Если у вас есть деньги можете дать девочке – 1 монету;
Или прогоните ее прочь – ???
Или хотите с ней поговорить и узнать где ее родители – ???
(далее идут ветки диалога)...

**Примечание - понятно, что программа могла бы сгенерировать на этой Улочке и друго НПС с другим типом диалога. Smile

Другой пример:
Вы ниндзя и ночью крадетесь в дом торговца чтобы чего-то стырить.

Локация – Дом (программа выбирает описание подхода к дому – Это обычно или ворота или стена.

Вот что выбрала программа:
"В ночной мгле вы пробрались к высокой стене окружавшей дом торговца Синдао. Попробуете перелезть ее – ??? (далее тест проверки Навыка Ловкости);
Или попробуете пройти вдоль стены к воротам и открыть их при помощи отмычки – ??? (тест Взлома)

(допустим герой проник за стену – далее программа выдает ему блок текста с ситуацией касающейся ДОМА – опция "Двор"):

Вы проникли во двор. Перед вами раскинулся большой ухоженный сад. Высокие сосны как молчаливые стражи темными суровыми силуэтами стояли вокруг вас...

(тут программа сгенерировала Врага – из базы текстовок):

Внезапно вы услышали откуда-то сбоку от вас глухое рычание!..
НЕ успели вы понять , что происходит, как из темноты на вас бросился здоровенный мохнатый пес...! (далее тест боя с псом).

Если герой победил – программа генерирует ему следующую опцию из Банка ДОМ – "вход в дом"):

Перед вами входная дверь в дом торговца. Попробуете взломать задвижку – ??? (тест Взлома)
Или залезете на крышу и поищите вход на чердак – ??? (тесь Ловкости)

(допустим игрок выбрал Залезть на крышу – программа выдает ему Один из 10 -ти вариантов описания крыши):

Вы взобрались на крышу и стараясь не соскользнуть вниз, прошли в сторону слухового окна, что виднелось впереди...

(тут программа генерирует Случайность/Преграду из банка текстовок про "Крышу"):

Внезапно под вашей ногой трескается черепица и ваша нога проваливается внутрь чердака. Осколки черепицы громко скатываются вниз по настилу и падают на землю!
В доме поднимается переполох! Слышны крики слуг – "На крыше вор!"...Несите факелы!"...
Вы бросаетесь прочь из этого дома пока вас не поймали – ???
Или попытаетесь затаиться на крыше – ???

ВОТ примерно так я вижу процесс генерирования. Smile


_________________
Ситуация воспринятая, как "Реальная" - становится реальной по своим Последствиям
Герой легенд

Таро

Ну я говорю, Вы никакими белыми нитками не пришьёте универсальный "текст" подходящих для разных квестов (как я понял изначально).

Т.е. задание ниндзи – ограбить торговца, и эти же блоки текста использовать например в ограблении "лавки минотавра" вором.

Это будет как перевод ролевой игры через компьютерный переводчик.
"Мы здесь по причине отсутствия шляпы..."

Если же тебе нужен ситуативный вариант, тогда обычные средства редактора вполне помогают. И изобретать ничего не нужно.
Освой например редактор книг-игр брата Логгера "Я – мастер книг" там это просто сделать:

Блок информации:
Случайное число (1-4),
Вариант-1
Вариант-2
Вариант-3
Вариант-4
В зависимости от случ. числа комп выбирает развитие событий по выбранному варианту (Но обязательно каждый вариант расписан мастером вручную!). Как ты делал в "Чужие – старые враги".

Если же ты хочешь приниматься конкретно за браузерку, тут я не помощник. Нужен человек уверенно знающий один из сетевых языков программирования Java, PhP или dotNet.

В первую очередь необходимо продумать и сделать "движок" игры. Базовые принципы. И в нём предусмотреть функциональный редактор таких квестов. Кстати опять же функциональность "Я мастер книг" вполне подходит. Тут придётся только уговорить мастера Логгера дополнить редактор сетевыми возможностями. Как-то: сохранение персонажа в базе данных, связь между квестами и.т.д.

gudleifr
"...мозгового паразита, сдохшего на мозге Фрая."

Может так оно и есть, а мы персонажи из твоего воспалённого разума?


_________________
Я - Эргистал, игру не написал.
Меня убила лень и я устал.
Емелей на печи лежу я, как гиппопотам.
Кто хочет, дайте щукой мне по щщам.
Меценат

Эргистал- Цитата: Ну я говорю, Вы никакими белыми нитками не пришьёте универсальный "текст" подходящих для разных квестов (как я понял изначально).
Т.е. задание ниндзи – ограбить торговца, и эти же блоки текста использовать например в ограблении "лавки минотавра" вором.

Предплагается игровой Мир по одной ТЕМАТИКЕ (напримре только квесты для ниндзя).
Поэтому стыковать разные текстовые куски можно.
Это примерно как в игре "Чужие" – генерация События в локации (но там у меня было очень мало вариантов событий).
Но эта игра показывает, что сшивать такие куски текстов можно.

По моим прикидкам для маленького генератора квестов потребуется не так и много написать кусков текста – около 300-500.
А имея небольшой генератор из 500 текстовок можно его постепенно наращивать его Базу(библиотеку) новыми текстовками (без напряга).

В таком генераторе квестов гораздо проще участвовать ЛЮБОМУ автору, т.к. от него потребуется написать всего лишь пару абзацев для одного куска-ситуации.
А авторам самой Игры будет легко проверять такие небольшие блоки текстов на их совместимость с Игровой логикой. Это намного проще чем проверять совместимость написааного полноценного квеста (на 100 параграфов) с игровым Миром всей Игры.
Вот так Smile

Еще раз попробую уточнить идею.
Суть в том, что генерируемые квесты НЕ ДОЛЖНЫ как-то согласовываться с другими квестами.
Каждый квест это как бы ОДНА самодостаточная и законченная миниигра-история. Квест должен только логически согласовываться внутри себя.
А это сделать проще т.к. он собирается из ситуационных кусочков, которые выстроены в логическую цепочку – Место действия + НПС + Враги + Находка + Случайность (хотя последовательность этих элементов может быть и чуть иной).
Например: – Место Действия + Случайность + Враги + Находка + НПС (и т.п.) – иногда какой-то элемент повторяется в цепочке, а иногда какого-то элемента нет в цепочке квеста.

Генератор делается для генерирования квестов для браузерной игры. Игрок получает квест (разного Уровня сложности) и проходит его.
Прошел – получил Победные очки + находки Вещей или денег.
Провалил квест (условно погиб или бежал) – получи штрафные очки или ничего.

Герой легенд

По-моему, в русском языке подобная универсальность проблематична. Лучше сразу писать на английском. Razz


_________________
Граф Страд: Если долго сидеть на берегу реки, мимо обязательно проплывет труп ван Рихтена.
Дракон Златолюб: Другими словами, вы не в силах пересечь бегущую воду, но стесняетесь в этом признаться.
Меценат

Это не конкретное предложение/решение, а только размышление и поиск Smile

Поразмыслив над разными концепциями браузерки и механики генерирования квестов под игру, я пока вижу такие варианты:

1) большую часть игрового процесса занимают квесты-приключения игроков и незначительная часть игры – это внеигровые тусовки игроков (общение, кланоформирование, покупки и пр.);

2) большую часть игрового процесса наоборот – занимает внеигровое общение игроков, а квесты играются изредка (т.е. прохождение квестов имеет строго функциональное значение в общем игровом контексте);

Пока я больше рассматривал вар. №1 – где игроки играют в большое количество квестов.

Попробую прикинуть игровой процесс по вар. №2 – где браузерка построена на социальных моментах вне игры.

Итак.

Допустим у нас в браузерке есть кланы самураев и кланы ниндзя. Игрок может зарегистрироваться в любой из них.
Согласно Рангу игрока-героя он занимает в клане то или иное место в Уровне иерархии. Наверху сидит глава клана, ниже его генералы, ниже гвардия, ниже воины.
Аналогично и у ниндзя.

Основная игра происходит на глобальной карте мира (Япония) – границы кланов.
Суть взаимодействия кланов – дипломатия, шпионаж, войны.

Опция Квестов доступна только игрокам-ниндзя.
Этих квестов немного и они разбиты на типы:

1. освобождение пленника

2. похитить вражеского сановника

3. убить вражеского генерала

4. украсть предмет

5. собрать информацию

6. расследовать убийство или заговор

**Т.е. всего шесть квестов! Но каждый тип квеста каждый раз изменяется в своих блоках, чтобы каждый раз не повторяться по своему сюжету и событиям.

Вот тут-то и нужен генератор квестов.
Поскольку типов квестов немного, то к каждому квесту проще написать запасные блоки, которые и меняются. Игрок-ниндзя пройдя квест и затем начав проходить его повтороно – уже встретит в нем другое содержание.

Какую игровую функцию выполняют эти квесты в общем контексте игры?

Например - какой-то игрок-самурай клана заказывает клану ниндзя Покушение на другого самурая. За выполнение квеста этот игрок платит своими очками Рейтинга.
Ниндзя-игрок принявший этот заказ выбирает квест "Покушение" и если проходит его успешно, то получает Рейтинговые очки(плату), а игрок-самурай, которого "заказали" убить – объявляется погибшим! – и его рейтинговые очки уходят на счет Заказчика.

Какую функцию выполняет в игре квест "Украсть предмет"?Допустим мы вводим в игру список предметов Артефактов, которыми владеют разные самурайские кланы. Любой самурай может заказать у клана ниндзя выкрасть артефакт у другого самурая.
Если квест "Кража" выполнен – ниндзя получате плату очками Рейтинга, а самурай-Заказчик получает Артефакт.
Артефакты дают некие значимые бонусы своему владельцу в контексте игры (например право балотироваться на пост Главы клана самураев).


Какую функцию выполняет в игре квест "Освободить пленного"?Если ниндзя-игрок провалил квест, то автоматически попадает в виртуальную тюрьму к тому клану, против которого он действовал.
Но ниндзя его клана могут попытаться его освободить из тюрьмы. Для этого нужно успешно пройти квест – " Освободить пленного".

Аналогично можно принять заказ на квест – "Похитить вражеского сановника". При удачном прохождении заказанный вражеский самурай тут же попадает в плен к Заказчику-самураю и может быть отпущен на свободу или за выкуп или может быть освобожден ниндзей по квесту "Освободить пленного".

Что касается игроков-самураев, то они играют в борьбу за более высокий статус, вызывают соперников на дуэли, накапливают артефакты, и участвуют в массовых битвах с соседними самурайскими кланами (это отдельная игровая опция).


_________________
Ситуация воспринятая, как "Реальная" - становится реальной по своим Последствиям