logo
КонспЛекци1

Вопрос 36: Создание компьютерных игр. Генераторы комьпьютерных игр.

Разрабо́тка игр — это процесс производства компьютерных игр. Другое распространённое название: «геймдев» (от англ. game — игра и англ. development — разработка).

Обзор

Разработкой видеоигр занимается разработчик, который может быть представлен как одним человеком, так и фирмой. Обычно крупномасштабные коммерческие игры разрабатываются командами разработчиков в пределах компании, специализирующейся на компьютерных или консольных играх. Разработка AAA проекта стоит от миллиона долларов и более. Средний бюджет проекта колеблется от 18 до 24 млн долл. Если речь идёт о продукте для одной единственной платформы, то его стоимость составит около 10 млн долл.[1] Для российских компаний разработка среднего проекта обходится в среднем от 100 тысяч до миллиона долларов. Стоимость разработки маленьких российских проектов идет от 10 тысяч долларов.[2] Разработку обычно финансирует издатель, хотя последнее время появляются успешные примеры финансовых вливаний из индустрий, не связанных с геймдевом [3] [4]. Процесс разработки обычной современной игры занимает около года, для ААА-проектов может затянуться до 2-3 лет, цикл разработки обычных «казуальных» игр занимает порядка 4-6 месяцев, при том, что идет конвейерная разработка сразу 2-3 проектов. [5]

Специализации

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

Графический контент и ассеты (художники)

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

2D художник — основная его задача создание двухмерных персонажей для соответствующих игр (флэш игры, некоторые браузерные игры, игры для социальных сетей и тд), также их работы используются в рекламных и маркетинговых компаниях, при создании сайта игры для взаимодействия с игровым сообществом, для наполнения инсталятора игры, позволяя им по мере набора опыта становиться: концепт художником, дизайнером интерфейса или 2D художником в нетрёхмерном проекте, либо художником по текстурам

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

художник по текстурам — очередная специализация 2D художника, который способен создать скин для 3D модели в соответствии с концептом

3D моделер — как следует из названия, создают 3D сетки моделей зданий, техники в LightWave, 3d Studio Max, Maya и др., по мере набора опыта и при наличии навыков некоторые становятся моделерами персонажей

моделер персонажей — 2 узкоспециализированных подкласса 3D моделеров, создающих высокополигоналные модели танков, звездных кораблей и прочей техники, либо органики, впрочем превращающихся иногда бампмеппингом, нормалмеппингом в низкополигональные модельки для наиболее экономного расходования полигонального бюджета

аниматор или mocap studio — более старым методом создания движения является key framing, который до сих пор используется для анимирования негуманоидных монстров, техники, и нереальных для исполнения живым актером движений; mocap является более современным методом дающим, более плавную и реалистичную картину движения гуманоидного персонажа

художник спецэффектов (FX) — художник, разрабатывающий специальные эффекты (взрывы, системы частиц и т. д.)

Дизайн (Игровые дизайнеры)

ведущий дизайнер — помимо генерации и развития основной идеи, его задачей является координация работы остальных дизайнеров; его работа построена на тесном взаимодействии с арт директором и ведущим программистом и заключается не только в добавлении идей в игру, но и в определении того, что стоит в неё вносить; помимо этого он выполняет задачи, с которыми не в состоянии справиться дизайнерская команда

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

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

дизайнер UI — разрабатывает функционал пользовательского интерфейса, иногда собирает его из контента предоставленного художниками с помощью инструментов, сделанных программистами

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

Звук

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

композитор — создает или синтезирует музыкальное оформление для игры

актёры озвучивания — озвучивают персонажей

Контроль качества (тестеры)

Единственный способ убедиться в качестве игры — это поиграть в неё, в небольших компаниях на начальных стадиях за качество отвечает линейный продюсер, в более крупных проектах обосабливаются следующие команды:

QA (контроль качества) команда издателя — как и все отслеживают дефекты в контенте и баги, как правило указывая при этом какие баги править в первую очередь, наиболее жестко из всех следят за тем, чтобы разработка укладывалась в график

QA основная — внутренняя команда разработчика, оценивает одиночный режим игры

QA мультиплеер — если игра будет позиционироваться как мультиплеерная, то создается отдельная команда, которая им занимается

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

