От большого к малому. Основа положена, примерный план действий написан, но
ни одно из действий игры еще не ясно. Короче говоря, отсутствуют
головоломки. Какими они должны быть? Как они будут связаны между собой? Эта
глава демонстрирует возможности, но она полна вопросительных знаков,
оставляя дизайнеру решать, какими будут последствия предполагаемых решений.
--- Головоломки ---
Их целью не должно быть просто придумывание, какую именно команду надо
применить. В хорошей игре вы не получите очков за нахождение легкодоступного
ключа и открытие двери с его помощью. Это довольно небольшое достижение -
типа надевания пальто, лежащего неподалеку - не стоит особенно отмечать.
Запоминающейся головоломке требуется сразу несколько загадок для решения
(проблема добычи Вавилонской рыбки в "The Hitch-hiker's Guide to the
Galaxy", к примеру). Мой личный критерий отбора состоит в том, чтобы не
позволять себе головоломок, которые я могу запрограммировать меньше, чем за
пять минут.
Никогда также хорошая игра не смешивает лёгкие загадки со сложными, особенно
на начальной стадии. Игрок должен быть способен заработать немного очков
(совсем немного) с самой первой, пробной попытки. (К счастью, большинство
авторских догадок насчет сложности головоломок безнадежно ошибочны. Меня
всегда забавляло, насколько поздно игроки обычно находят золотой ключ в
"Curses", хотя проблема с проектором слайдов решается ими гораздо быстрее,
чем я на то рассчитывал).
В создании головоломок есть три больших ловушки:
Синдром "Возьми-X-Используй-X"
В этом случае игра превращается в поиски велосипедных насосов с последующим
осмотром местности в целях найти велосипед, подбирание иголок и поиск
воздушных шаров и т.д. Каждая головоломка требует только один предмет. Когда
же он использован, его можно спокойно выбросить, ибо он определённо дальше
не понадобится.
Синдром "Что за слово"
Итак, у вас есть велосипед и насос к нему, но "использовать насос" не
работает. "накачать велосипед" тоже... Только "надуть колесо" приводит к
нужному результату. Есть игры, в которых такой лингвистический поиск
занимает большую часть времени. Особенно интересная сторона проблемы в том,
что "изучить", "обыскать" и "заглянуть внутрь" ("examine", "search" и "look
inside" соответственно) являются различными действиями - несложно
запрограммировать спрятанное сокровище, выявляющееся после только одной из
этих команд.
Синдром "Скрытой шутки"
Здесь игроку приходится играть в пародию на ваш рабочий офис, школьный класс
и т.п., или находить совершенно необъяснимые предметы (скажем, пальто с
загадочной фразой на нём), которые проникли в игру только потому, что у
вашей сестры есть такой же, вызывающий улыбку, или встречает удивительных
персонажей, основанных на ваших друзьях или не-друзьях.
Опять же, несколько головоломок будут в стиле "возьми-используй", и это не
опасно; наверняка придётся использовать смысл глаголов, и вещи можно будет
"двигать", но не "толкать", "тянуть" или "вращать"; и какой же художник не
обессмерчивал своих лучших друзей когда-либо?
Разнообразие в стиле очень важно, но логика всегда на первом месте. Зачастую
дизайнер начинает со знания только того, что в определённом месте игрок
должен будет избавиться от огня. Как это может быть сделано? Будет ли
решение найдено поблизости? Будет ли огонь иметь другие последствия?
Возможно ли будет частичное решение, когда огонь будет потушен, но часть
снаряжения сгорит? Если игрок не решает проблему в течение долгого времени,
сгорит ли то место, сделав игру невыигрываемой? Будет ли это очевидно в
таком случае?
--- Механизмы ---
В некотором смысле легче всего пишутся головоломки с механизмами: рычагами,
которые можно подёргать, кнопками, рубильниками, верёвками, за которые можно
потянуть. Они не требуют общения и часто требуют инструментов, что
подразумевает предметы. Они могут превращать вещи в полумагическом смысле
(уголь в алмазы, как пример клише) и могут делать практически всё, если оно
достаточно загадочно и странно: путешествия во времени, например.
С помощью механизмов можно также соединять разные места: цепи, "тарзанки",
парашюты могут перемещать игрока по карте, связывая её воедино.
Особый вид машин - те, в которых можно путешествовать. В большинстве игр
Infocom такие присутствуют (говорят, код для них был уже в "Zork I", но это
не важно), и машины, тракторы, грузовики, лодки, воздушные шары также
появлялись. Программирование таких вещей требует внимания (например, не
забывать о попытках езды вверх по лестницам или через узкие проходы), но
делает возможным целый набор головоломок: бензин, ключи зажигания, возможно,
радио. А путешествие новыми способами добавляет реализм местности,
становящейся больше чем просто набором правил ходьбы.
--- Ключи и двери ---
Вне зависимости от игры все они перекрывают некоторые части карты (временно)
путем помещения на пути к ним запертых дверей, сквозь которые игрок может
видеть и щелкать зубами в негодовании, но не открыть. И почти все варианты
таких преград были перепробованы: зашифрованные послания на дверях,
иллюзорные защиты, стражи у ворот, ключ, вставленный в замок, но не на той
стороне и т.д. Но опять же обычным делом является поиск ключа в каком-нибудь
весьма далёком месте, принесение его к двери и открывание замка.
Если за дверью есть люди, будут ли они реагировать на стук в дверь, или
попытки игрока её сломать или выбить? Если нет, то почему?
Иногда нужно иметь возможность запирать двери с обоих сторон (а также
открывать и закрывать). Несмотря на сложности в реализации, это даёт
неплохие результаты.
В больших играх может быть несколько, возможно, пять-шесть ключей разных
видов: важно не делать их слишком похожими друг на друга. Некоторые игры
имеют "мастер-ключи", открывающие сразу несколько типов замков в здании,
например, или "ключи-черепа", или волшебные заклинания для преодоления
препятствий.
--- Воздух, Земля, Огонь и Вода ---
Эти все элементы запутывают код, но увеличивают реализм. Огонь имеет
множество полезных свойств - он создаёт свет, уничтожает предметы, может
вызвать взрывы и химические реакции, он готовит еду, смягчает материалы,
может перейти с одного объекта на другой - но в конце-концов он
распространяется, хотя код - нет. Если игрок получает возможность нести
открытый огонь (горящий факел, например), то игра должна знать, какие из
объектов игры огнеопасны. Даже классический коробок спичек может добавить
головной боли при программировании.
Как в фильме Роберта Редфорда, так и в хороших ландшафтах игр - через них
течёт река. Но в каждой комнате, где доступна вода, игроки будут пробовать
выпить её, плавать, мыться, нырять. Они попробуют захватить её с собой (и
конечно, это применимо к бассейнам кислоты, естественным нефтяным скважинам
и тому подобному).
Жидкости - довольно неудачные объекты, поскольку их можно перемещать только
в каком-либо контейнере, переливать из одного сосуда в другой, и из-за их
бесконечной делимости. "Немного воды" может легко быть превращено в "немного
воды" и "немного воды". Если в игре больше одного типа жидкости, могут ли
они быть смешаны? Выливание воды на что-нибудь может существенно испортить
это что-нибудь - но почему это должно быть невозможным? И так далее.
Компромисс может быть достигнут с помощью введения сосудов со вместимостью,
скажем, пяти единиц воды, которые могут быть наполнены в любой комнате, где
есть вода (для этого можно ввести какой-нибудь флаг), и из которых можно
пить по единице за раз. Игрока, пытающегося вылить её на что-то, просто
обламываем и говорим так больше не делать.
Реализация плавания (возможно, подводного) создаёт новые неприятности. Что
происходит с носимыми вещами? Может ли игрок плавать в тяжёлой одежде или с
кучей предметов? Возможно ли нырять?
Более того, заканчивается ли у игрока кислород? Во многих играх присутствуют
головоломки такого типа: комната со вредным воздухом, или открытый космос,
или подводный мир, и тут нужен противогаз или кислородная маска. Нельзя
убивать игрока сразу, как только он входит в столь враждебную среду
беззащитным, поскольку он наверняка не получил соответствующего
предупреждения. В некоторых играх запрограммированы газы: гелий,
взрывоопасный кислород, веселящий газ.
Теперь насчёт земли. Одна из древнейших головоломок посвящена выкапыванию из
земли клада. Копание применяется в любой игре в традиционном стиле, да и
в других тоже нередко. Конечно, в реальной жизни вы можете начать рыть в
любом месте вне дома - просто у вас нет повода. Игры обычно таких вольностей
не позволяют. Довольно сложно бывает объяснять такие вещи игроку.
Однако копание в каком-либо виде делает неплохую головоломку: оно
искусственно создаёт новое место, или новое соединение в карте, или, наконец,
просто контейнер (имеется в виду яма).
--- Животные и растения ---
Насаждения подходят почти к любому ландшафту, и в большинстве игр игрок
как-то использует их. Они хороши для разнообразия, поскольку их обработка
отличается от механизмов и людей. Кто-то может убрать стволы с обломков, к
примеру, или собирать цветы. На деревья и ползучие растения (типа плюща или
ивы) можно забираться. Элемент школьника-переростка в игроке требует
подобных вещей.
Растение, вырастающее в бобовое дерево, возможно, уже стало клише. Поэтому
едва ли уважающий себя автор будет его задействовать.
Животные ещё более полезны по паре причин: они двигаются, ведут себя смешно
и непредсказуемо; они поразительно похожи на людей, но обычно не реагируют
на попытки разговора и не обязаны удивляться, когда игрок делает что-то из
ряда вон выходящее поблизости, так что их достаточно просто программировать,
и они добавляют красок в игру. Чем бы был сад Эдема без черепах, слонов,
кроликов, леопардов и морских свинок?
Классические, довольно предсказуемые головоломки с участием животных
решаются путем кормления их для ублажения, и потом заставления их что-нибудь
сделать. В хороших играх могут встречаться лучшие варианты (интересно, что
загадки с животными в "Adventure" - с медведем, птицей и змеёй - лучше
проработаны, чем в большинстве поздних игр).
--- Люди ---
Итак, заканчивается шестой день творения: у нас уже есть горы, реки,
растения и животные, но еще нет людей.
Ловушка в головоломках с участием людей обычно может быть названа синдромом
"возьми-примени". Но люди гораздо сложнее этого. Кошмар в программировании
реальных людей неплохо иллюстрируется одной из ошибок Дэйва Леблинга в игре
"Suspect":
> SHOW CORPSE TO MICHAEL > ПОКАЗАТЬ ТРУП МАЙКЛУ
Michael doesn't appear interested. Майкл не выглядит заинтересованным.
Конечно, Майкл ведь муж только Вероники - почему же он должен быть заинтересован?
Люди - наисложнейшие элементы игрового процесса. Для них может потребоваться
впятеро больше кода, чем даже для важной комнаты. Они должны:
-- реагировать на события (как выше!);
-- поддерживать разговор так или иначе;
-- понимать и иногда выполнять приказания ("робот, иди на юг");
-- прохаживаться по карте так же, как это делает игрок;
-- иметь некое мнение об игроке, и быть личностью.
Иногда они преследуют собственные цели, и могут ожидать быть атакованными,
принимать вещи, или даже соблазняться отчаянным игроком. Всё это требует
программирования. Хорошо проработанный персонаж тоже может делать порой
неожиданные вещи, случайным образом. В некоторых играх у них есть большой
запас знаний и реплик. Женщина, продающая хлебные крошки в самом начале
"Trinity" (которая не играет особой роли в игре) может произносить более 50
различных фраз.
Основной код, связанный с общением, добавляется во время тестирования. Если
игроки-испытатели жалуются, что "спросить официанта про яблоки" не работает,
то стоит сделать какой-нибудь ответ на это, даже если он не особо важен.
Хорошо сделанные персонажи могут приходить и уходить, появляясь в различных
ситуациях на протяжении игры: они являются частью сценария. Но остаётся и
место для скромного слуги у дверей, который ничего не делает, кроме как
проверяет проходящих.
--- Лабиринты... ---
Почти каждая игра содержит лабиринт. Ничто сейчас уже не сравнится с
бессмертным
Вы находитесь в лабиринте из коротких запутанных переходов,
похожих друг на друга.
Но теперь нас будут мучить сильнее. Лабиринт должен предлагать какой-нибудь
поворот, не реализованный до этого (хорошими примерами могут служить
лабиринты в "Sorcerer" и "Enchanter").
Важно не делать их сложными и утомляющими. Стандартным решением является
наполнение комнат объектами в целях сделать их различаемыми. Этого можно
избежать, удачным примером чему служит вор в "Zork I", но так вы только
усложняете сам лабиринт.
Вместо этого должно быть элегантное и быстрое решение: к примеру, гид,
которого нужно подкупить, или светящиеся стрелки на полу, видимые только в
темноте (ну и подсказка насчёт темноты, конечно).
Много можно сказать по поводу обычного ответа Дэвида Бэггета на вопрос "Как
мне сделать такой лабиринт, чтобы он имел нестандартное решение?" - "Не
делать его вообще".
И самое главное: не делайте лабиринты, похожие на обычные до невозможности
сложные экземпляры: даже если они и проходимы, игрока это может достать, и
он скорее покинет игру, чем начнёт рисовать карту.
--- ...и другие избитые клише ---
Немногие игры избежали головоломок с источниками света, но разнообразия тут
едва ли можно добиться. Порой их можно свести к двум типам:
-- лампа игрока постепенно выгорает, требуя поисков огня (или масла) как минимум раз;
-- в тёмную комнату с горой сокровищ внутри можно войти только через
настолько узкий проход, что игроку придётся всё выбросить (включая
лампу).
Большинство игр включают оба типа, и, возможно, будут и дальше, но варианты
приветствуются. (В "Zork III" есть поразительно умная такая головоломка,
возможно, лучшая в своём роде).
Аналогично, если в игре немало перемещаемых предметов, может выглядеть
смешным то, что игрок постоянно носит с собой сотни громоздких и бесполезных
вещей, так что в большинстве игр вводится ограничение на количество
одновременно переносимых предметов, обычно четыре (потому что так было в
(некоторых версиях) "Adventure"). Плохим стилем является создание
головоломок, трудно разрешимых из-за того, что можно нести только четыре,
а не пять, предметов (в конце-концов, игрок в особых случаях может
поднапрячься и взять лишний предмет). Конечно, нормой является введение
сумки или рюкзака для переноски.
Сложные игры также втихаря подсчитывают вес носимых предметов. (Одна из
Infocom-овских игр содержит ужасно тяжёлый и бесполезный предмет, который
можно принести куда угодно, но перемещать его очень утомительно).
Упоминание утомлённости поднимает вопрос состояния игрока. В некоторых играх
обработка этого очень похожа на ролевые игры, со значениями "силы" и
"телосложения". Игрок утомляется и требует еды, устаёт и хочет поспать,
ранен и требует восстановления сил. Головоломки, задействующие это, довольно
сложно сделать интересными. Все правила, подобные приведённым, только
раздражают игрока (которому придётся возвращаться в сад и съедать по яблоку
каждые пару десятков ходов - типа этого) и должны реализовываться с
осторожностью.
--- Награды и взыскания ---
Существуют два типа наград, даваемых игроку за решение головоломок. Один из
них очевиден: игра немного продвигается вперёд. Но игрок за клавиатурой
хочет чего-то более существенного, чтобы игра дала ему что-то новое, на что
можно взглянуть. В ранние времена за решение проблемы игроку просто
вручался золотой слиток и ему оставалось решить на одну загадку меньше.
Более удачным вариантом будет открыть игроку какие-нибудь новые места или
предметы, и это действительно является стимулом. Даже если не предлагаются
комнаты, по крайней мере, "сокровища" могут быть проработаны, типа
заклинаний в трилогии "Enchanter" или кубиков в "Spellbreaker".
Еще раньше игры убивали игрока за практически любой неверный ход (или так
изменяли состояние, что игра становилась непроходимой). Это раздражало,
означая, что теоретически все игроки должны быть такими параноиками, чтобы
сохранять игру даже перед взятием предметов. Теперь вы, по крайней мере,
будете предупреждены о возможности смерти, а небольшие ошибки поправимы.
Неплохой альтернативой смерти может быть изгнание (то бишь, перемещение
игрока куда-нибудь далеко, но с возможностью возвращения).
--- Описание комнат ---
Прежде всего, предупреждение: соблазнительно, начиная программирование,
давать комнатам "временные" описания ("Каменная комната." "Монастырь.") и
оставлять их написание на потом. Нет ничего более угнетающего, чем
обозревать стопку из 50 описаний комнат для сочинения, всех одновременно, и
чувствовать, что энтузиазм куда-то улетучился (то же самое касается
проработки дизайна в подробностях до программирования). Кроме того, при
тестировании будет сложно почувствовать дух игры, какой она должна быть -
это тоже будет удручать. Потом, написание того, как выглядит комната,
заставляет автора еще раз подумать, для чего же она нужна, что явно является
хорошим делом. Так что пишите понемногу в процессе кодирования, но пишите их
как надо: отредактировать в случае нужны вы всегда успеете (а это
понадобится).
Размер не имеет значения. Довольно легко написать слишком развёрнутое
описание, останавливаясь на второстепенных деталях: обычно присутствует до
трёх вещей, на которых действительно стоит заострить внимание, а остальное
можно (и нужно) вырезать. (Это определённо является спорным вопросом, и
мнения могут различаться).
Но даже скучные проходы заслуживают описания, и оно должно быть больше, чем
просто список выходов. Вот примеры из "Adventure":
Вы в большой комнате, высеченной из остаточных пород камня. Пол и
потолок заполонены кусочками раковин, торчащих из камня. Неглубокий
проход смотрит вниз, и гораздо более резкий - вверх. Чтобы пройти на юг,
придётся пригнуться.
Вы идёте вдоль плавно изгибающего прохода с севера на юг, отмеченного
загадочно выглядящими породами известняка.
Заметьте упор на геологию, неординарность местности и разницу в размерах
туннелей. Даже если там ничего не происходит, это - реальные места.
Легкомысленных, шуточных описаний комнат лучше избегать, если они будут
часто посещаться на протяжении игры. Один раз в игре автор может отделаться
следующим описанием:
Обзорная Комната
Кельвин Кулридж однажды описал окна как "прямоугольники из стекла". Если
так, то он, должно быть, имел в виду такое окно, как то, что заполняет
западную стену этой комнаты. Небольшое помещение находится на севере.
Рядом с лестницей нарисован знак, указывающий как вверх, так и вниз.
характерный отрывок из работы Стива Мерецки "Leather Goddesses of Phobos",
который показывает, на что придётся идти для описания относительно обычного
прохода-с-окном. Предложение, для избежания которого всё это описание было
придумано, - "Вы можете идти вверх, вниз или на север."
В описаниях комнат обычно упоминаются очевидные выходы - и будет плохим
делом не упомянуть об одном из них без важной на то причины - но существуют
пути избежания того, что может стать весьма утомляющей рутиной. Например,
Тёмная Пещера
С трудом свет пробивается в эту грязную, заваленную костями пещеру, а
чего вам не хватает - так это глотка свежего воздуха. Странные пузыри,
пульсирующие и двигающиеся как живые, свешиваются с потолка под
сумасшедшими, необычными углами.
Чёрные крабы копошатся вокруг вашей ноги.
> ЮГ
Единственный выход - на север, к берегу моря.
Другими словами, сообщения "Вы не можете идти в этом направлении" сделаны
особыми для каждой комнаты.
Избежать повторений почти невозможно, и опытные игроки уже знают наизусть
все различные вступления: "You're in", "You are in", "This is", "You have
come to" и так далее. Обычно я предпочитаю обезличенные описания комнат (то
есть, упоминания "вас" только если это реально необходимо, а не для отметки
самого факта, что вы где-то находитесь).
Как и в писательском деле, учитывается словарный запас (еще один показатель,
по которому игры Скотта Адамса, несмотря на ужасную грамматику, находятся на
высоте). Если вы видите дерево, какое оно - дуб, можжевельник, боярышник,
ясень? Потом, не делайте описания комнат статичными, и попытайтесь
использовать чувства помимо зрения: обоняние, осязание и слух сильно
влияют на восприятие. Невинность и коррупция, движение и ожидание, свет и
тьма привлекали писателей веками.
И после всего, остерегайтесь плоскости
Вы в Большом Зале. Вы можете идти на север к Галерее Менестрелей, на
запад к камину или вниз на кухни.
Здесь лежит меч.
Достаточно для плохих описаний. Следующий пример (придуманный не мной) более
опасен - описание средневековой комнаты:
Комната Водоворота
Вы находитесь в потрясающем гроте с ниспадающим потоком, который
выливается сквозь сверкающий водопад в шумный водоворот, который
исчезает через дыру в полу. Проходы ведут на юг и запад.
...выглядит как неплохая попытка. Но ни один писатель не будет производить
на свет подобные предложения. Каждое важное существительное - "грот",
"поток", "водопад", "водоворот" - имеет собственное прилагательное -
"потрясающий", "ниспадающий", "сверкающий", "шумный". Два "которых"
несколько портят картину. "Выливается" - неплохо, но действительно ли поток
выливается "сквозь" водопад? Исчезает ли сам водоворот? "Дыра в полу"
выглядит неуместно. Она определенно должна быть под водой, но глубоко ли?
Приходим к тому, что стоит лучше использовать географию, что также может
помочь в расположении водоворота в комнате (в центре? с одной стороны?) И
почему "Комната Водоворота", что звучит как часть оздоровительного клуба? Со
второй попытки мы получаем, цитируя оригинал:
Уступ над водоворотом
Дорога описывает дугу с юга на запад около кромки этого воронкообразного
грота. Водопад ниспадает из темноты, ловя блики света на пути к
основанию. Зловещие, быстрые потоки закручиваются в ревущий водоворот
внизу.
Даже в этом случае что-то не так: в картине отсутствует элемент человека,
здесь нет ничего живого, нет цвета, и кроме того, похоже, мы пропустили
важную особенность любой пещеры с водой, где я побывал, так что давайте
добавим второй абзац (с переводом строки, что гораздо приятнее глазу):
Сине-зелёные водоросли свешиваются пучками со старых железных перил,
которые насквозь проржавели в холодном сыром воздухе.
Водоросли и железные перила могут быть частью одной-двух головоломок...
Возможно, где-то есть лягушки, любящие поесть водорослей; может, игрок
найдёт применение железному окислу и отскребёт ржавчину от перил (химики
могли использовать для чего-то ржавчину - здесь поможет химическая
энциклопедия). Перила определённо сломаются, если привязать к ним верёвку.
Безопасно ли плавать? Производит ли вода гипнотический эффект на смотрящего
в неё? Есть ли какой-нибудь сухой предмет, который можно намочить, принеся
сюда? Может, где-то выше есть второй уступ, откуда начинается водопад? - Так
создаётся окружающий мир.
--- Карта ---Головоломки и объекты сильно привязаны к карте, что означает, что её вид
постоянно обновляется, и автору следует постоянно следить, чтобы она
соответствовала обстановке, вместо того, чтобы сначала придумать гигантский
ландшафт и потом наполнять его материалом.
Возвращаясь к атмосфере, жизненно важно для карты быть последовательной.
Признак плохой игры - карта вида:
Ледник
|
Подземелье --- Восточная комната --- Пожарная станция
(рыба) (мегафон) (тюльпаны)
|
Сырная комната
в которой ничто не связано друг с другом, и в итоге игра не имеет совершенно
никакой географии. Более правдоподобно что-то типа:
Заснеженные горы
\
Высеченный туннель
|
Восточная комната --- Проторенный проход --- Комната огненного
(будда) (китайское дерево) дракона
|
Цветущая комната
Местность должна простираться и дальше - горы будут окружать карту в обоих
направлениях. Если через определённое место протекает ручей, что происходит
с ним дальше? И так далее. Карты реальных горных массивов и подземных
систем, гораздо хитрее и уже, чем в фантазиях, могут сильно помочь в
создании подобных участков.
Волнующий вопрос - насколько много места занимает определённая комната.
Обычно комната имеет размеры порядка девяти метров максимум. Действительно
большие подземные залы - как легендарный "Зал Туманов" в Adventure, комната
с баржей в "Infidel" - обычно реализовываются как несколько комнат,
например:
СЗ угол зала --------- СВ угол зала
| \ / |
| Танцевальная площадка |
| / \ |
ЮЗ угол зала --------- ЮВ угол зала
Так можно вызвать ощущение пространства, но и плодить комнаты весьма
бессмысленным образом, если по углам нет чего-то, ради чего стоило это
затевать: бюста Георга Третьего, может быть, или клавесина.
С другой стороны, в некотором приближении рисование карты вызывает такое же
расстройство, как у менеджера по декорациям для оперы Вагнера: всё находится
на улице, неопределённое и без углов. Иногда целая лощина или аллея могут
быть одной единственной комнатой, но в этом случае стоит внимательно
отнестись к описанию, чтобы сделать это понятным.
Разрабатывая карту, интересно сделать несколько соединений в редких
направлениях движения (СВ, СЗ, ЮВ, ЮЗ), чтобы не вызывать у игрока чувство
игры на клетчатой доске. Стоит добавить немного (возможно, протяжённых)
замкнутых циклов, по которым можно пройти, для предотвращения бесконечного
вытаптывания собственных следов и чтобы избежать образа карты автобусных
маршрутов с полудюжиной линий и одной пересадкой.
Если карта велика, или игроку придётся немало погулять туда-обратно,
пригодится способ быстрого путешествия через неё, такой, как волшебные слова
в "Adventure" или кубики в "Spellbreaker". Это может быть загадкой само по
себе - то, что игроку не обязательно решать, но награда за которую стоит
трудов.
--- Оглядываясь на форму ---
Это полезно, поскольку так можно убедиться, что игра проходима (например, если ключ зажигания хранится в телефонной будке на дороге, игра бы обломилась) и потому что она отражает общую структуру игры.
Поинтересуйтесь:
-- Зависят ли крупные отрезки игры от одного сложного задания?
-- Сколько шагов требует типичная проблема?
-- Насколько широка игра в каждый момент времени?
Узких проходов следует избегать, если они не легко угадываемы, иначе
большинство игроков просто не продвинутся дальше. Конечно, если эти проходы
специально не предназначены для разбивки игры на части.
Так же, как некоторые головоломки будут решаемы несколькими способами, некоторые предметы будут иметь больше одного назначения. В старых ужасных играх игроки автоматически выкидывали вещи сразу после их применения. В лучше проработанных играх очевидно полезные вещи (как лом и перчатки в "Lurking Horror") должэны быть при игроке всю игру.
Наконец, последнее слово по поводу формы: одна из наиболее раздражающих вещей для игроков - обнаружить в самом конце игры (возможно, в мастер-игре), что некоторые в ином случае бесполезные предметы должны были быть принесены, но уже слишком поздно. Игроку не должна приходить в голову мысль, что причина его застревания в мастер-игре в том, что нечто загадочное надо было сделать 500 ходов назад.
6 ...Отделка и глянец
Итак, у вас есть игра: поверхность еще грубая и неотёсанная, но она
определённо похожа на игру. Осталось работы ещё по крайней мере на месяц
(и пара веков отладки), но работать уже легче, и чувствуется близость
завершения.
--- Присуждение очков ---
Традиционный способ начисления очков в приключенческих играх - выдавать
заработанную часть очков от какого-нибудь большого и жизнеутверждающего
числа (скажем, от 400) и разряд (ранг) игрока. Обычно таких рангов от трёх
до пятнадцати. Гениальный пример (не станем упоминать игру):
Beginner (0), Amateur Adventurer (40), Novice Adventurer (80), Junior
Adventurer (160), Adventurer (240), Master (320), Wizard (360),
Master Adventurer (400) [ Beta-tester (401) ]
в котором, хотя ранги представляются круглыми числами, они наверняка
подобраны так, чтобы соответствовать игре. Другой хорошей деталью может
быть наименование рангов как профессий игрока в игре - так, музыкант может
начинать "Новичком", и пройти через "Вторую скрипку" к "Дирижёру". Неплохой
пример есть в детективной игре "Sherlock", где наименьший ранг - при нулевых
достижениях - "Главный управляющий Скотленд-Ярда".
Среди возникающих вопросов есть: обязательно ли любой победивший наберёт 400
очков из 400 (этого сложно достичь, если ценятся даже мелкие детали)? Будет
ли прошедший в финальную часть игры иметь 360 очков, получив звание
"Волшебника" ("Wizard")? Действительно ли ранг "Любитель" ("Amateur")
соответствует переходу игрока из пролога в центральную часть?
Так за что даются очки? Понятно, что за решение основных головоломок. Но как
насчёт менее важных, стоящих-по-дороге-к? В этом пункте, как можно
догадаться, игры различаются во мнениях. В "Zork III" можно набрать всего 7
очков, по количеству главных головоломок (хотя достижение 7 очков не
означает конца игры). В "The Lurking Horror" за решение каждой из 20 задач
присуждается по 5 очков, то есть, в итоге получаем максимум 100.
Как альтернатива, есть усложнённый вариант. Здесь очки присуждаются по
два-три за небольшие решения, и гораздо больше - за найденные сокровища:
серебряные слитки ценятся в 5 очков, золотые амулеты - в 10, платиновые
браслеты - в 20. Сокровища оцениваются дважды: один раз при поднятии, и еще
раз при выкладывании в безопасное место - в трофейную сумку в "Zork I" или в
чемодан в игре Level 9 "Dungeon" (которая не имеет никакого отношения к
адаптации "Zork I" с тем же именем). Более того, по одному очку игрок
получает за посещение в первый раз любой комнаты, и еще одно - за
несохранение игры на всём её протяжении - довольно подлая уловка.
В некоторых играх (таких как "Acheton") счёт может уменьшаться, когда игрок
просаживает время, ничего не делая. Некоторых это постоянно раздражает (хотя
другие могут сказать, что это не так уж и плохо).
Раньше игры иногда имели "Последнее Хитрое Очко" - единственное очко,
присуждавшееся за совершенное нелогичное и неочевидное действие, вроде
прихода в определённое место Пиратского Лабиринта и выкидывания ключа. Слава
Богу, эта привычка ушла в прошлое.
--- Неправильные догадки ---Для некоторых загадок игрок может найти своё, безупречно правильное,
решение. Хороший стиль - запрограммировать два или более решений к одной
головоломке, если это не влияет на дальнейший ход игры. Но даже если и
влияет, по крайней мере стоит что-нибудь вывести в ответ на удачное
действие (попытка пересечь вулкан на волшебном ковре в "Spellbreaker" - как
раз такой случай).
Например, в "Curses" были (на момент написания статьи) шесть различных
способов открытия медицинской бутылочки с защитой от детей. Все они весьма
сложны для нахождения, логически безупречны, и большинство игроков рано или
поздно дойдёт до одного из них.
Одни из причин, почему "Zork" привлекал внимание игроков (и почему он
потребовал в десять раз больше кода, чем исходный "Adventure") - то, что в
нём имелась целая куча шутливых ответов на возможные, но невыполнимые,
действия игрока.
Мой любимый ответ, от приведения которого я не могу удержаться, таков:
Вы несётесь к земле, ветер свищет мимо вас.
>восток
Вниз будет логичнее.
("Spellbreaker". Хотя я также рекомендую попробовать взять морскую змею (sea
serpent) в "Zork II"). Это хороший пример, поскольку именно от нудных правил
такого типа (нельзя двигаться, находясь в падении) большинство дизайнеров
обычно пытаются избавиться как можно быстрее и не используют воображение.
Другим источником неправильных догадок может быть словарь. Хорошая игра
должна понимать около 1000 слов - если много меньше, то возможно, что
где-то не хватает синонимов; много больше - понаписали лишнего. Запомните,
что игроки не знают изначально, что в комнате является уместными или
неуместными предметами. К примеру:
Старинный винный погреб
В этом небольшом углублении на севере чердака некогда хранились всякие
виды самодельных вин, теперь же утерянных и забытых. Ступеньки с
хорошими, крепкими перилами ведут вниз и на запад, и перила продолжаются
вдоль прохода на восток.
Здесь ясно упомянуты перила, которые (обычно) не играют какой-либо роли в
игре, но усиливают впечатление прохода с востока на запад, включающего
лестницу, которая (обычно) имеет применение как относительно непрочная вещь.
Но игрок может, вероятно, попробовать привязать что-либо к перилам, потянуть
за них и так далее. Так что игра знает слова "перила", "поручень" и (не
совсем логично, но игроки не всегда логичны) "вино" как названия предметов
обстановки. Попытки что-либо с ними сделать приведут к ответу:
Это не та вещь, которая понадобится вам по ходу игры.
что большинство игроков примут как допустимый ответ, и что лучше
игнорирования, или хуже, не игнорирования, синтаксическим анализатором.
Возможность, реализация которой в некоторых играх представит немало проблем,
но которая стоит того (я так думаю) - дать имена всем комнатам, чтобы
"обыскать погреб" работало (хотя, конечно, в большинстве мест это ничего не
даст... а игрок будет пробовать что-то подобное повсюду в целях чего-нибудь
добиться). Некоторые игры могут даже позволить "идти в погреб" из
близлежащих мест. Это впечатляющие возможности, но их стоит реализовывать
осторожно, дабы не дать игроку информацию, право на которую он ещё не
заработал.
--- Подсказки и награды ---
Хорошая игра (написанная не для соревнования) обычно будет содержать службу
подсказок, как было в играх Infocom под конец её работы. Большинство игроков
действительно намертво застрянут в процессе игры раз-два (но место
застревания может различаться), и было бы неплохо их спасти из такой
ситуации (если не так, то, по крайней мере, снизить число входящих e-mail с
просьбами о помощи). Есть два способа предоставлять подсказки:
-- в самой игре, сделав какого-нибудь старого мудреца;
-- хорошо отделёнными от игры, вызываемыми по команде "hint",
которая предложит одно или более меню возможных вопросов.
Конечно, подсказка не должна быть развёрнутым ответом. Классической системой
является последовательность подсказок, каждая точнее предыдущей, до тех пор,
пока решение, наконец, не будет открыто расписано. Удивительно, но некоторые
игроки не любят подобные системы и считают, что так игра становится слишком
простой, чтобы быть вызовом. Сложно построить систему подсказок так, чтобы
она не открывала информации о будущем (списком вопросов, на которые есть
ответы, к примеру), но над этим полезно поработать.
В конце игры, когда она уже пройдена, есть ли что ещё сказать? В некоторых
играх - да. В своих последних воплощениях (увы, не включенных в коллекцию
"Lost Treasures of Infocom") "Zork I" предлагал победителям доступ к системе
подсказок в строке RESTART, RESTORE or QUIT. "Curses" идёт дальше - там есть
небольшой экскурс по странным вещам, которые могут быть сделаны в игре.
(Кроме того, это весьма неплохой шанс для автора выделаться).
--- Пользовательский интерфейс и всё такое ---
Нет, не окна и выпадающие меню, но пара дополнительных (мета-) команд,
которые предназначаются программе и не представляют собой действия игрока в
игре. Конечно,
SAVE, RESTORE, RESTART, QUIT
сами собой разумеются. Игры также должны допускать команды, позволяющие
игроку выбирать, сокращаются ли описания комнат при повторных посещениях или
нет. Другими подобными опциями могут быть команды для включения печати
сообщений вида
[Ваш счёт только что увеличился на десять очков.]
и команды для вывода последовательности действий на принтер или в файл - это
особенно полезно при получении замечаний от испытателей игры.
UNDO сложно реализовать, но стоит того. В "Curses" UNDO может восстановить
игрока даже после смерти (хотя это не отражено в игре; Смерть, где есть
такая команда?).
Сокращения (особенно "g" для again, "z" для wait, "x" для examine) теперь
считаются неотъемлемыми.
Некоторые игры время от времени демонстрируют цитаты или шутки в небольших
окнах отдельно от основного текста игры. Требуется осторожность, чтобы такие
окна не загораживали важные сообщения, и должен быть способ эту возможность
отключить.
Единственная инновация, стимулированная автором в этом плане - снабдить
игрока командой "full score", которая вспоминает, как игрок заработал каждое
очко и выводит вписок на экран; снабдить игрока переключателями "inventory
wide" и "inventory tall", переключающие режим отображения списка несомых
предметов, что должно помочь игрокам с малым числом строк на экране; и
предоставить команды "objects" и "places":
>places
Вы посетили: Чердак и Старую комнату.
>objects
Предметы, которые вы брали:
мятый обрывок бумаги (несёте)
электрический факел (несёте)
шоколадное пирожное (несёте)
птичий свисток (в Старой комнате)
пакет в подарочной упаковке (потерян)
Возможно, эти команды и приживутся (они уже есть в компиляторе Inform).
--- Отладка и тестирование ---
Каждому разработчику требуется несколько "секретных" отладочных команд (всё
еще присутствующих в паре игр от Infocom, к примеру) для перемещения игрока
по карте или заполучения любого объекта в игре. Поскольку отладка никогда не
заканчивается, никогда не станет пора убирать эти команды - вместо этого их
можно защитить паролем в выпускаемых на свет версиях. (Система Inform
реализует это как набор отладочных глаголов, которые включаются только если
соответствующий ключ был указан при компилировании).
Неочевидной, но полезной возможностью является команда для убирания элемента
случайности из игры. То есть, если есть дверь, которая случайным образом
ведёт в одно из трёх мест, то эта команда сделает такую дверь предсказуемой.
Это важно при тестировании игры по списку ходов.
Во время разработки также полезно вести последовательность команд,
приводящих к выигрышу со стартовой позиции. В идеале ваша игра должна уметь
читать команды из файла, равно как и с клавиатуры, что позволит такой
последовательности выполняться автоматически.
Это нужно для того, чтобы, когда приходит время добавить новую возможность
около конца игры, можно было легко проверить, влияет ли она на то, что было
раньше, или нет.
Ошибки обычно легко исправляются: в большинстве они - просто небольшие
промахи. Очень маленькая их часть требует больше пяти минут для исправления.
Особенно часто встречаются:
-- опечатки, пропуск знаков препинания или грамматические ошибки;
-- комнаты, погружённые во тьму, хотя в них должен быть свет (это обычно не
проявляется, если игрок несёт лампу), или не изменяющие своего освещения
когда должны, например, при появлении солнца;
-- другие забытые свойства, типа рыбы, не помеченной как съедобной;
-- немного повреждённые соединения комнат, к примеру, запад в одном
направлении, а обратно - на северо-восток (если так не задумывалось);
-- что-то, что на самом деле может произойти только однажды, типа разбития
окна, но в действительности возможное более раза, со странными
последствиями;
-- общие ответы, не подходящие в конкретных случаях, такие как "Мячик
отпрыгивает от земли и возвращается к вам в руку" в воздухе или при
переходе реки вброд;
-- небольшие неточности: допускаться плавать в надетых доспехах или махать
одеждой, которая на вас, или есть в противогазе;
-- ошибки в работе синтаксического анализатора.
Не начинайте игровое тестирование, пока система очков не будет проработана,
и пока игра не пройдёт всю последовательность команд для выигрыша без сбоев
или выдачи абсурдных реплик.
--- Игровое тестирование ---
Дни такого тестирования изводят. Первым делом следует найти несколько
"друзей", и дать им поиграть в вашу игру немного. Заглядывайте им через
плечо, нервно записывайте на бумажку, издавайте звуки отчаяния или
расстройства - но не говорите ни слова. Заставляйте себя ничего не объяснять
и не защищаться, как бы ни было сильно искушение. Ожидайте упрёков в свой
адрес, и терпеливо их переносите. Цитируя Дэйва Леблинга (из тестирования
"Suspect", опубликовано в статье в "New Zork Times"):
> БАРМЕН, ДАЙ МНЕ ВЫПИТЬ
"Извините, я был нанят только смешивать напитки, и ничего больше".
> ТАНЦЕВАТЬ С АЛИСИЕЙ
Какую Алисию вы имеете в виду, Алисию или пальто?
Тело Вероники упало за стол, задушенное удавкой.
> ГОВОРИТЬ С ВЕРОНИКОЙ
Тело Вероники внимательно слушает.
Небольшие огрехи, говорите? Вещи, которые никто не заметит. На этом
этапе работа испытателя довольно проста. Рассказ подобен карточному
домику - выглядит крепким, но малейшее движение разрушает его...
После упражнения на выправку ошибок (когда всё ещё остаётся время подумать и
переделать что-либо), дайте игру паре бравых бета-тестеров. Настаивайте на
отчётах письмами или по e-mail, и если вы сможете их уговорить, попробуйте
получать несколько отчётов по одному, чем ждать месяц и получить эпических
размеров список ошибок. Держите испытателей на виду, чтобы быть уверенными,
что они не застряли из-за ошибки в реализации головоломки, или из-за её
непомерной сложности. Не давайте советов, если вас не спрашивают.
Игровое тестирование выдаст где-то сотню или около того ошибок, в основном
совершенно тривиальных и легко исправляемых. Однако, ожидайте пары
катастроф.
Хорошие испытатели ценятся на вес золота. Они всё делают не так, как вы
рассчитывали. Цитируя Майкла Киньона, чьё влияние чувствуется почти всюду в
"Curses",
Испытатель с новым действием похож на ребёнка с молотком: любая
проблема кажется ему гвоздём.
И как же ещё вы можете узнать, даёт команда "погладить попугая" какой-нибудь
результат или нет?
Если на обратное нет причины (потому что вы знаете больше о том, как
повернётся сценарий), всегда слушайте, что говорят игроки-испытатели также
о стиле и содержании. Не забудьте поблагодарить их где-нибудь в игре.
--- Она никогда не закончена ---
Игры никогда не готовы. Всегда найдётся ещё одна ошибка, или ещё одно
сообщение, которое может быть переписано, или еще одна небольшая реплика для
вставки. Отладка - созидательный процесс, она добавляет игре жизни. Процесс
игрового тестирования увеличил размер "Curses" где-то на 50%: другими
словами, более трети игры посвящено посторонним вещам, тупикам, шуточным
репликам и тому подобному.
Приблизительно 300 ошибок в "Curses" было обнаружено с тех пор, как она была
выпущена на публику два года назад (я получил по этому поводу более тысячи
e-mail писем), и это было после "окончания" игрового тестирования. Где-то
раз в неделю я вносил исправления, и примерно раз в три месяца я выпускал
исправленную версию. Так что, множество людей, предлагавших небольшие
улучшения и исправления, сильно помогли игре - вот почему в титрах так много
имён.
--- ...Послесловие ---
Боб Ньюэлл недавно спросил, почему старые, грубые, простые игры Скотта
Адамса всё ещё захватывают воображение многих людей. Частично - ностальгия
по "любимым книгам детства", конечно. Но ещё и чувство обладания миниатюрным
произведением искусства, Китайской коробочкой-головоломкой с мастерски
вырезанными кусочками.
Приключенческая игра, как ни странно, приносит больше всего удовлетворения
после написания - возможно, потому что её можно отполировать ещё чуть-чуть;
возможно, потому что в ней так много скрытых и секретных возможностей;
возможно, она так же хорошо сделана, как и написана.
Однако для меня, думаю, и потому, что каждый день кто-то новый может войти
в мир игры, как это сделал я, случайно сев за мэйнфрейм Digital в 70-х,
пройдя через тёмную цепочку проходов грязнее моей спальни, так что свет
миров не скрылся от моих глаз.
© 1993-1995, Graham Nelson
перевод с английского © 2001, Илья Зверев
Спасибо также Сергею Симоновичу за перевод 1995-го года (чья работа хоть и
была неудовлетворительной для такого монументального труда, как этот, но
помогла в переводе некоторых фраз) и Старкову Стасу за перевод "Билля о
правах", откуда также была заимствована пара предложений. Отзывы о переводе
с благодарностью приму на e-mail zverik@green.ifmo.ru