HWW Portfolio

Software and Hardware Developer

Методы разработчиков ААА-игр для инди-студии

Общее в решениях 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 без эмоций, необходимо сфокусироваться на замысле создателей и том, насколько реализация соответствует этому замыслу. В этом смысле обе игры безупречны:

📊 Критический фактор успеха:
Для успеха недостаточно просто завершить работу в срок. Успешность проекта зависит от того, насколько много времени было уделено тем важным деталям, за которые игроки любят эту игру. А это требует высокой эффективности, гибкости и масштабируемости инструментов разработки (Tooling).


Сходства технологических платформ

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

Несмотря на фундаментальную разницу в способе ввода (текст против графики), между архитектурами систем есть фундаментальное сходство:

⚙️ Четыре столпа эффективного рантайма:

  1. Двухуровневая архитектура: В основе ядра всегда лежат два независимых слоя — высокопроизводительный базис на C++ и высокоуровневый код игровой логики на динамическом проблемно-ориентированном языке (DSL).
  2. Полная автономность дизайна: Игровой дизайнер может самостоятельно создать любую необходимую структуру данных или поведение без участия программиста и без изменения исходного кода движка.
  3. Бесшовная итеративность (Hot Reload): Технология позволяет мгновенно вносить изменения и тестировать их без перезапуска игры (даже в процессе отладки на удаленной целевой платформе/консоли).
  4. Параллельное производство: Инструменты изначально рассчитаны на одновременную работу большой распределенной группы людей и технически сводят к минимуму взаимные коллизии при слиянии ассетов.

🚀 Эти четыре пункта являются ключевыми. Их внедрение способно многократно повысить скорость и качество работы любой инди-студии.


Различия: Текст против Графики

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

📉 Ресурсный маркер: Для жесткого подтверждения стоило бы сравнить бюджеты и человеко-часы, потраченные на оба проекта. Относительно точно известны лишь данные Naughty Dog, а цифры по Kojima Productions в открытых источниках противоречивы. Однако имеющиеся в индустрии данные позволяют утверждать, что проект Хидэо Кодзимы потребовал кратно больших ресурсов для достижения сопоставимого результата.


Выводы

В основе эффективных методов разработки AAA-уровня, применимых в инди-сегменте, лежат два фундаментальных постулата:

  1. 🔄 Разработка игры — это итерационный процесс. Необходимо аппаратно минимизировать или полностью исключить для дизайнеров и контент-мейкеров потребность в компиляции кода и перезапуске игрового клиента.
  2. 👥 Разработка игры — это коллективный процесс. Когда над проектом одновременно работают десятки людей, архитектура инструментов обязана минимизировать любые взаимные коллизии (merge conflicts) и время ожидания процессов.

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

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


Ссылки и источники


#tags #unitygames #gamedeveloper #unity3d #madewithunity #indiegaming #gamedevelopment #indiedev #gamedev #indiegamedev #indiegame