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

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

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


Сложные задачи баланса и их решение

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

Это фундаментальная задача баланса. Мы часто хотим решить одну проблему. Но любое наше изменение будет иметь много разных последствий в разных местах игры.

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

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

Психолог Дитрих Дернер говорит о том, как нелегко управлять сложностью:


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


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

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


Методы создания баланса

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

Реактивный рюкзак должен запускать его владельца далеко и быстро, потому что он предназначен именно для этого. Броня должна защищать. Артиллерийская пушка должна пускать снаряды на дальние расстояния; в противном случае это не артиллерийская пушка. Зерновые культуры должны обеспечивать еду; в противном случае это не зерновые культуры.

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

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

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


Рекомендуем почитать
Изучаем 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-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.