Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше - [20]

Шрифт
Интервал

Это был многопользовательский матч игры Halo: Combat Evolved. Но этот опыт не записан на диске Halo, и он никогда не повторится таким же образом. Он возник в процессе игры в результате взаимодействия простых механик, таких как физика, гравитация, тюнинг оружия, карты и многопользовательский режим с разделенным экраном. Дизайн игры Halo считается хорошим не потому, что в ней присутствует такой насыщенный опыт, а потому, что в ней существует игровая механика, которая регулярно его генерирует. И игра будет продолжать генерировать новый опыт – всегда. Это и называется силой непредсказуемости.

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

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

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

А теперь представьте, что будет, если объединить эту механику в одной игре. Вы можете кататься на американских горках, смотреть в любом направлении и стрелять в пролетающие мимо самолеты. Эта комбинация не просто складывает воедино опыт «смотрения» по сторонам и стрельбы. Она превращает их в комбинаторный взрыв новых возникающих возможностей. Теперь мы можем прицелиться там, где раньше это было невозможно. Игроки должны расставлять приоритеты между врагами. Игроку, возможно, даже придется научиться ситуационной осведомленности, чтобы знать, где искать цели, которые не отображаются на экране. Эта простая комбинация «смотри-стреляй» настолько изящна, что она лежит в основе бесчисленных игр, от The House of the Dead до Space Invaders.

Теперь представьте, что вы добавляете механику движения. Игрок может бегать вокруг, смотреть и стрелять в любом направлении. Количество возможностей снова увеличивается. Теперь игрок может передвигаться, чтобы уклоняться от атак, бросаться в атаку или исследовать локацию, чтобы узнать ее историю. Игры, разработанные на основе этой простой комбинации «стреляй, смотри и беги», приносят миллиарды долларов каждый год. Они сильно различаются по сюжету и акценту: в одной игре вы – космодесантник, стреляющий в инопланетян; в другой вы исследуете мрачный подводный город. Но все эти игры имеют одинаковое элегантное ядро: «стреляй, смотри и беги».

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

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

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

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

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

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


Рекомендуем почитать
Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


Фундаментальные алгоритмы и структуры данных в Delphi

Книга "Фундаментальные алгоритмы и структуры данных в Delphi" представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала "Delphi Informant" за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как «самая лучшая книга по практическому применению всех версий Delphi».В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.