Руководство TGE 4.2

ГЕНЕРАТОР КВЕСТОВ TGE 4.2.0

Разработчик: Компания “Elemental Games” (EG).
Игра: “Космические рейнджеры”

Содержание

  1. Назначение
  2. Генератор квестов
  3. Описание
    • Кнопка < I > — Информация по квесту
    • Параметры квеста
    • Назначение параметров
    • Отображение параметров
    • Строковые подстановки и выделенные слова
    • Размер зерна сетки
    • Переходы
    • Знак <%> — это статистика квеста
    • Локации и переходы
    • Создание и редактирование локаций
    • Создание и редактирование переходов
    • Псевдоцикличные переходы
    • Изменение значений параметров
    • Отображение значений параметров
    • Возможность жизни после смерти
    • Удаление локаций и переходов
    • Перемещение локаций и переходов по рабочему окну редактора
    • Поиск локаций и переходов
    • Знак тестирования (запуска) квеста
    • Скроллинг
  4. Лингвистические стандарты
  5. Полезные советы
  6. Тестирование квеста
  7. Примеры квестов в папке Quests
  8. Порядок приемки новых квестов
  9. Версия 4.2 НОВОЕ!!!

I. Назначение

В игре “Рейнджеры” игрок может получить задание выполнить квест. Каждый квест – миниатюрная игра в игре, правила которой задаёт автор.

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

На время выполнения квеста автор может посадить рейнджера на виртуальный корабль и отправить в текстовый полет. Он может словесно описывать сражения, перемещение во времени и прочее. Но в конце квеста составитель должен привести игрока к исходной точке (посадить назад на планету или убить), дабы не было разрывов в целостности игры. Составитель квеста может давать рейнджеру различные вещи и характеристики, но все это будет существовать только во время прохождения квеста! Т.е. квест – это нечто локальное, само в себе, и для игры важно только, пройден этот квест или нет. Единственное отступление от этого правила – банковский счёт рейнджера.

Порядок выполнения квеста всегда одинаков! Вот описание по шагам для всех квестов:

  1. Игрок заходит в здание правительства планеты ‘А’ и просит дать ему задание
  2. Ему дают задание, в котором говорится, что надо лететь на планету ‘Б’ и что-то делать
  3. Игрок летит на ‘Б’
  4. Совершив посадку на ‘Б’ игрок видит иконку “КВЕСТ”
  5. Игрок нажимает на кнопку и после этого переходит на экран прохождения квеста
  6. Игрок видит описания ситуации и выбирает предложенные ему пункты
  7. В итоге этого выбора он либо проходит квест успешно, либо проваливает его.
  8. Окно квеста закрывается. Игрок остаётся на планете ‘Б’. При этом если в квесте сказано, что он взорвал склад и отношение должно понизится к нему на 100%, значит на ‘Б’ его уже не любят.
  9. Игрок может лететь на планету ‘A’, выдавшую квест, за вознаграждением. При чем если в задании сказано, что он должен привести какую-то вещь в установленный срок, значит, он должен поспешить, иначе квест будет провален из-за сроков!
  10. По прилете на планету ‘A’ игрок заходит в здание правительства, где его поздравляют, и дают обещанную награду. Если же он в срок не уложился, то никакой награды не будет.

Квесты в нашей игре текстовые. Для каждого квеста будет написана музыкальная поддержка, а также будут нарисованы картинки по теме квеста, чтобы игроки лучше вживались в роль. Автор придумывает сценарий квеста. А его изображение, раскладывание по планетам и т.д. — это уже дело художников и программистов.

II. Генератор квестов

Данный генератор (tge.exe) представляет собой инструмент для создания этих текстовых квестов. Выходной формат файла *.qm

К редактору прилагаются:

  • Калькулятор для тестирования формул Calc.exe.
  • Плеер квестов QmPlayer.exe. В нем можно проигрывать свой квест и видеть его так, как его будет видеть игрок.
  • Программа для перевода и корректировки текста квестов QMTranslator.exe. С ее помощью можно выгрузить весь текст квеста в *.txt файл формата Unicode. А затем, проверив этот файл на ошибки, можно его загрузить назад в квест.
  • В папке Quest находятся примеры квестов, созданных в данном редакторе.

III. Описание

Вы просто запускаете файл TGE.exe и перед вами разворачивается чистая панель, на которой надо нарисовать квест. Вверху расположена панель инструментов, при наведении на которые выползают подсказки.

Кнопка <I> — информация по квесту

Здесь вы начинаете делать свой квест. Вы решаете, какая раса может дать данный квест, и на планету какой расы надо лететь. Также указываете, как изменится к игроку отношение на планете, где он этот квест выполнил. Также можно указать, кем должен быть рейнджер, чтобы ему дали это задание. Если вы укажете, что пиратом, то его дадут рейнджеру в том случае, если он будет заниматься пиратской деятельностью. Обратите внимание на текст задания и поздравления. Он должен звучать официально, так чтобы это преподносилось как планетарное задание.