QA совместимости — если игру помимо консолей планируется выпустить на ПК, ее гоняют на нескольких десятках самых различных конфигураций; проверяется правильность настроек производительности и поддержка основной массы «железа»

QA локализации — проверяется качества перевода

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

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

Программирование (инженеры)

ведущий программист — до 90-х гг мог быть единственным программистом[источник не указан 265 дней], как правило, это программист с наибольшим опытом, и не обязательно руководитель, т. к. иногда управление кодингом складывается на технического директора, которому отчитываются руководители отделов

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

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

3D-программист — от него зависит отображение мира на экране, поэтому от него требуются глубокие познания в векторной алгебре, численных методах, тригонометрии

программист AI — требования к нему сильно размыты при переходе от одного к другому жанру; именно он предоставляет возможность дизайнеру уровней задавать через тригеры и скрипты ответ окружения, мобов, NPC на действия игрока

программист UI — создает пользовательский интерфейс, позволяющий данным с HUD воздействовать на игровую механику, будь то выбор меню или осмотр карты

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

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

В последнее время программистов часто называют инженерами (от английского software engineer).

Управление (продюсеры)

линейный продюсер — решает повседневные вопросы компании, начиная от заказа ужина для заработавшихся работников и прохладительных напитков в жаркий день, заканчивая рассылкой свежих билдов бета тестировщикам и издателю, следит за тем, чтобы разработчики не слишком много рабочего времени уделяли «изучению» продукции конкурентов

сопродюсер (associate) — как следует из названия, объединяет работу нескольких команд или офисов, отвечает за обновление и доведение планов до участников команды, отчитывается за их выполнение перед начальством

исполнительный продюсер — отвечает за составление планов и их своевременное исполнение в контексте бюджета, ведёт переговоры с инвесторами, издателями, заключает сделки со сторонними разработчиками, решает кадровые вопросы

Другие специальности

При разработке ММО возникает необходимость в поддержке проекта, что влечёт за собой появление дополнительных специальностей — операторский отдел, платёжный отдел (и создание платёжной системы), гейммастера, отдел продаж, рекламный и т. д.

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

Процесс разработки

Процесс разработки игры меняется в зависимости от компании и проекта. Однако разработка коммерческой игры обычно включает следующие этапы:

Предпроизводственный процесс (препродакшн)

Ранние стадии разработки игры часто характеризуются низким качеством графики. Особенно это справедливо для различных игровых прототипов.

Обычно перед началом разработки любой игры должна сформироваться идея, а издатель/разработчик должен дать «зелёный свет».

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

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

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

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

Производство

На этапе основного производства выполняется огромный объём работ. Программисты пишут исходный код, художники рисуют графику (спрайты или 3D-модели игровых элементов). Звукооператоры разрабатывают звуковые эффекты, а композиторы пишут музыку для игры. Дизайнеры уровней создают уровни, а писатели пишут диалоги для скриптовых сцен и неигровых персонажей.

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

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

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

Поддержка

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

Аутсорсинг

Некоторые аспекты производства видеоигр, такие как создание и подбор музыки и звуков, актерская озвучка или motion capture зачастую требуют нецелесообразных финансовых вложений, если выполняются средствами разработчика.[6] Эффективное использование ресурсов достигается в случае, если разработчик создает несколько игр одновременно и имеет внутренние отделы для реализации конкретных задач или через аутсорсинг. Нанимать сотрудников в штат для выполнения этих задач компаниям не выгодно, поэтому абсолютное большинство разработчиков прибегают к услугам соисполнителей для выполнения части своего проекта.[7] Планы касательно аутсорсинга рассматривают на этапе подготовки производства; именно тогда рассчитывают необходимые временные и финансовые затраты на работу, которая будет произведена вне компании-разработчика.

Программирование обычно не отдают на аутсорсинг. Однако, некоторые модульные инструменты, такие как видео-компрессор или редактор уровней могут быть отданы другой студии на разработку.[8]

Цены на создание музыкальных треков разнятся в стоимости в зависимости от длины, метода произведения (синтез или живое исполнение) и опыта композитора. В 2003 г. минута высококачественной синтезированной музыки стоила $600-1500. 60 минут музыки для игры с 20 часами геймплея могли обойтись издателю в 50-60 тысяч долларов.[9]

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

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