10 шагов к дизайну замечательной игры (http://taplap.ru/articles.php?op=show&aid=58)
Отправлено: Chipollino
Автор: C.E. Forman, перевод Ton Fireball
2003-02-01 14:27:51

10 шагов к дизайну замечательной игры
автор К.Э. Форман (C.E. Forman), перевод Ton Fireball (fireton@mail.ru)

     Вы прошли все игры, выпущенные когда-либо Infocom. Вы скачали бесчисленное множество текстовых игр из Интернета в отчаянных попытках утолить ненасытную жажду к IF, но этого было недостаточно. Поэтому вы решили сделать последний шаг - написать свою собственную игру. Но откуда вам знать, что она понравится другим людям? Как вам избежать тех ошибок, которые вы встречали в играх, переигранных вами за много лет? Каковы качества «хорошей» текстовой приключенческой игры?

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

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

     Возможно вы спрашиваете себя: «Кто это такой вообще? Я никогда не слышал об этом парне за всю мою жизнь!» Ну да, ну да... Я стал фанатом текстовых игр начиная с семилетнего возраста и даже написал пару собственных. То что вы не видели нигде моего имени означает, что мои игры пали жертвой большинства (если не всех) проблем, на которые я указываю в этой статье. (Конечно, я использовал Бейсик как единственный язык программирования. Плюс, мне было тогда 12 лет.) Сейчас я работаю над парой новых игр, и, возможно, в этот раз у меня выйдет получше. Надеюсь, и вы сможете учиться на моих ошибках.

1. Разработайте хороший парсер
     Это единственный наиболее важный элемент в любой работе над текстовыми играми. К сожалению, именно им чаще всего пренебрегают начинающие. Даже наилучшим образом спланированная и сделанная игра не удержит внимание игрока, если у него будут проблемы объяснить программе, что он хочет сделать. В самых ранних тестовых играх, таких как «Adventure in Colossal Cave» и серия игр Скотта Адамса, использован грубый парсер типа «глагол+существительное», в котором команды могли состоять лишь из двух слов. Из-за ограниченности тогдашних компьютеров, общий словарь парсера был часто тоже очень ограничен, что оставляло чувство неудовлетворенности у игроков.

     Парсер ZIP (Zork Implementation Parser), который Infocom представила в конце 70-х, является признанным стандартом для парсера. Если вы используете такое средство разработки IF как Inform или TADS, то разработка хорошего парсера не является проблемой. Если же вы решили написать свой собственный парсер, то вооружитесь хорошим словарем синонимов и подберите 2-3 для каждого глагола и существительного. Пусть лучше загадки в самой игре будут вызовом для играющего, не заставляйте его играть в «угадай глагол».

     Кроме того, чем больше возможностей будет встроено в ваш парсер, тем лучше. Команда “UNDO”, встроенная система подсказок, возможность сконфигурировать функциональные клавиши для ввода команд и автоматическое построение карты - все это поможет избежать разочарования со стороны игрока.

2. Проработайте структуру загадок
     Не заставляйте игрока бесцельно слоняться от одной загадки к другой, задерживая его прогресс в игре полностью до тех пор, пока он не решит единственную загадку, которую и можно решить в настоящий момент. Разделите структуру загадок на ветки и сделайте ее настолько нелинейной, насколько это возможно. Переплетайте загадки друг с другом и позвольте игроку пройти приключение разными путями. Также, не заставляйте игроков решать загадки все время в одном и том же порядке, дайте им возможность быть гибкими. Единственная точка в игре, где возможен лишь один путь - это заключение, где все ветки загадок сходятся воедино, формируя последнее испытание.

     Связь между загадками также важна. Убедитесь, что каждая из загадок «подходит» к другим. Если у вас есть в запасе необычайно трудная загадка, но вы не можете логически вплести ее в повествование, то не вставляйте ее в игру лишь для того, чтобы использовать идею. Сохраните ее для другой игры, где она будет более к месту. В этом смысле, одним из самых больших злоупотреблений являются лабиринты. Часто авторы просто впихивают лабиринт в игру, чтобы сделать ее потруднее, несмотря на то, что это совершенно не к месту и не имеет с игрой в целом никакой связи. Построение карт является очень нудным занятием, и лабиринты не одобряются в современных текстовых играх, если только они не воплощают изощренный сюжетный ход (как катакомбы в «Leather Goddesses of Phobos») или могут быть пройдены без построения карт (как мокрые туннели в «The Lurking Horror»). В общем, продумывая игру, вы должны спросить себя: «Этот лабиринт связан с игрой каким-то образом, или он находится здесь только чтобы быть?» Если последнее, то вам, скорее всего, нужно выкинуть его.

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

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

4. Делайте свой мир и загадки логичными
     Это, в принципе, всем понятно, но иногда не принимается в расчет. Если вы пишете игру в стиле научной фантастики, то уделяйте внимание физическим законам. Не позволяете игроку выходить в открытый космос и выживать там без скафандра. Реализм является меньшей проблемой в фантазийных играх, т.к. там можно что-то объяснить использованием магии. Однако, смысл в том, чтобы все имело какой-то определенный смысл. Особенно это важно в смысле загадок. Избегайте принуждать игрока делать вещи, которые не имеют за собой ни цели, ни смысла. Чем больше реалистична приключенческая игра, тем больше она притянет игроков.

5. Будьте описательны
     Вы создаете целый другой мир, так почему бы не дать игроку насладиться его красотой? Сколько раз вы играли в игру с описанием локаций типа «Вы в лесу», «Вы у подножия высокого утеса», «Вы у входа в пещеру» и т.п.? Термин «интерактивная литература» не случаен, игроки на самом деле исследуют что-то вроде литературного произведения, похожего на хороший роман, и делают свой вклад в повествование. Поэтому позвольте игроку увидеть мир, который вы создали, точно также, как ваши любимые писатели дали вам увидеть их миры.

     Постарайтесь, однако, не перегружать игроков описаниями. Если вы дадите им мало возможности общаться с миром игры, они подумают, что точно также они могли бы почитать книжку. Не увязайте в описаниях. Обычно половина экрана - это абсолютный максимум для описания локации или объекта, и превышать его следует лишь в особых случаях. Однако, если какая-либо загадка требует много текста для того, чтобы игрок смог понять, что от него требуется, то один-два экрана текста будет вполне приемлемым. (Хорошим примером такого случая является ящик зеркал в «Zork III».) Кроме того, не заставляйте игрока читать тот же самый текст снова и снова, если только он сам этого не захочет. Убедитесь, что ваш парсер поддерживает изменение длины описания локаций. Использование фраз типа «Вы в лесу» когда игрок во второй раз попадает в то же самое место вполне приемлемо. (Только будьте уверены, что он сможет получить лучшее описание, если захочет.)

     Здесь же мне хотелось бы сделать одно замечание на эту тему. Большинство авторов, в процессе создания хорошего описания любят включать несколько объектов в каждую локацию (например, в таверне может быть очаг, бар и несколько столов со стульями). Нет ничего более раздражающего, чем, набрав «ОСМОТРЕТЬ СТУЛЬЯ», получить «Я не знаю слова «стулья». Это гарантированно разбивает фантазию и уничтожает надежду на то, что игроки действительно проникнутся игрой. Сделайте так несколько раз и вы оттолкнете их навсегда. Если вы помещаете объект в описание локации, то позвольте игроку взаимодействовать с ним, хотя бы ограниченно. Достаточно даже просто сообщения «В стульях нет ничего особенного».

     Кстати, я думаю, что это является самой большой проблемой Zork-based MUD, в которую я как-то играл. Игроки видят название «основанная на Zork» (Zork-based) и они входят в телнет, ожидая тот же уровень реализма, который дал нам Infocom. И, к сожалению, очень редко получают его (если вообще получают). У меня самого была возможность испытать трудность просто пытаясь взаимодействовать с тем, что , как заявляла игра, было на одной локации со мной, и я думаю, что это скорее правило, чем исключение.

6. Будьте справедливы к игроку
     Я знаю, знаю. Жизнь несправедлива. Никогда не была и никогда не будет. Но приключенческие игры - не реальная жизнь, а форма развлечений. И игроки смогут развлекаться лишь в случае, если с ними обращаются справедливо. Здесь я собрал несколько общих замечаний, следовать которым вам необходимо, если вы хотите, чтобы так оно и было в вашей игре:

7. Не бойтесь «убивать» игрока
     В то же самое время, не водите игрока за ручку на протяжении всей игры. Дайте ему умереть в случае, если его действия были недостаточно умны. Умирание - естественная часть приключенческих игр. Можете ли вы представить, чем была бы трилогия Zork без постоянной опасности быть съеденным грю в темном месте? И попытайтесь вообразить «The Lurking Horror» без смерти! Что бы вы хотели увидеть в случае намеренно глупого поведения игрока - детальное, возможно остроумное, описание безвременной кончины вашего альтер-эго? Или занудное сообщение типа «Это убьет вас, поэтому я даже и пробовать не стану»? Верьте или нет, но это ЗАБАВНО - пытаться найти новые и изощренные способы прикончить своего персонажа (особенно если вы уже прошли игру). Если вы изнежите игрока чувством неуязвимости, то это лишь станет позднее причиной более сильного разочарования. Кроме того, это единственный способ избежать наказания за убийство в наши дни. Если вводите в игру команду UNDO, то не бойтесь дать игроку попользоваться этой командой.

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

     Другой момент, о котором стоит подумать, это хорошие вступление и эпилог. Некоторые авторы, может, предпочтут просто начать игру сразу после загрузки, как, например в первом «Zork». Другие же захотят последовать путем «Beyond Zork» и пропишут вводный текст на несколько экранов. В нескольких играх, таких как «Zork Zero» и «Demon's Tomb», есть даже своего рода прологи - вводные эпизоды, похожие на игру в целом, но занимающие непродолжительный период времени. Подойдет любой из этих методов.

     Однако, хорошее завершение игры - вещь абсолютно необходимая. Чего стоит продираться через всю игру только для того, чтобы увидеть в конце надпись: «Поздравляю, вы победили»? Хороший эпилог должен связать все сюжетные ходы воедино, проложить путь для продолжения (если вы пишете серию игр) и оставить у игрока чувство, что он действительно чего-то добился. Хорошая концовка будет перечитываться игроками снова и снова, но я могу гарантировать, что небрежно написанный эпилог будет прочитан лишь один раз.

9. Включите в игру хорошие источники информации
     Ваше вступление к игре - это все, что игроки узнают о мире игры в самом ее начале. Позвольте им исследовать этот мир, все различные детали, самостоятельно. Если мир вашей игры огромный и сложный, то создайте несколько источников информации внутри его самого чтобы помочь игроку. Вы можете сделать что-то вроде энциклопедии (как сделал Infocom в нескольких своих играх), газеты, компьютерную базу данных или другой вид хранилища информации (приходят в голову катушки с пленкой в игре «Stationfall»). В дополнение, вы можете создать одного или нескольких персонажей в игре, которые будут служить основным источником информации. Игрок сможет спросить этих персонажей о различных людях, местах или предметах в игре. Чем больше вы расскажете игроку о вашем мире, тем более сложным и реалистичным он предстанет перед ним.

10. Позаботьтесь о долголетии игры
     Куча хороших приключенческих игр просто собирают пыль на полке после того, как игрок проходит их. Часто этого можно избежать (или, по крайней мере, отложить), если будет приложено немного дополнительных усилий со стороны автора. Дайте возможность решить ваши загадки несколькими путями. Подумайте о различных способах смерти или забавных происшествиях для игрока. Некоторые игры даже завершаться могут по-разному, в зависимости от действий, которые игрок сделал или не сделал. Все эти вещи сохраняют интерес игрока к игре даже после того, как он прошел ее. Серии игр «Zork» и «Enchanter» - особенно хороший пример такого подхода. До сих пор я нахожу в них вещи, о которых даже и не подозревал. Немного дополнительного программирования может хорошо повлиять на вашу игру.

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

Антон Жучков aka Ton Fireball
fireton.narod.ru
fireton@mail.ru