Здесь же можно установить сложность квеста. В начале игры “Рейнджеры” игрок выбирает один из нескольких вариантов, от тренировочного до эксперта. Квесты с высоким уровнем сложности будут даваться только в сложном варианте игры. Уровень сложности лучше всего устанавливать, когда квест уже написан.

Обратите внимание на текстовые подстановки. Обязательными словами в тексте задания являются <ToStar>, <ToPlanet>, (<Date> или <Day>), в тексте поздравления — <Money>. Т.е. игрок должен знать, до какой даты, либо за сколько дней, он должен выполнить задание, и куда лететь его выполнять. Также он должен ясно представлять, сколько денег он получил за выполнение квеста. Остальные параметры необязательны и автор может их использовать для красоты.

Параметры квеста

Назначение параметров

В закладке “параметры” вы можете назначать и убирать различные параметры вашего квеста.
Параметры используются для задания численных характеристик в квесте (например: здоровье рейнджера: 100), в качестве флагов (флаг :0 – здесь не ступала нога человека, флаг: 1 – здесь был Вася), как служебные (например, число повторений ) или в других целях по желанию автора.

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

Например, задача рейнджера в квесте – зажечь в здании десять лампочек. Как только там станет достаточно светло, расчудесная сила извлекает рейнджера из здания, вручает ему предмет, за которым он явился и доставляет его в ангар, где стоит его корабль. В этом случае параметру “число зажжённых лампочек” можно присвоить тип “успешный” и установить критическое значение-максимум 10. Рейнджер бегает по зданию, включая лампочки. При включении очередной лампочки к нашему успешному параметру мы прибавляем 1. Как только параметр примет значение 10, игрок увидит сообщение об успешном включении всех лампочек, появлении расчудесной силы и т.д. При этом квест будет успешно завершён.

Параметр типа “провальный” используется так же, только наоборот. Например, рейнджер жонглирует 10 куриными яйцами на арене цирка. Выступление считается успешным, если будет разбито меньше половины яиц. Присваиваем параметру “число яиц” тип “провальный”. Устанавливаем критическое значение этого параметра 5. В процессе выступления число яиц уменьшается. Если их станет 5, выполнение квеста прерывается, появляется сообщение о том, что выступление неудачное, в рейнджера летят тухлые помидоры и банки из-под пива, он убегает в направлении космодрома, задание не выполнено.

Пример использования “успешного” и “провального” параметров – в квесте “Лодка” boat.qm из папки примеров Quests\Game. Это, соответственно, параметры Справа и Время.

Достижение критического значения “смертельным” параметром в большинстве случаев означает гибель рейнджера и окончание игры. При этом также выдаётся сообщение с художественным описанием трагической кончины героя. “Смертельным” параметром может быть здоровье рейнджера, целостность его боевой машины, описанной в квесте и т.д. Пример использования параметров Здоровье и Авторитет как “смертельных” можно увидеть в квесте “Тюрьма” Prison.qm в папке примеров Quests\Example.

Для каждого параметра нужно установить минимальное, максимальное, а также начальное значение. Начальных значений может быть несколько. В этом случае они перечисляются через точку с запятой. Можно также указать диапазон в квадратных скобках.

Пример строки начальных параметров:
10; 25; 50; [66..100]; 200; 500

Начальное значение параметра выбирается из указанных случайным образом.

Если установить чекбокс “Является деньгами игрока”, то с изменением параметра будет меняться состояние банковского счёта рейнджера. Рейнджер в квесте может давать взятки, покупать билеты на различные мероприятия, играть в азартные игры, зарабатывать деньги и т.д.

В этом случае начальное значение параметра в игре устанавливается равным сумме на счету рейнджера. Значение, установленное автором квеста, игнорируется и используется только для тестирования.

Для данного параметра необходимо устанавливать минимум в 0, а максимум от 100 до 10000. При операциях следует придерживаться следующих цифр: Маленькая сумма: 10cr, Небольшая 100 cr, Средняя 500 cr, Большая 1000 cr, Очень большая 5000 cr. Так что если игрок получит сумму в размере 250 монет, то на эти деньги он сможет купить самое плохое оборудование, а 5000 cr хватит на очень даже приличную вещицу.

Отображение параметров

