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

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

БРЕМЯ НЕЗАВЕРШЕННОСТИ – цена, которую платят люди, вынужденные выполнять работу, которая зависит от незавершенных частей игры.

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

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

РИСКИ КРИТИЧЕСКОГО ОТКАЗА – это затраты, вызванные критическими отказами сырой системы.

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

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

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

НАГРУЗКИ, СВЯЗАННЫЕ С ПРОЦЕССОМ РАЗРАБОТКИ, – цена отслеживания и составления графика работ.

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

Низкий уровень нагрузок, связанных с процессом разработки, является одним из самых больших преимуществ небольших команд. В то время, когда я работал один над уровнями Unreal Tournament ради развлечения, четыре часа рабочего времени означали десять минут изучения своих заметок и три часа пятьдесят минут работы в редакторе уровней. Я знал о дизайне все и ни от кого не зависел. Если вы работаете над большими студийными проектами, четыре часа рабочего времени часто означают час написания спецификаций, еще один час обсуждения и два часа на саму работу в редакторе. В первом случае нагрузки, связанные с процессом разработки, занимают 4 % моего времени. Во втором – 50 %.

ТАКТИЧЕСКИЕ ПОСЛЕДСТВИЯ влияют на отношения между разработчиками.

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

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

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

КУЛЬТУРНЫЕ ПОСЛЕДСТВИЯ меняют привычки разработчиков и атмосферу развития.

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


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