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

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

Теория игр помогает анализировать ситуации, когда игроки должны предвидеть и реагировать на решения друг друга.

Подумайте о разнице между разрушением заброшенного замка и нападением на захваченный замок.

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

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

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



Как видите, наилучшего выбора в данном случае нет.

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

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

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



Как и в битве за замок, выбор Тага зависит от выбора Бларга, и наоборот.

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

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


Игры и стратегические взаимодействия

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

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

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


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