Вкладка “Формат вывода при игре (по диапазонам)” управляет выводом параметров во время прохождения квеста. Здесь можно установить количество диапазонов вывода в зависимости от значений параметра. В каждом из диапазонов можно установить свой способ отображения параметров. При этом можно:

  • скрыть параметр. Для этого следует оставить строку вывода пустой. Часто требуется отображать значения параметра, кроме нулевого. Для этого есть радиогруппа “Показывать при нуле” во вкладке “Основные характеристики”.
  • не указывать значения параметра. Например, для диапазона 0..5 написать “Хиляк”, а для 6..10 – “Качёк”.
  • указать значение параметра. Например, установив число диапазонов 1, написать: “У вас <> патронов”. В игре и при тестировании вместо угловых скобок будет подставлено текущее значение параметра.
  • указать значение нескольких параметров. Для этого используются подстановки типа [p1], [p2], [p3] и т.п. В игре они будут заменены значениями соответственно первого, второго, третьего параметров. Например, если параметр 1 – голы, забитые нашей командой, а параметр 2 – голы, забитые соперником, то можно первый параметр отобразить как “Счёт матча [p1] : [p2]”, а второй не отображать, оставив строку пустой.
  • использовать подстановки — арифметические выражения. Выражения пишутся в фигурных скобках. Например, параметр [p5] “Патроны к автомату” можно отобразить так: “Осталось {([p5] div 30)+1} рожков с патронами”. Если это выражение используется в строке параметра [p5], то его можно написать так: “Осталось {(<> div 30)+1} рожков с патронами”. При выполнении квеста вместо <> будет подставлено значение [p5].

Строковые подстановки и выделенные слова

Служебные слова <Ranger>, <ToPlanet>, <ToStar>, <FromPlanet>, <FromStar> можно подставлять в любое место квеста. Даже в название или строку вывода игрового параметра, а также в вопрос перехода. Т.е. если в тексте вы пишете “Я, <Ranger>, прилетел с планеты <FromPlanet>”, то в игре игроку будет написано предложение типа “Я, Вася, прилетел с планеты Будокан”. При тестировании квеста эти слова неизвестны, поэтому автор вписывает любые, угодные ему слова, чтобы при тестировании видеть уже подставленные названия. В игре эти слова игнорируются и заменяются на реальные.

Кроме этого, можно вставлять в любой текст текущую дату. Для этого используется служебное слово <CurDate>. Вместо него игрок будет нечто вроде “13 января 3002 года” (а не 18 марта 2002 года, как подумали некоторые).

Строковыми подстановками являются также значения параметров квеста и вообще любые арифметические выражения, заключенные в фигурные скобки {}.
Скажем, у вас есть параметр, характеризующий количество денег в кармане [p1]. Значит, в любом месте квеста можно писать:

К вам подошла красивая девушка и за определенные услуги попросила немного денег. Какую часть от своих [p1] cr вы ей отдадите?”

  • Всё что есть, [p1] cr
  • Половину, {[p1]/2} cr
  • Треть, {[p1]/3} cr
  • Ничего

Конечно, желательно немного заплатить. Ведь не зря она так старалась! 😉

В другом примере можно написать в описании локации ( [p1] – местное время в минутах ):

“Время уже {[p1] div 60} часов {[p1] mod 60} минут. Может, пора проснуться? Великие дела уже заждались!”.

А параметр можно отобразить такой строчкой (в строке [p1]):

Время: {<> div 60}часов {<> div 60}минут

Некоторые, особо важные слова и фразы в квесте можно выделять с помощью тега <clr>текст, который необходимо выделить<clrEnd>. То, что попадёт между тегами, при тестировании и в игре будет выделено цветом вот так: текст, который необходимо выделить. Цвет выделения в редакторе синий, а в игре жёлтенький. Такие выделения повышают читаемость квестов.

Кроме того, есть ограничения:

  • вложенные теги не поддерживаются
  • значения параметров в тексте типа [p1] и стандартные подстановки типа <Ranger> выделяются тегами автоматически, поэтому их нельзя помещать внутри выделений <clr><clrEnd>.

Размер зерна сетки

От этого зависит, насколько далеко друг от друга будут располагаться локации. Это значение вы сможете уменьшить в любой момент, но увеличить его не получится. Чем больше у вас будет локаций, тем меньший размер сетки вам понадобится.

Переходы

Для квеста можно установить проходимость перехода по умолчанию (0 – переход можно проходить бесконечное число раз) для удобства создания квеста. Конкретное число зависит от специфики квеста и желания автора.

Знак <%> — это статистика квеста

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

Вам решать, насколько большим и сложным будет квест. И тут нет никаких рекомендаций. Главное, чтобы квест затягивал и стимулировал повторное прохождение. Каждое безуспешное прохождение квеста должно учить его чему-либо. С каждым неудачным прохождением игрок должен иметь все больше и больше шансов пройти квест в дальнейшем.

Работу статистики можно посмотреть на примере квестов Boat.qm и Gladiator.qm

Локации и переходы

Любой квест состоит из локаций и переходов. В локациях игрок оценивает игровую обстановку. Он читает текст-описание и, как правило, думает, что ему делать дальше. Затем игрок выбирает один из переходов, который ведёт его к следующей локации.

В игре это выглядит примерно так:

______________________________________________

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

______________________________________________

  • Встать в конец очереди
  • Силой влезть в начало очереди
  • Обменять место в очереди на леща
  • Купить место в очереди за деньги

______________________________________________

Одна из локаций является начальной: с неё начинается действие квеста. Конечных локаций, где квест заканчивается, может быть несколько (в том числе ни одной, как квесте Boat.qm). При этом конечные локации, подобно критическим параметрам, могут быть успешными, провальными или смертельными.

