|
Данный материал является собственностью сайта "Клуб Адвантюристов" и не может быть использован на других ресурсах без указания авторства и ссылки на этот сайт!
© Larisalisa
<<< НАЗАД
01. Передвигаем игровые фишки по полю ADRIFT-Генератора.
Небольшие ценные замечания по работе в ГЕНЕРАТОРЕ.
Информация пополняется, так что следите за обновлениями!
Фишка 01. | Задаем task'и для всех нужных в игре глаголов по следующему образцу: |
|
Поле Description:
взять %object%
Взято: %object%.
Все подобные задачи располагаем НИЖЕ ВСЕХ ОСТАЛЬНЫХ!
Программа читает task'и сверху вниз, поэтому если у Вас задача "взять помидор"
расположена выше задачи "взять %object%", на введенную игроком команду "взять помидор"
ADRIFT отреагирует именно задачей "взять помидор", а не "взять %object%".
Поменяйте местами задачи, и увидите, что получится.
Вывод: все важные задачи располагаем как можно выше второстепенных.
То же и с глаголами "снять". Сначала "снять комнату", а ниже - "снять %object%" (одежду).
|
Фишка 02. | Разные варианты одной и той же вводимой игроком команды. |
|
Это то, что Вы прописываете в окне редактора задач на вкладке "Description --> What the user must type".
Здесь та же схема: чем выше, тем важнее для интерпретатора (не для Вас).
|
Фишка 03. | Лечим слепоту. |
|
ADRIFT-Генератор "не видит" букв "б","х", "ю" и "я" на конце слов. Поэтому прописывайте задачу как, например, "взять свин*", а не "взять свинью".
В первом случае программа поймет игрока, даже если он введет команду "взять свинку" или "взять свинюшку".
|
Фишка 04. | Апострофы - наше все! |
|
Используйте апострофы (знак *) как можно активнее!
см* - СМотреть - программа поймет и "см", и "смотреть"
осм* - ОСМотреть - "осм" и "осмотреть"
*лезть - это и Влезть, и ЗАлезть, и ПРОлезть, и ПОДлезть, и лезть - соответственно
*есть - и есть, и СЪесть, и ОТЪесть, и ЗАесть
Апострофы подразумевают любые буквы и/или пробелы.
Задача "вынуть горшок **" выполнит и команду "вынуть горшок из печки", и "вынуть горшок с картошкой".
|
Фишка 05. | По два описания у объектов. |
|
Описания объектов даем задачами, используя глагол осм*
Если требуется два описания: первый раз посмотрел, потом еще раз посмотрел - описание изменилось, можно задействовать функцию =reversible= в окне задачи, то бишь не ставить галочку в строке =Repeatable task= и второе описание вводить в поле =Message if task tried again=
Все Ваши объекты получат по два описания!
Захотите описаний больше - зовите на помощь переменные и словарь!
|
Фишка 06. | Упрощаем работу. |
|
Минимализируем перевод системных команд. Переводим только очень уж нужные (направления, сохранить, загрузить, инвентарь, смотреть). Пример реализации см в игре "Демонстрация "Красная Ушаночка".
Это поможет избежать многих ситуаций, когда программа начинает выдавать английские фразы об ошибках. К примеру, если у Вас в игре не прописан глагол "прыгать" или "свистеть" (не нужны они Вам по сюжету), Вам не нужно будет переводить в словаре совершенно дебильные фразы, если игрок все-таки решил попрыгать или издать свист!
Вместо этого Ваша в разы "поумневшая" игра ответит ему фразой, прописанной Вами в окне "Options --> Message when command not understood". Тем самым и игрок поймет, что прыгать и свистеть не стоит. Коли же прыгать в Вашем творении все-таки нелишне, заводите ту же задачу или несколько: одну для всех локаций, где прыгать бесполезно, и все остальные, где это действие дает какой-то ощутимый результат!
Если же Вам хочется, чтобы Ваша игра реагировала и на те глаголы, которые не требуются для ее прохождения, то бишь стала "шире", - флаг в руки - волшебное трио "задачи, переменные, словарь" сотворят для Вас чудо динамизма!
Вот мой набор системных переводов для обычного квеста (без системы боя):
inventory = инвентарь
inv = инв
north = север
south = юг
east = восток
west = запад
help = помощь
hint = намек
history = история
last = снова
restore = загрузить
save = сохранить
score = счет
undo = отменить
wait = ждать
look = смотреть
|
Фишка 07. | Расширяем словарный запас функции "Message when command not understood". |
|
Загляните в "Options". Интерпретатор выдает эту фразу, когда игрок вводит незнакомую ему(интерпретатору то бишь) команду.
Пошаговая реализация:
01. Задаем переменную с любым именем. Например, "sorry = 1" (можно и "0").
02. Создаем задачу "#простите" (слово никакого значения не имеет,
вся фишка в решетке - для внутреннего пользования).
03. В поле "Message upon completion" в редакторе задачи пишем z%sorry%. В поле: "Task can be complited in --> All rooms".
04. Открываем словарь (см. раздел "Словари") и вводим:
z1|Что говорите?
z2|А? Не поняла?
z3|Что Вы сказали?
z4|Я не понимаю, что Вы хотите.
z5|Простите?
Фразы сочиняем на свой вкус и цвет. Список можно сократить или увеличить.
Сохраняем. Импортируем словарь в игру.
05. На вкладке "Action" окна редактора задачи "#простите" устанавливаем действие "Change variable --> sorry --> TO ramdom value between 1 and 5"
Здесь последняя цифра - это общее количество Ваших фраз (у нас их 5).
Уточняем на вкладке "Reversible", что это повторяемое действие - ставим галочку в "Repeatable task".
06. Создаем событие - "Event" - с любым именем, например, "простите"
Запускаем немедленно: "When should event start --> Immediately"
Ставим галочку в "Restart this event as soon as it finishes".
Идем на вкладку "Advanced" и в самом низу выставляем: "Execute task --> #простите".
Теперь мы получим пять вариантов английской "I don't understand what do you want"!
|
Фишка 08. | Как быть с контейнерами |
|
Да, если у Вас в игре есть стол - шкаф - сундук (не может не быть хоть какого-нибудь контейнера), а Вы перешли на описание объектов задачами, то как передать информацию о содержимом игроку?
1. Не создавайте описание задачей для контейнера. Используйте стандартное описание в редакторе объекта.
2. Системный глагол "look" переводим как "см" (это полезно и для осмотра локаций).
3. На команду, введенную игроком "осм сундук", ADRIFT ответит: "I don't understand what you want me to do with а сундук" (потому что команда "осм", не являясь системной, не видима движком, если Вы не определили ее для конкретного объекта).
Правим эту фразу в словаре, заменяя ее на "Попробуйте использовать оборот "см сундук". То же проделываем со всеми контейнерами в игре. Их не бывает слишком много, не утомитесь.
Мы могли бы перевести только английскую часть фразы - "I don't understand what you want me to do with", заменив ее на "Попробуйте использовать оборот: см ".
Но дело в том, что тогда фраза будет всплывать на любую неверно введенную команду:
"пнуть диван" - "Попробуйте использовать оборот: см диван".
Вы поняли разницу? В идеале фразы "I don't understand what you want me to do with" лучше перевести, например: "Попробуйте использовать другой глагол, направленный на объект". Тем самым и игроку станет понятно, что он делает что-то неверно.
4. Любые иные действия с контейнерами можно совершать набором задач.
|
|
|