Разработка компьютерных игр
Разрабо́тка компьютерных игр — процесс создания компьютерных игр
Обзор
Разработкой компьютерных игр может заниматься как один человек, так и фирма (коллектив разработчиков). Коммерческие игры создаются командами разработчиков, нанятыми одной фирмой. Фирмы могут специализироваться на производстве игр для персональных компьютеров, игровых приставок или планшетных компьютеров. Разработка может финансироваться другой, более крупной фирмой — издателем. Фирма-издатель по окончании разработки занимается распространением игры и берёт на себя связанные с этим затраты. Противоположным подходом является такая разработка, когда фирма самостоятельно (без участия издателей) распространяет копии игр, например, средствами цифровой дистрибуции.
Разработка наиболее крупнобюджетных игр может стоить десятки миллионов долларов США, причём в последние 2 десятилетия эти бюджеты непрерывно росли, как и численность команд разработчиков и сроки разработки. Так, в конце девяностых игру для консоли PlayStation для конечного покупателя — могла сделать команда из 10 человек за год, для PlayStation 2 (первая половина 2000-х годов) необходима была команда из 30-50 человек и два года разработки, к 2012 году речь шла уже о командах из свыше чем 100 разработчиков и срок порядка трёх лет. По утверждению Алекса Мура, геймдизайнера из компании Sumo Digital, если бы цена игры для конечного потребителя росла в той же пропорции, игры в 2012 году стоили бы по 1800 долларов США; иными словами, чтобы окупить возросшие бюджеты при сохранении тех же цен в магазинах, компании-издатели должны продавать намного больше копий игр[1].
Крупнобюджетная игра для двух платформ — Xbox 360 и PlayStation 3 — обходилась в 2012 году в среднем в 20 миллионов долларов, и для того, чтобы она окупилась, нужно было продать около двух миллионов копий[2].
Роли
В начале 1980-х годов после появления первых домашних компьютеров и игровых приставок один программист мог управлять почти всеми задачами, связанными с разработкой игры. Разработка современных игр предполагает наличие широкого круга навыков и персонала поддержки. Для работы над одним проектом требуются целые команды, в состав которых обычно входят представители ряда специализаций.
Продюсер
Разработка игры контролируется внутренними и внешними продюсерами[3][4]. Внешними являются те, которых издатель приставил к команде разработчиков для того, чтобы контролировать прогресс разработки и следить за тратами бюджета[5]. Внутренними продюсерами считают тех, кто работает в студии, разрабатывающей игру. Они управляют командой разработчиков, графиками, отчётами о ходе работы, нанимают и назначают сотрудников и так далее[4][6]. Обязанности продюсера включают в себя связи с общественностью, переговоры, подписание контрактов, поддержание связи между персоналом и заинтересованными сторонами, поддержание графика и бюджета, обеспечение качества, управление бета-тестированием и локализацией[4][7]. Человеком с этой должностью можно также называть менеджером проекта, руководителем проекта или директором[4][7].
Издатель
Издатель компьютерных игр — компания, которая публикует/издаёт компьютерные игры. Игры могут быть как созданы компанией-издателем, так и разработаны другой компанией. Как и издатели книг или DVD фильмов, издатели компьютерных игр несут ответственность за производство и маркетинг своего продукта, в том числе исследования рынка и все аспекты рекламы.
Обычно издатели финансируют разработку, иногда, платя разработчику компьютерных игр (издатель называет это внешней разработкой), а иногда и оплачивая внутренний штат разработчиков, называемый студией. Следовательно, они также, как правило, владеют правами на игру. Крупные издатели компьютерных игр также распространяют игры, которые они публикуют, в то время как некоторые более мелкие издатели вместо этого нанимают дистрибьюторские компании (или более крупные издатели компьютерных игр) для распространения игр, которые они публикуют.
Другие функции, обычно выполняемые издателем, включают в себя оплату любой лицензии, которую использует игра (лицензия на музыку, на использование бренда и т. д.), плата за локализацию игры, создание элементов графического дизайна, таких как дизайн коробки и обложки игры и так далее.
Крупные издатели могут также попытаться повысить эффективность во всех внутренних и внешних командах разработчиков, предоставляя такие услуги, как звуковой дизайн и пакеты кода для общедоступных функций.
Поскольку издатель обычно финансирует разработку игры, то он обычно пытается управлять риском разработки с продюсерами или менеджерами проекта. Это позволяет следить за ходом работы разработчиков и при необходимости помогать. Большинство компьютерных игр, созданных сторонним разработчиком, оплачиваются с периодическими достижениями в отношении роялти. Эти авансы выплачиваются в случае, если разработчик достигает определённых этапов разработки, называемых вехами.
Независимые разработчики создают игры без издателя и могут самостоятельно выбрать способ дистрибуции. Иногда независимые разработчики обращаются к издателям для того, чтобы те помогли им с продвижением и/или с распространением игры.
Команда разработки
Команды разработчиков могут варьироваться в размерах от небольших групп по два-три человека, которые делают казуальные игры у себя дома, до сотен, или даже тысяч, сотрудников, которые создают игры крупного масштаба[8]. Компании делят подзадачи разработки игры. Отдельные должности могут различаться, однако роли в отрасли одинаковы[9]. Команда разработчиков состоит из нескольких сотрудников[10]. Некоторые из них могут выполнять несколько ролей; аналогично, несколько задач могут делаться одним и тем же сотрудником[9]. Размер команды может варьироваться от 20 до 100 и более человек, в зависимости от масштабности игры. Больше всего в команде художников, затем программистов, затем геймдизайнеров, далее специалистов по звуковому сопровождению, а также двое или трое продюсеров, берущих на себя менеджмент. Люди на этих должностях отрабатывают полный рабочий день. На других должностях, таких как тестировщики, сотрудники могут быть заняты неполный рабочий день[11]. Зарплаты на этих должностях зависят от опыта и местонахождения сотрудника. Зарплата начинающего программиста в США составляет в среднем около 70 000 долларов в год, а у опытного 125 000[12].
В команду разработки входят должности, представленные ниже[9].
Геймдизайнер
Геймдизайнер — это человек, который проектирует игровой процесс, задумывая и проектируя правила и структуру игры[13][14][15]. Команды разработчиков обычно имеют ведущего геймдизайнера, который координирует работу других геймдизайнеров. Они являются теми, кто лучше других имеет понимание того, какой будет игра[16]. Одна из задач геймдизайнера — это продумывать, как будет идти повествование в игре, продумывать диалоги, комментарии, кат-сцены, упаковку игры при продаже, подсказки и так далее[17][18][19]. В крупных проектах часто бывают отдельные геймдизайнеры для различных частей игры, например, геймдизайнер игровых механик, пользовательского интерфейса, персонажей, диалогов и т. д.
Художник
Художник рисует то, как будет выглядеть игра[20][21]. В отделе художников, как правило, есть директор или руководитель, занимающийся в том числе тем, чтобы видение игры у коллег совпадало. Директор руководит отделом, планирует и координирует их действия внутри всей команды разработчиков[20].
Работа художника может быть 2D- или 3D-ориентированной. 2D-художники могут создавать концепт-арты[22][23], спрайты[24], текстуры[25][26], изображения фона и местности[22][26], и пользовательский интерфейс[24]. 3D-художники могут создавать модели или полигональные сетки[27][28], анимацию[27], трёхмерное окружение[29] и кинематику[29]. Художники иногда выполняют обе роли (2D и 3D).
Программист
Игровой программист — это инженер-программист, который в основном разрабатывает компьютерные игры или относящееся к ним программное обеспечение (такое как инструменты разработки игр). Всю работу с исходным кодом выполняют программисты[30][31]. Как правило, есть один или несколько ведущих программистов[32], которые реализуют начальную кодовую базу, планируют развитие проекта в будущем, а также координируют других программистов.
Игровой программист может быть занят разработкой таких аспектов, как[30]:
- Физика — программирование игрового движка, в том числе симуляция «физики» (физическая модель) — движения объектов, столкновений и т.п.;
- Искусственный интеллект (ИИ) — создание компьютерных агентов с использованием методов ИИ; сюда входит написание скриптов, планирование, логическое программирование и др.
- Графика — управление использованием графического содержимого и памяти компьютера; разработка графического движка, интеграция трёхмерных моделей, текстур для работы по движку физики.
- Звуковое сопровождение — интеграция музыки, речи, звуковых эффектов в нужное место и время.
- Геймплей — реализация различных игровых механик и особенностей;
- Сценарии — разработка и поддержание высокоуровневой системы команд для различных внутри-игровых задач, таких как ИИ, триггеры редактора уровней и др.
- Пользовательский интерфейс — программирование пунктов меню, визуального интерфейса, системы помощи и обратной связи и др.
- Устройства ввода — обработка и настройка работы с различными устройствами ввода, таких как клавиатура, мышь, геймпад и т. д.
- Сетевые коммуникации — управление вводом и выводом данных для локальных сетей или для Интернета.
- Инструменты разработки игр — производство вспомогательного специализированного программного обеспечения, сопровождающих разработку игры; используется чаще в помощь дизайнерам и сценаристам.
Геймдизайнер уровней
Геймдизайнер уровней — это человек, который создает уровни, задачи или миссии для компьютерных видеоигр, используя при этом инструменты разработки игр или другие программы[33][34]. Это могут быть общедоступные коммерческие программы 3D или 2D проектирования, или специально разработанные редакторы уровней, созданные для конкретной игры.
Геймдизайнеры уровней работают как с незавершенной, так и с завершенной версией игры. Игровые программисты обычно разрабатывают редакторы уровней и инструменты разработки игры для геймдизайнеров уровней, чтобы те их использовали. Это избавляет геймдизайнеров от необходимости доступа к игровому коду или его изменения. Геймдизайнеры могут использовать высокоуровневый и/или скриптовый язык программирования для того, чтобы задавать интерактивное взаимодействие игрока и ИИ. В отличие от инструментов редактирования уровня, которые иногда доступны сообществу игроков, геймдизайнеры уровней часто работают с имитаторами и прототипами, нацеленными на согласованность и четкость компоновки, и эта работа может выполняться до того, как будет завершена художественная часть.
Звукорежиссёр
Звукорежиссёры являются техническими специалистами, ответственными за звуковые эффекты и звуковое сопровождение на протяжении всей игры. Иногда они контролируют создание голосовых и других звуковых наборов[35][36]. Композиторы, которые создают музыкальную часть игры, входят в состав команды разработчиков, работающих со звуком, хотя часто эта работа передается на аутсорсинг. Также создатели игр заказывают музыку у музыкальных продюсеров.
Тестировщик
Обеспечение качества осуществляется путем тестирования. Тестировщик анализирует компьютерную игру и документально фиксирует найденные им дефекты и ошибки, что является частью всего процесса контроля качества. Тестирование, как правило, требует хороших компьютерных знаний и компетентности в аналитике[26][37].
Тестировщики проверяют, что игра совпадает с тем, что было спроектировано: она должна работать как задумано и приносить удовольствие игроку[38]. Это включает в себя тестирование всех функций, совместимости, локализации и т. д. Хотя тестирование необходимо на протяжении всего процесса разработки, но оно может быть дорого и часто активно используется только во время завершения проекта.
Проектная документация
С тех пор, как над играми стали работать целые коллективы разработчиков, возникла необходимость документировать процесс разработки. С одной стороны, это в какой-то мере облегчает поиск коллег и инвестиций, с другой позволяет планировать бюджет и координировать разработку. Содержание и перечень документов значительно варьируются в зависимости от уровня разработчика, но вот 3 основных документа:
- концепт-документ 2-6 страниц текста, по возможности, разбавленных иллюстрациями, показывающие основные особенности игры, из которого приблизительно видно, какие ресурсы потребуются на разработку
- дизайн-документ — после того как становится ясно, что этап препродакшена будет пройден, концепт-док начинает обрастать деталями и превращаться в дизайн-документ
- документ-предложение (англ. proposal document) краткое описание игры, без внутренних деталей разработки, объясняющее потенциальному инвестору, почему игра принесет прибыль
- technical design document — у небольших русских разработчиков, как правило, отдельно не выделяется, описывает технические требования к игре (типа полигонального бюджета, кадры в секунду (фпс), объёма памяти, портируемости, использования баз данных, противодействие читам, использование многопоточности); определяет используемые утилиты, языки программирования.
Процесс разработки
Процесс разработки игры обычно включает следующие этапы:
- подготовка («препродакшн» от англ. pre production);
- уточнение геймдизайна;
- производство;
- поддержка.
Этапы могут меняться в зависимости от предпочтений фирмы и особенностей проекта.
Предпроизводственный процесс (препродакшн)
Обычно перед началом разработки любой игры должна сформироваться идея, а издатель/разработчик должен дать «зелёный свет».
В более распространённом случае, если разработчик и издатель являются разными компаниями, идея должна быть предложена руководству, одобрена и выставлена на рассмотрение издателям. В этом деле может помочь рабочее демо, но оно не является обязательным для авторитетного издателя с хорошей репутацией. Если заинтересованный издатель найден, можно начинать производство. Сегодня идея игры редко убеждает, если в ней не заинтересован издатель.
Если разработчик также является издателем, или если они оба являются подразделениями одной компании, то одобрение должно дать только высшее руководство. Однако, в зависимости от размера компании-издателя, может потребоваться несколько попыток, пока идея не поднимется вверх через все слои руководства.
Представителем проекта обычно является геймдизайнер, но им также может быть человек из игровой индустрии любой другой должности. Перед началом полномасштабного производства геймдизайнер должен написать дизайн-документ — подробный документ, описывающий концепцию и геймплей. Также он может содержать некоторые предварительные скетчи (эскизы, рисунки) различных аспектов игры. Некоторые геймдизайнеры включают в дизайн-документ даже примерный рабочий прототип, демонстрирующий одну или несколько сторон игры. Обычно дизайн-документ объединяет в себе все или большую часть материалов начального замысла. Основная особенность дизайн-документа — это его «живость» — в действительности он не будет завершён до тех пор, пока игра находится в разработке. Он может изменяться каждую неделю, иногда — каждый день. Поэтому, даже если дизайн-документ должен существовать в некоторой форме перед началом полномасштабного производства, он почти никогда не является завершённым дизайном, хотя может описывать многие аспекты всех стадий полностью спроектированной игры.
Перед тем, как появится одобренный дизайн, основная команда программистов и художников может начать работу над идеями. Программисты могут разработать начальные прототипы для демонстрации одной или нескольких возможностей, которые хотят видеть в игре некоторые посредники. Или они могут начать разработку каркаса, который, в конечном счёте, будет использоваться игрой. Художники могут нарисовать эскизы, как плацдарм для разработки реальных игровых ресурсов. Сначала продюсер может работать над игрой неполный рабочий день, но повышать свою занятость по мере продвижения разработки.
Производство
На этапе основного производства выполняется огромный объём работ. Программисты пишут исходный код, художники рисуют графику (спрайты или 3D-модели игровых элементов). Звукооператоры разрабатывают звуковые эффекты, а композиторы пишут музыку для игры. Дизайнеры уровней создают уровни, а писатели пишут диалоги для скриптовых сцен и неигровых персонажей.
Всё это время геймдизайнер дополняет и изменяет игровой дизайн, чтобы отразить текущее видение игры. Некоторые особенности или уровни могут быть удалены, некоторые добавлены. Художественная трактовка может эволюционировать, а сюжет (предыстория) — измениться. Может появиться новая целевая платформа, а также новая целевая аудитория. Все эти изменения должны быть задокументированы и большинство из них должно появиться в дизайн-документе.
С точки зрения времени, первый уровень игры разрабатывается дольше всех остальных. Поскольку дизайнеры уровней и художники используют инструменты для создания уровней, им требуются возможности и изменения внутренних инструментов. С появлением новых возможностей некоторые уровни могут устареть, поэтому в первый уровень игры могут вноситься различные исправления. Кроме того, в силу динамической природы разработки игр, дизайнерское видение первого уровня с течением времени может изменяться. Довольно обычным является потратить на первый уровень более 12 месяцев при общей трёхлетней разработке игры. Последующие уровни могут разрабатываться значительно быстрее, так как список возможностей становится более полным, а видение игры — более ясным.
Тестеры подключаются к игре, когда появляется что-то «играбельное». Это может быть один уровень или подмножество игры, которое может использоваться в любых разумных пределах. На раннем этапе тестирование игры отнимает у одного тестера относительно малую долю времени; в любое время тестеры могут быть ответственны сразу за несколько игр. По мере приближения разработки к концу, одна игра может начать отнимать у тестеров всё их время — и даже сверхурочно — поскольку они стараются протестировать новые возможности, для которых существуют регрессионные тесты. Сегодня тестирование является жизненно важным для игр, поскольку, в силу сложности большинства из них, одно-единственное изменение может привести к катастрофическим последствиям.
Поддержка
В обычном случае поддержка заключается в выпуске патчей для исправления ошибок, найденных уже после выхода игры. Однако, в случае массовых многопользовательских онлайн-игр (ММО), поддержка может сравняться или даже превосходить производство как по трудоёмкости, так и по времени, так как успешная ММО должна непрерывно развиваться и расширяться, чтобы избежать оттока игроков.
Аутсорсинг
Некоторые аспекты производства компьютерных игр, такие как создание и подбор музыки и звуков, актёрское озвучивание или захват движения, зачастую требуют крупных и не всегда целесообразных финансовых вложений, что может быть не по силам разработчика (это может быть эффективным только в том случае, если разработчик создаёт несколько игр одновременно и имеет внутренние отделы для реализации конкретных задач). Нанимать сотрудников в штат для выполнения этих задач компаниям не выгодно, поэтому большинство разработчиков прибегают к услугам соисполнителей для выполнения части своего проекта — отдают их на аутсорсинг[39][40].
Планы касательно аутсорсинга рассматривают на этапе подготовки производства; именно тогда рассчитывают необходимые временные и финансовые затраты на работу, которая будет произведена вне компании-разработчика.
- Однако, некоторые модульные инструменты, такие как видеокомпрессор или редактор уровней могут быть отданы другой студии на разработку[41].
- Цены на создание музыкальных треков разнятся в стоимости в зависимости от длины, метода произведения (синтез или живое исполнение) и опыта композитора. В 2003 г. минута высококачественной синтезированной музыки стоила 600—1500 долларов; 60 минут музыки для игры с 20 часами геймплея могли обойтись издателю в 50-60 тыс. долларов[42].
- Актёрское озвучивание как аспект производства хорошо подходит для аутсорсинга, так как требует набор конкретных узкоспециальных навыков. Лишь наиболее крупные издатели принимают актёров озвучивания в штат.
- Студии для захвата движения дороги и сложны в постройке, поэтому небольшим компаниям нецелесообразно иметь собственные студии для захвата движения и гораздо выгоднее воспользоваться услугами компаний-аутсорсеров.
Примечания
- Evans-Thirlwell, Edwin AAA games would cost $1800 if they reflected "man-year development time" (англ.). Official Xbox Magazine (23 апреля 2012). Дата обращения: 3 января 2014.
- Campbell, Colin Are AAA Hardcore Games Doomed? (англ.). IGN (30 июля 2012). Дата обращения: 3 января 2014.
- Bates, 2004, p. 154.
- Moore & Novak (2010), p. 71.
- Bates, 2004, pp. 154–156.
- Bates, 2004, pp. 156–158.
- Bates, 2004, p. 153.
- Moore & Novak (2010), p. 37.
- Bates, 2004, p. 151.
- Moore & Novak (2010), p. 5.
- Moore & Novak (2010), p. 25.
- «Top Gaming Studios, Schools & Salaries», Big Fish Games
- Salen & Zimmerman (2003).
- Oxland, 2004, p. 292.
- Moore & Novak (2010), p. 74.
- Oxland, 2004, pp. 292–296.
- Bates, 2004, p. 163.
- Brathwaite & Schreiber (2009), p. 171.
- Moore & Novak (2010), p. 94.
- Bates, 2004, p. 171.
- Moore & Novak (2010), p. 85.
- Moore & Novak (2010), p. 86.
- Bates, 2004, p. 173.
- Moore & Novak (2010), p. 87.
- Moore & Novak (2010), p. 88.
- Bates, 2004, p. 176.
- Moore & Novak (2010), p. 89.
- Bates, 2004, p. 175.
- Moore & Novak (2010), p. 90.
- Bates, 2004, p. 168.
- Moore & Novak (2010), p. 78.
- Bates, 2004, p. 165.
- Bates, 2004, p. 162.
- Moore & Novak (2010), p. 76.
- Bates, 2004, pp. 185, 188, 191.
- Moore & Novak (2010), p. 91.
- Moore & Novak (2010), p. 95.
- Bates, 2004, p. 177.
- Российская анимация XXI века: интервью со студией Nikitova Games // THG
- DTF: Аутсорсинг в России: Creat Studio (недоступная ссылка). Дата обращения: 17 ноября 2010. Архивировано 1 мая 2011 года.
- Игровой аутсорсинг в России Архивная копия от 13 января 2011 на Wayback Machine // U-GAMING
- Кому на аутсорсинге жить хорошо Архивная копия от 1 мая 2011 на Wayback Machine // Кадровик Плюс
Литература
- Наталья Ульянова. РОС ИГРО экспорт (рус.) // Бизнес-журнал : журнал. — М., 2015. — Февраль (№ 2 (227)). — С. 28—31. — ISSN 1819-267X.
- Adams, Ernest; Rollings, Andrew. Andrew Rollings and Ernest Adams on game design (англ.). — New Riders Publishing, 2003. — ISBN 1-59273-001-9.
- Bates, Bob. Game Design (неопр.). — 2nd. — Thomson Course Technology, 2004. — ISBN 1-59200-493-8.
- Bethke, Erik. Game development and production (неопр.). — Texas: Wordware Publishing, Inc., 2003. — ISBN 1-55622-951-8.
- Brathwaite, Brenda & Schreiber, Ian (2009), Challenges for Game Designers, Charles River Media, ISBN 1-58450-580-X
- Chandler, Heather Maxwell. The Game Production Handbook (неопр.). — 2nd. — Hingham, Massachusetts: Infinity Science Press, 2009. — ISBN 978-1-934015-40-7.
- McGuire, Morgan; Jenkins, Odest Chadwicke. Creating Games: Mechanics, Content, and Technology (англ.). — Wellesley, Massachusetts: A K Peters, 2009. — ISBN 978-1-56881-305-9.
- McShaffry, Mike. Game Coding Complete (неопр.). — Hingham, Massachusetts: Charles River Media, 2009. — ISBN 978-1-58450-680-5.
- Moore, Michael E. & Novak, Jeannie (2010), Game Industry Career Guide, Delmar: Cengage Learning, ISBN 978-1-4283-7647-2
- Oxland, Kevin. Gameplay and design (неопр.). — Addison Wesley, 2004. — ISBN 0-321-20467-0.
- Salen, Katie & Zimmerman, Eric (2005), The Game Design Reader: A Rules of Play Anthology, The MIT Press, ISBN 0-262-19536-4
- Salen, Katie & Zimmerman, Eric (2003), Rules of Play, MIT Press, ISBN 0-262-24045-9
- Эксперт Онлайн: Half-Life
- DTF: От хорошего к великому