Группа из четырёх кнопок левее кнопки “I” позволяет создавать, удалять и перемещать по рабочему окну редактора локации и переходы.

Создание и редактирование локаций

Убедитесь, что кнопка “Создать новую локацию” (с изображением белого кружочка) нажата, после чего кликните в любом месте рабочего окна редактора. Тотчас появится окно редактирования локации, где вы можете поместить до десяти текстовых описаний. При первом прохождении локации игрок будет видеть одно из описаний, при следующем – другое. Порядок следования текстов-описаний можно установить радиогруппой “Выбирать по порядку” или “Выбирать по формуле”. Формула пишется в текстовом поле правее радиогруппы. В качестве формулы можно указать:

  1. диапазон. Например [1..7]. В этом случае описание локации выбирается случайным образом.
  2. ничего не писать. Оставить пустое поле. И в этом случае описание локации выбирается случайно.
  3. выражение. В том числе достаточно сложное, с использованием значений параметров. Например, если вам в одной и той же локации нужно для разных значений параметра [p1] показывать разные описания, это можно сделать, написав в поле формулы [p1] или, если есть необходимость, более сложное выражение.

Например, если [p1] – деньги рейнджера, то в одной из локаций можно написать формулу [p1]>0. Тогда в описании №0 можно смело писать “У вас кончились деньги…” (логическое выражение равно 0), а в описании №1текст, подразумевающий, что деньги ещё остались (логическое выражение равно 1).

Несколько описаний для одной локации следует применять, если игрок попадает в неё больше одного раза. Это сделает квест разнообразнее.

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

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

Если установить галочку в чекбоксе “Прошёл один день”, то при прохождении локации для игрока пройдёт один игровой день.

Галочка, установленная в чекбоксе “Локация пустая” означает, что текст локации будет показан только в том случае, если в неё ведёт переход без описания (см. Создание и редактирование переходов).

В правом нижнем углу окна редактирования локации есть две кнопки: “Готово” и “Отменить”. Если кликнуть на одну из них, окно редактирования закрывается, и новая локация либо появляется в рабочем окне редактора (кнопка “Готово”), либо не появляется (кнопка “Отменить”). Локации в окне редактора выглядят как кружочки. Цвет кружочка зависит от того, какая это локация: начальная, обычная, успешная или провальная.

Чтобы редактировать уже установленную локацию, нужно щёлкнуть по ней правой кнопкой мыши. Кнопка “Готово” сохранит сделанные изменения, а кнопка “Отменить”, соответственно, отменит.

Создание и редактирование переходов

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

Максимально допустимое число переходов, соединённых с одной локацией: 50.

Для создания перехода нужно, убедившись, что нажата кнопка “Создать новый переход” (на ней изображена стрелочка), нажать левую кнопку мыши на одной локации, и отпустить на второй. При этом открывается окно редактирования перехода.

В верхнем текстовом поле следует указать вопрос для совершения перехода.

Примеры вопросов:

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

Переход может сопровождаться описанием, как в локации. Это называется “Сообщение, выводящееся при выполнении перехода”. Применение описаний в переходах позволяет уменьшить количество локаций, сделав квест компактнее. Однако после каждого из таких описаний выводится вопрос “Далее”, который, как правило, не украшает квест.

К счастью, вопрос “Далее” после описания в переходе выводится не всегда. Если локация, в которую идёт переход с описанием, помечена как пустая (см. создание и редактирование локаций), то описание такой локации заменяется описанием перехода и “Далее” игроку нажимать не надо.

Переходы также могут быть пустыми. Пустой переход можно создать, полностью удалив (если он был) текст из текстового поля “Вопрос для совершения перехода”. Такой “переход без вопроса” выполняется самостоятельно, без участия игрока, если все обычные переходы с вопросами недоступны или их нет. Текст локации, из которой выходит пустой переход, игнорируется. Пустые переходы можно использовать в сложных по структуре квестах, когда требуется пройти несколько локаций одним кликом. Пустые переходы, как и обычные, могут иметь описания.

Доступность перехода зависит от логических условий, числа прохождений и вероятности прохождения перехода.

В каждом переходе может быть одно обобщённое логическое условие и несколько частных условий по каждому из параметров. Обобщённое логическое условие записывается в специальной длинной строке под описанием перехода. В ней можно написать, например, такое выражение

[p1] >= ([p2]+1) * [p15]/[p7]

В квадратных скобках — значения параметров по порядку: первого, второго, пятнадцатого, седьмого. Результат выражения должен быть логической величиной. Подробнее о выражениях см. operation.doc.

Допустим, в квесте у нас используются следующие параметры:

