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

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


Равновесие Нэша

Основным понятием теории игр является равновесие Нэша.

Давайте разберемся.

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

РАВНОВЕСИЕ НЭША – это набор стратегий, при которых ни один игрок не может улучшить свой собственный результат, изменив только свою стратегию.

Равновесие Нэша – это просто особая комбинация стратегий. В частности, это тот случай, когда ни у одного из игроков нет причин менять стратегию, если они предполагают, что никто другой этого не сделает. Звучит нелогично, но это отличная идея.

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

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

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

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

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

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

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


Игры «камень, ножницы, бумага» и «орлянка»

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



Но это легче представить так:



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

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

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

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


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