Методы разработчиков ААА-игр для инди-студии
Общее в решениях Naughty Dog и Kojima Productions
Материал из R&D-архива проекта hww.
Автор: Валерия Пудова
Дата написания: 18.08.2022.

Рассматривая AAA-игры как идеал, который невозможно достичь, инди-разработчики рискуют потерпеть неудачу. Я скажу напротив — такие проекты, как Death Stranding или The Last of Us, необходимо анализировать каждому, а подходы разработчиков применять и в своей практике.
Вышеозначенные проекты в качестве примера я привела неслучайно: этот документ — их сравнительный анализ. Давайте посмотрим на примере Kojima Productions и Naughty Dog, что общего в подходах разработчиков и каковы различия — для того чтобы сформулировать позитивный опыт, который будет очень полезен для инди-студии.
Замысел и соответствие реализации
Сравнивая игры Death Stranding и The Last of Us без эмоций, необходимо сфокусироваться на замысле создателей и том, насколько реализация соответствует этому замыслу. В этом смысле обе игры безупречны:
- The Last of Us — игра-кино, в которой режиссура момента имеет наибольшее значение. Всё — каждый аспект — подчиняется главной цели: раскрыть персонажей и двигать драматургическое действие вперёд. Игрок здесь — наблюдатель, который глубоко погружен во взаимоотношения героев, в напряженную динамику увлекательных столкновений и, порой, пугающих событий.
- Death Stranding — игра-путешествие, в которой характеры условны, а главная задача — обратиться напрямую к игроку, поместить его в предлагаемые обстоятельства, дать ему необходимые инструменты и заставить действовать, а затем — сталкивать его в условиях свободы с препятствиями и силами антагонизма.
📊 Критический фактор успеха:
Для успеха недостаточно просто завершить работу в срок. Успешность проекта зависит от того, насколько много времени было уделено тем важным деталям, за которые игроки любят эту игру. А это требует высокой эффективности, гибкости и масштабируемости инструментов разработки (Tooling).
Сходства технологических платформ
Так как обе команды разработчиков достигли желаемого результата, то их технологии и инструменты напрямую способствовали успеху.
- В компании Naughty Dog игровые дизайнеры используют специализированный текстовый DC-скрипт язык. Это Domain Specific Language (DSL), который одинаково хорошо подходит как для описания сложных структур данных, так и для имплементации логики.
- Компания Kojima Productions использует движок Decima (от Guerrilla Games, известного по Horizon Zero Dawn), где основной способ декларации структур данных и логики — это графическое нодовое программирование.
Несмотря на фундаментальную разницу в способе ввода (текст против графики), между архитектурами систем есть фундаментальное сходство:
⚙️ Четыре столпа эффективного рантайма:
- Двухуровневая архитектура: В основе ядра всегда лежат два независимых слоя — высокопроизводительный базис на C++ и высокоуровневый код игровой логики на динамическом проблемно-ориентированном языке (DSL).
- Полная автономность дизайна: Игровой дизайнер может самостоятельно создать любую необходимую структуру данных или поведение без участия программиста и без изменения исходного кода движка.
- Бесшовная итеративность (Hot Reload): Технология позволяет мгновенно вносить изменения и тестировать их без перезапуска игры (даже в процессе отладки на удаленной целевой платформе/консоли).
- Параллельное производство: Инструменты изначально рассчитаны на одновременную работу большой распределенной группы людей и технически сводят к минимуму взаимные коллизии при слиянии ассетов.
🚀 Эти четыре пункта являются ключевыми. Их внедрение способно многократно повысить скорость и качество работы любой инди-студии.
Различия: Текст против Графики
Сравнивая графический и текстовый способы ввода, необходимо зафиксировать: графическое программирование не является более совершенным. В конечном итоге большинство программ в мире написаны именно текстом, и это не случайно.
- Иллюзия простоты: Единственное реальное преимущество графического способа (визуальных нод) заключается в том, что дизайнеру проще научиться им пользоваться. Однако проще научиться не означает проще и эффективнее использовать в долгосрочной перспективе.
- Фактор эффективности: Декларативный или проблемно-ориентированный текстовый язык программирования (DSL) в разы эффективнее при масштабировании систем. Именно поэтому текстовый подход Naughty Dog является более рациональным и сбалансированным, чем нодовый подход движка Decima у Kojima Productions.
📉 Ресурсный маркер: Для жесткого подтверждения стоило бы сравнить бюджеты и человеко-часы, потраченные на оба проекта. Относительно точно известны лишь данные Naughty Dog, а цифры по Kojima Productions в открытых источниках противоречивы. Однако имеющиеся в индустрии данные позволяют утверждать, что проект Хидэо Кодзимы потребовал кратно больших ресурсов для достижения сопоставимого результата.
Выводы
В основе эффективных методов разработки AAA-уровня, применимых в инди-сегменте, лежат два фундаментальных постулата:
- 🔄 Разработка игры — это итерационный процесс. Необходимо аппаратно минимизировать или полностью исключить для дизайнеров и контент-мейкеров потребность в компиляции кода и перезапуске игрового клиента.
- 👥 Разработка игры — это коллективный процесс. Когда над проектом одновременно работают десятки людей, архитектура инструментов обязана минимизировать любые взаимные коллизии (merge conflicts) и время ожидания процессов.
Чтобы добиться наилучшего результата, стоит учиться у технологических лидеров индустрии. Проектировать игры эффективными методами можно и нужно даже в рамках скромных инди-бюджетов — эти архитектурные принципы универсальны и применимы вне зависимости от выбранного движка или целевой платформы.
Изучая и внедряя практики ведущих студий, вы не просто экономите ресурсы здесь и сейчас, но и качественно повышаете профессионализм своей команды. А это напрямую определяет финальный результат — вашу великолепную, отзывчивую и коммерчески успешную игру.
Ссылки и источники
- [1] More than half of Death Stranding’s team defected from Konami (Аналитика кадрового состава Kojima Productions).
- [2] Outernauts: From AAA Console to AAA Flash Games, Joe Valenzuela, Insomniac Games (Применение AAA-методологии в малых проектах).
- [3] Unsynced: The Last of Us Melee System, Anthony Newman, Naughty Dog, Inc. (Спецификация DSL и систем данных в рантайме).
#tags #unitygames #gamedeveloper #unity3d #madewithunity #indiegaming #gamedevelopment #indiedev #gamedev #indiegamedev #indiegame