Патроны [p1], Ружье [p2], Убитые Зайцы [p3], Живые Зайцы [p4]:

  1. “Если патронов больше 30 и есть ружье” – ([p1]>=30) and ([p2]=1) – “то стреляем!”
  2. “Если убитых зайцев больше 80” – ([p3]>80) — “то идем на выход”
  3. “Если патронов хватает на зайцев и есть ружье” – ([p1] in (0 to [p4]) and ([p2]=1)) — “то продолжаем охоту”
  4. “Если убитых зайцев 3 или 5, а живых 4 штуки” – (([p3] in [3,5]) and ([p4]=4)) — “то идем перекусить”

Частные условия задаются для каждого из параметров. Для каждого параметра можно задать диапазон значений, при которых будет выполняться переход, значения, которые должен (или не должен) принимать параметр. Также можно указать значения, которым должен (или не должен) быть кратен параметр. Обратите внимание на кнопки-переключатели с изображением обратных стрелок, переключающие условие “Принимает значения” и “Не принимает значения”, а также “Кратно значениям” и “Не кратно значениям”.

Переход будет доступен только в том случае, если все логические условия, обобщённое и частные, будут выполняться.

Кроме этого существует проходимость и приоритет переходов.

Проходимость означает число прохождений по этому переходу. Например, если установлена проходимость 3, то переход можно пройти три раза, на четвёртый он будет недоступен. См. ниже подраздел Псевдоцикличные переходы.

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

Приоритет влияет на вероятность прохождения перехода. Обычно приоритет применяется для спорных переходов. Спорные переходы – это несколько доступных переходов с одинаковыми вопросами совершения перехода, выходящих из одной локации.

Например, рейнджер купил пирожок с вишней. Из десяти пирожков, имеющихся у продавца, один был с косточкой. Рейнджер может сломать себе зуб с вероятностью 0.1.

Описывается это так: из локации с описанием продавца и его пирожков выходят два перехода с одинаковыми вопросами “ — Купить пирожок”. Один из них ведёт в локацию “Вы сломали зуб!”, другой – в локацию “Сказочно вкусный пирожок!”. Это и есть два спорных перехода. Игрок выбирает вопрос “ — Купить пирожок”, после чего попадает в одну из двух локаций. Чтобы вероятность купить пирожок без косточки была в 9 раз больше вероятности купить пирожок с косточкой, нужно установить приоритет первого перехода 1, а второго 9.

Можно установить приоритет первого перехода 0.1, второго 0.9, или первого 2, второго 18. В этом случае имеет значение только соотношение приоритетов переходов.

Если приоритет одного перехода более чем в 100 превышает приоритет другого перехода, то второй переход отбрасывается, выбывая из борьбы. Тем самым гарантируется 100% выбор именно конкретного перехода. К примеру, если есть четыре перехода, из них три имеют приоритет 1 (или 0.03), а четвертый 100 (или 3), то со 100% вероятностью именно четвертый переход будет выбран.

Иногда имеет смысл устанавливать приоритет перехода меньше единицы не только для спорных переходов. Тогда вопрос такого перехода появляется не всегда. Если, например, установить приоритет обычного перехода 0,5, то игрок сможет увидеть и выбрать такой переход только в половине случаев. Использовать такие переходы следует с осторожностью, для каждой локации (кроме успешных и провальных, разумеется) предусматривая хотя бы один доступный при любых условиях переход.

Примером использования спорных переходов может служить квест Ivan.qm из папки примеров Example. Запустив его несколько раз, вы можете видеть, как меняется судьба героя, бросающего кубик. Иногда появляется альтернативный вариант “Вдруг, откуда ни возьмись…”, реализованный с помощью неспорного перехода с приоритетом, меньшим 1.

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

Например, мы имеем следующий набор переходов:

  • купить гладируса (порядок 3)
  • купить панобчика (порядок 7)
  • купить гридумца (порядок 7)
  • купить бропилюка (порядок 8 )
  • выйти из зоомагазина (порядок 9)

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

Если установить галочку в чекбокс “Всегда показывать”, то вопрос перехода будет видимым независимо от того доступный это переход или нет. Игрок сможет видеть недоступный переход, но выбрать его не сможет. Это можно использовать для подсказки, что переход мог бы быть доступным, если бы игрок предварительно совершил какие-то действия. Например, если игрок видит вопрос перехода “Открыть дверь ключом” и не может этого сделать, то, очевидно, где-то ранее он должен был найти ключ (или дверь).

Пример такого рода можно увидеть в квесте Gladiator.qm: “Вы решаете, что сил у Йцохена слишком мало. Идете к Гроку и шантажируете его, обещая рассказать, о том, что он принял ваш подарок до начала соревнований”.

Тем самым, первое прохождение дает игроку понятие, что он мог бы совершить этот переход, если бы сделал Гроку подарок. Следует активно использовать эту возможность, чтобы игрок ЗНАЛ о возможных альтернативных путях!

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

В окне редактирования перехода также имеются кнопки “Сохранить” и “Отменить”, позволяющие, соответственно, установить новый переход (сохранить изменения при редактировании) или отказаться это делать (отменить сделанные изменения).

