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

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

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

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

Например, представьте, что игрок шутера наводит прицел на цель с постоянной скоростью. Игрок видит, что цель будет под прицелом через 0,5 секунды. Представьте, что игра работает на скорости 30 к/с, а экран добавляет 50 мс запаздывания. Это значит, что общая задержка входного сигнала составляет 183 мс (четыре кадра по 1/30 секунды каждый плюс 50 мс от телевизора).

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

Правильная кадровая частота зависит от потребностей дизайна. Некоторые старые текстовые приключенческие игры запускались со скоростью менее 1 к/с, поскольку им требовалось время, чтобы набрать описание на экране, шутеры типа Quake 3 можно запускать со скоростью 200 к/с и больше. Игры с частотой 1 к/с являются жизнеспособными, если они пошаговые и управляются нажатием клавиш. Частота 200 к/с – это верхний уровень кадровой частоты, к которому стремятся те, кто играет в соревновательные шутеры на ПК. Эти игроки запускают игры 10-летней давности на оборудовании в 30 раз более мощном, чем лучшее из доступного на момент выхода игры. Так они хотят получить максимум конкурентного преимущества.

Тем не менее подавляющее большинство игр запускается на скорости 30 или 60 к/с. Немногие игроки могут почувствовать улучшение выше 60 к/с, а кадровые частоты меньше 30 к/с слишком низки, чтобы их можно было визуально заметить. Как правило, вы выбираете между этими двумя альтернативами. При 30 к/с, с оптимальной задержкой в четыре фрейма, задержка составляет от 100 до 133 мс плюс задержка экрана. При 60 к/с задержка падает до 50–67 мс плюс задержка экрана. В мире без ограничений по вычислительной мощности мы всегда выбираем 60 к/с. Однако в реальной жизни 60 к/с обходится дорого. Джон Кармак, легендарный разработчик игр Doom и Quake, заявил, что игра с частотой 60 к/с занимает около трети вычислительной мощности, доступной на фрейм, как и игра с частотой 30 к/с. Это дорогостоящий компромисс между графикой и технологической сложностью.

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

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


Дизайн входного сигнала

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

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


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