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

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

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


Прекрасный запах элегантности поутру

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

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

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

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

Механика, которая взаимодействует со многими другими механиками, пахнет элегантностью.

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

Например, обдумывая заклинание в фэнтезийной игре в жанре RPG (ролевая игра), спросите себя: может ли оно взаимодействовать с другими заклинаниями? Сможет ли взаимодействовать с членами группы, с несколькими противниками, с окружающей средой, системой морали, нарративом или статистикой игрока? Механика может даже взаимодействовать сама с собой. Например, в шахматах в разных позициях пешки могут претендовать на разные части доски.

Простая механика пахнет элегантностью.

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

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

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

Механика, которую можно использовать несколькими способами, пахнет элегантностью.

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

Например, в большинстве шутеров оружие используется в основном для нападения. Игроки защищаются побегом и укрытием, используя оружие только для того, чтобы напасть на врага. Серия игр The Resident Evil в жанре симулятора выживания решает эту задачу по-своему. В Resident Evil игрок не может двигаться во время стрельбы, а выстрелы приводят к тому, что нападающие зомби останавливаются на несколько секунд. В этой игре оружие используется одновременно и для наступления, и для обороны, а игроки часто стреляют по зомби без намерения убивать их, а просто чтобы замедлить их приближение. Привязка функции атаки и защиты к одному и тому же инструменту означает, что игроки должны выбирать между потребностью в наступлении или обороне. Вы замедлите зомби, который волочит свое туловище в вашу сторону или выстрелите в голову ценной мишени вдали?

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

Механика, которая не совпадает с ролью другой механики, пахнет элегантностью.

Роль – это способ использования механики. Например, в стратегиях встречаются такие виды персонажей (юниты), как приставала (харассер)


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