Если редактируется спорный переход, появляется ещё одна кнопка “Следующий”, позволяющая перейти к редактированию другого спорного перехода. Эту кнопку удобно использовать в случаях, когда требуется внести одинаковые изменения во все спорные переходы, исходящие из одной локации.

Псевдоцикличные переходы

В редакторе можно делать циклы. Пользуйтесь ими, но с осторожностью, поскольку они здорово усложняют квест. Настоятельно рекомендуется не пользоваться переходами назад лицам без опыта создания квестов.

Есть, правда, один интересный момент, сделанный специально, чтобы считать статистику. Если установить проходимость перехода 1, то при возврате в точку, где уже игрок побывал, ему не покажется вариант пути, куда он уже ходил. Т.е. ходить по кругу будет невозможно и следовательно число вариантов развития квеста у нас всегда конечно. Благодаря этому мы всегда с уверенностью можем гарантировать проходимость квеста. Отсюда правило: Игрок не может совершить одно действие дважды. Для примера, к редактору прилагается простейший квест SemiRing.qm.

Если же установить число прохождений перехода больше 1, игрок сможет проходить по одному переходу N раз. Т.е. возможно создание настоящего зацикливания, когда игрок будет ходить по кругу. Но когда игрок все же пройдет данный переход N раз, то более переход показываться не будет. Так что число вариантов развития квеста остается теоретически конечным. Для примера, к редактору прилагается квест FullRing.qm, который является усложнением квеста SemiRing.qm.

В квесте Fridge.qm из папки примеров Example приведён пример использования цикла пустых переходов для того, чтобы пропустить несколько игровых дней. Здесь “Прошёл один день” используется как в локации, так и в переходе. Проходимость переходов в цикле установлена бесконечной. Выход из цикла осуществляется при достижении счётчиком дней числа 30. Используя такие циклы в квесте, следует быть предельно осторожным, чтобы не допустить зависания.

Изменение значений параметров

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

Способ “Единицы” позволяет прибавить к значению или вычесть из значения параметра целое число.

Способ “Проценты” при сложении и вычитании использует вместо чисел процентные соотношения.

Способ “Значение” позволяет присвоить параметру фиксированное целое значение.

Способ “Выражение” позволяет использовать сложные арифметические и логические выражения.

Выражения для вычисления значений параметров могут быть очень сложными. Операции, участвующие в выражении, могут быть такими: /, div, mod, *, -, +, to, in, >=, <=, >, <, =, <>, and, or. Познакомиться с ними подробней можно в файле operation.doc. Чтобы явно установить приоритет операций, пользуйтесь скобками, как это и принято в математике. Помните, что при делении на 0 параметр принимает максимально возможное значение.

Вы можете использовать в вычислениях логические выражения. Если результат логического выражения ИСТИНА, то это значит 1, а ЛОЖЬ значит 0. Пример: (4<6)*7 – получится 7, а (4>6)*7 – получится 0.

При вычислениях можно использовать диапазоны. Диапазоны в редакторе очень мощные, при вычислениях работают как RND, а при логической операции проверки на диапазон in они просто обычные диапазоны. К примеру, вам нужно загадать параметру [p1] число в диапазоне от 1 до 100 и при этом не равное 50 и 99. Вы пишите в строке выражения для данного параметра: [1..49;51..98;100]. При этом число выберется случайным образом.

В таких диапазонах нельзя использовать значения параметров, а только числа разделенные “;”.

Тем не менее, есть операция “to”, которая позволяет создавать простые диапазоны без всяких скобок. Т.е. вы можете написать в значение параметра [p1] следующее: 1 to 2. При этом каждый раз [p1] будет принимать случайное значение от 1 до 2. В данной операции можно использовать и параметры, т.е. писать [p2] to [p8].

Чтобы протестировать свои выражения, можно запускать программу Calc.exe. В нем можно кликать прямо на формулы примеров и смотреть результат. Так, многократно покликайте на строчку [1..64] и вы увидите, как начнет работать псевдослучайная функция RND и меняться значение от 1 до 64.

Операция in – это операция проверки входа в диапазон.

Арифметические операции в логических условиях также можно использовать. Если результат вычислений отличный от 0, то получается ИСТИНА. При 0 получается ЛОЖЬ. Выражение: ((-2*3) and (1<2)) будет ИСТИНА, т.к. значение операндов ИСТИНА.

Отображение значений параметров

Во время игры значения параметров отображаются в специальном поле. Формат, в котором выводятся значения, описан в разделе “Кнопка <I> — информация по квесту”. В любой локации и любом переходе можно с помощью радиогруппы “Не трогать; Скрыть; Показать” запретить отображение параметров в специальном поле, вновь разрешить отображение или ничего не менять.

В тексты локаций и переходов можно вставлять значения параметров, используя условные обозначения параметров [p1], [p2], [p3] и т.п., а также выражения в фигурных скобках (см. раздел “Кнопка <I> — информация по квесту”).

Сообщения о достижении параметрами критических значений для каждой локации или перехода можно использовать свои. Для этого нужно выбрать нужный параметр и отредактировать текст критического значения.

Возможность жизни после смерти

Если в локации один из параметров достиг критического значения, но из этой локации ведет переход с диапазоном параметров, допускающим такое значение, то конец квеста не наступает, и игра продолжается. Эту возможность демонстрирует квест Ivan.qm. В нём параметр “здоровье Ивана” принимает критическое значение, но квест на этом не заканчивается.

Удаление локаций и переходов

Чтобы удалить локацию или переход, кликните сначала на кнопке с изображением ластика (хотя кое-кто может подумать, что это кирпич), затем по локации или переходу. Затем подтвердите ваши намерения, нажав кнопку “Yes”, и ненавистная локация или переход будет стёрта с рабочего окна редактора.

Перемещение локаций и переходов по рабочему окну редактора

Локации и переходы можно двигать и переназначать. На панели инструментов есть специальная кнопка. Локации можно просто переставлять с места на место и переходы будут перемещаться за ними. И переходы тоже можно двигать! Для этого нужно подвести курсор мыши к переходу и, нажав левую кнопку мыши, вести курсор к той локации, куда вы желаете переназначить переход. Вы можете переназначать как начало перехода, так и конец, в зависимости от того, за какую половинку перехода вы возьмётесь. Также можно создавать копии локаций и переходов. Для этого в редакторе следует выбрать режим передвижения локаций/переходов и удерживая SHIFT перетащить на новое место. Вы получите копию локации/перехода. При этом все тексты и параметры в них будут одинаковы.

Поиск локаций и переходов

Это кнопка слева от <I>. Нажав на неё, вы увидите окно поиска. Выберите, что вы хотите найти, локацию или переход и укажите номер искомого объекта. После нажатия кнопки “Выполнить” курсор мыши будет наведён на нужную локацию или переход.

Особенно полезна эта кнопка тогда, когда Вы получаете рецензию на свой квест (особенно первую). В ней частенько можно увидеть фразы типа: “В локации L90 обнаружен глюк”. С помощью кнопки поиска можно быстро найти локацию или переход и устранить ошибку.

Знак тестирования (запуска) квеста

Зеленый треугольник – знак тестирования квеста. Клавиша F9.

При тестировании вы сможете делать откат 1000 последних действий. Если у вас есть циклы и прошло более 1000 действий, то откат назад станет невозможным.

Варианты ответов будут всегда следовать в соответствии с порядком показа (см. раздел “Локации и переходы”, подраздел “Создание и редактирование переходов”).

Скроллинг

Нажав кнопку на правом краю панели инструментов, можно перейти в режим скроллинга. Подведите курсор мышки к правому или нижнему краю экрана – схема квеста поползёт в противоположную сторону. Подобным образом можно перемещать схему квеста в любую сторону. Скроллинг позволяет несколько расширить рабочее окно редактора, что полезно при создании гигантских квестов J

IV. Лингвистические стандарты

  1. Обращение к игроку ведется от второго лица, с использованием местоимения “вы” с маленькой буквы. То есть, игрок читает подобный текст

Вы стоите на улице, перед вами три дома и один полицейский.

  1. Заголовки переходов (пунктов, один из которых должен выбрать игрок), не имеют в конце точки. Это так даже в том случае, если предложений больше, чем одно. Например:
  • Идти направо
  • Идти налево
  • Спуститься в канализационный люк. Там должен быть черный ход, ведущий наружу

Остальные типы текстов (описания локаций и комментарии переходов) строятся со стандартным синтаксисом.

  1. Когда в пунктах выбора находятся реплики (речь игрока), они пишутся без всяких кавычек или тире (все пункты автоматически имеют в начале тире).
  2. Содержание вопросов переходов должно быть функционально однородным, т. е., все пункты должны быть либо действиями, либо репликами. Например:
  • Атаковать охранника палкой
  • Выстрелить в охранника из парализатора
  • Попросить охранника мирно сдаться

НЕЛЬЗЯ заменять третий пункт на такой, например:

  • Друг, будь добр, сдай оружие и уступи дорогу, иначе сам пожалеешь

Но эту реплику хорошо поместить в комментарий перехода.

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

Конечно, теоретически возможна ситуация, когда требуется или крайне желательно совместить действия с репликами. В таком случае следует начинать предложение с инфинитивной конструкции, после чего через двоеточие помещать реплику в кавычках:

  • Прокричать с микрофон: “Все на выход, в здании заложена бомба!”

V. Полезные советы

1. В редакторе есть UNDO. Вы можете возвратиться на достаточно большое число шагов назад и вперед. Но несмотря на это советую почаще сохраняться, причем каждый раз прибавлять к имени файла цифру, чтобы иметь возможность вернуться в любую из прошлых версий.

2. В редакторе есть настройки. Настройте себе цветовую гамму редактора. Расположите окно подсказки в удобном для вас месте и укажите, каким ему быть: статичным или всплывающим. Там же можно настроить вид параметров в окне подсказки, рабочее название (например, Настроение ), “системное название” (порядковый номер параметра, например [p4] ) или объединённое ( оба вместе: [p4] (Настроение) ).

3. Не беритесь сразу за сложный квест. Для начала напишите небольшой квест из 10..20 локаций. Т.е. учитесь пользоваться редактором потихоньку. При создании маленького квеста вы получите необходимый навык и уже не повторите старых ошибок, когда будите делать что-то более сложное. Перед тем как садиться за редактор, полезно на листочке бумаги продумать весь квест, его структуру и прикинуть примерное число локаций. Квесты писать — это совсем не плёвое дело, как может показаться на первый взгляд.

4. Пользуйтесь формой статистики по локациям и переходам.

Если у вас в переходе параметр квеста выделен красным цветом, значит, в данном переходе из-за этого параметра игрок может проиграть, а если зеленым, то выиграть. Если параметр квеста черный, то значит в данном переходе ни проигрыша, ни выигрыша не произойдет. Если включена статистика, то на форме внизу можно увидеть некие цифры типа “45->8”. Это означает, что через данную локацию/переход ведет 45 путей, и 8 из них являются успешными. Также на этих формах для локаций показывается диапазон значений параметров и имеющихся предметов, а для переходов динамика изменений параметров и предметов.

5. При редактировании основных свойств квеста (кнопка “I”) можно менять параметры местами! Для этого используйте правую кнопку мыши. Кликните поочерёдно по строкам параметров, которые хотите поменять местами. Строки поменяются, и все ссылки на параметры тоже. Например, если строка параметра была второй, и параметр описывался в выражениях и текстовых подстановках как [p2], то при переносе строки на пятую позицию все [p2] в квесте поменяются на [p5].

VI. Тестирование квеста

Можно тестировать квесты:

1. В самом редакторе квестов. В редакторе можно совершать ходы назад, видеть все спорные переходы. Кроме этого в редакторе переходы не перемешиваются и выводятся всегда в одинаковом порядке. Т.е. все сделано для удобства тестирования логики квеста.

2. В специализированном плеере. Чтобы увидеть квест глазами игрока, надо запустить специальный плеер квестов QmPlayer.exe, прикладываемый к редактору. Для примера вы можете загрузить в плеер квест Ivan.qm, в котором главный герой кидает кубик, чтобы определить свою судьбу.

3. В самой игре. На заставке игры нажмите CTRL+SHIFT+Q. В появившемся списке можно выбрать любой квест из игры.

VII. Примеры квестов в папке Quests

В папке Example:

Ivan.qm — Маленький пример демонстрирует ситуацию жизни после смерти. Овладев этим приемом, можно оживлять погибших персонажей, обрабатывая исключительную ситуацию.

Квест Ivan.qm также демонстрирует способ создания случайного перехода на основе нескольких спорных переходов — главный герой кидает монетку, чтобы определить свою судьбу.

Jump.qm — Небольшой, но забавный пример, демонстрирующий работу с выводом параметров и использованием диапазонов параметров.

SemiRing.qm — Маленький пример с демонстрацией квеста, содержащего полуциклы. Служит примером того, что игрок не может ходить по кругу вечно.

FullRing.qm — Маленький пример с демонстрацией квеста, содержащего цикличные переходы. Служит примером того, что игрок хоть и не может ходить по кругу вечно, но зато может много N раз ходить по одному и тому же пути. Этот пример является усложнением квеста SemiRing.qm.

Fridge.qm — Очень маленький квест с циклом из пустых, бесконечно проходимых переходов.

В папке Game:

Prison.qm — Этот квест нестандартный, в нем нет текста задания, поздравления, и самое главное, что провал этого квеста расценивается как побег с планеты. Ко всем остальным квестам это все конечно не относится. Просьба на него не равняться, а принять только как пример, достаточно полно раскрывающий логические возможности редактора. Хотя, следует заметить, ещё не создан такой квест, в котором использовались бы все возможности редактора.

А также все остальные квесты из проекта КР. Всего 26 шт.

VIII. Порядок приемки новых квестов

Любой квест созданный в данном редакторе можно подключить к КР с помощью специальной программы AddQuest. С помощью AddQuest вы сможете подключить картинки к своему квесту, назначить предметы вознаграждения и сохранить это все в одном квесте-проекте. Созданный проект квеста можно отсылать другим игрокам и они легко смогут подключить ваш квест-проект к своей игре. Программу AddQuest можно взять тут.

В настоящее время сертификация квестов не проводится

VIV. Версия 4.2.

Сделано 48 параметров!!! При загрузке старых квестов можно использовать все 48 параметров. Квесты, сохраненные в новом формате 4.2.0 невозможно подключать к игре КР1. Точнее с помощью программы AddQuest.exe подключить можно, но игра будет вылетать при выборе подключенного квеста в новом формате.

Желаем успехов!

Компания “Elemental Games”

www.ElementalGames.com

———————————————————————

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *