Аннотация: В посте представлена выдержка из моей расчетно графической работы. Это будет цикл из двух статей. В данной статье мы будем рассматривать процесс создания относительно небольшой игры для, к примеру для, ОС Android.
Описание процесса
Цель данного процесса – получить на «выходе» продукт наилучшим образом удовлетворяющий поставленным критериям оценки эффективности. В качестве критериев оценки эффективности процесса можно выделить следующее:
- деньги – процесс должен потреблять минимум средств достаточных для успешного решения задачи;
- время – процесс должен быть реализован как можно быстрее, поскольку это напрямую влияет на себестоимость проекта;
- количество людей – спецификой разработки игр является то, что чем больше людей работает над проектом, тем сложнее контролировать его единообразие и соответствие первоначальной идеи – каждый участник проекта может видеть его по своему и стремиться внести свои коррективы; следовательно, чем меньше участников в проекте, тем качественнее продукт получится в итоге.
Основные затраты в данном процессе заключаются в оплате труда сотрудников. Также некоторые задачи могут решаться через аутсорсинг, что также повлечёт финансовые затраты.
В качестве мотивации сотрудников, помимо заработной платы в данном случае выступает творческая заинтересованность и некоторая творческая самореализация, что является спецификой разработки игр.
Процессу разработки предшествует процесс анализа потребностей рынка и оценки имеющихся продуктов. Как правило этим занимается продюсер – человек, который наиболее тонко чувствует все тенденции и потребности рынка. После этого начинается непосредственно процесс разработки игры.
Его можно условно разделить на 6 этапов.
1. Подготовительный этап - формируется цель проекта, окончательная оригинальная идея, которая будет конкурентоспособна на рынке.
2. Этап разработки дизайн-документа – на данном этапе формируется т.н. дизайн документ.
Дизайн-документ (ДД) – это подробный документ, описывающий концепцию и геймплей игры. Также он может содержать некоторые предварительные скетчи различных аспектов игры. Обычно дизайн-документ объединяет в себе все или большую часть материалов начального замысла.
В общем виде дизайн-документ должен содержать следующие пункты:
- схема игры;
- интерфейс;
- игровая механика;
- графика;
- звуки и музыка;
- сюжет;
- игровой мир;
- сотрудники, зарплаты, сроки и план работы.
3. Разработка проекта – на данном этапе проводится основная часть работы по созданию игры. Этот этап является самым длительным и дорогостоящим. Именно на нем пишется основной код игры, разрабатывается графика, звуки и музыка. Разрабатывается необходимый инструментарий для гейм-дизайнеров, позволяющий ускорить процесс создания игровых элементов.
4. Сборка и тестирование – на данном этапе все полученные части собираются воедино и тщательно тестируются в несколько этапов. Здесь можно выделить 3 шага:
- собрать альфа-версию и провести её тестирование; исправить выявленные ошибки;
- собрать бета-версию и провести внутреннее и внешнее тестирование; исправить выявленные ошибки;
- собрать финальную версию.
5. Подготовка к продвижению игры – подготовка и решение всех вопросов, необходимых для успешной раскрутки проекта. Данный этап не зависит от предыдущих и выполняется по готовности необходимых публикационных материалов.
6. Публикация проекта и его продвижение – финальный этап активно части проекта, успешная реализация которого значительно влияет на полученную прибыль.
К процессам-потребителям стоит отнести пассивную часть проекта. Поскольку готовая игра публикуется в Android Market, то не требуется дополнительных действий по созданию площадки для продажи или проведения переговоров с поставщиками. Android Market — магазин приложений, онлайн магазин-хранилище (онлайн-сервис) от Google, позволяющий владельцам мобильных устройств с операционной системой Android скачивать и покупать различные приложения. Тем не менее необходимо некоторое время поддерживать проект:
- реагировать на сообщения об ошибках и выпускать патчи;
- разрабатывать дополнения, которые позволят лишний раз напомнить о существовании данного продукта и привлечь новых покупателей.
В ряде случаев данный процесс будет невозможно описать в общем, и придётся внести некоторую конкретику. Мы будем рассматривать компанию средних (относительно прочих компаний в данной области) размеров - от 10 до 15 человек. Средняя длительность разработки одного проекта – 6 месяцев. В рамках данной работы не будут учитываться некоторые факторы: не будет рассматриваться параллельная работа компании по поддержке уже существующих проектов; при моделировании не будут учитываться внештатные события, которые могут кардинально повлиять на развитие процесса.
Участники процесса
Разработка игры требует привлечения большого количества специалистов разных областей. Будем рассматривать каждого специалиста в качестве роли. При этом один человек может совмещать сразу несколько роле. Более того для маленькой компании по разработке игр не выгодно иметь в штате некоторых узкопрофильных специалистов. Рассмотрим основные роли необходимые для разработки игры.
Продюсер - специалист, который регулирует (или помогает регулировать) финансовые, административные, технологические или юридические аспекты деятельности, а также регулирует политику при выполнении проекта. Задача продюсера – ценность и востребованность продукта. Продюсера практически невозможно "выучить", его умения базируются исключительно на опыте, потому что задачи, которые он решает (самые важные из них), почти не поддаются формализации.
Игровой дизайнер (геймдизайнер, game designer) — человек, ответственный за игровой дизайн игрового проекта; одно из главных лиц игрового проекта, который не просто создаёт голую идею, но и задаёт вектор её реализации.
В задачи игрового дизайнера входит:
- проработка идейной основы игры;
- составление концепции проекта;
- составление, редактирование и дополнение дизайн-документа;
- редактирование идейной основы игры при необходимости (например, желание продюсера или менеджера проекта внести изменения в концепцию игры);
- незначительное координирование процесса разработки (указание верного направления в проработке игрового дизайна);
- помощь в составлении технической спецификации игры (этим, обычно, занимаются главный программист и главный художник проекта).
Технический директор - один из руководителей компании, отвечающий за её развитие и разработку новых продуктов; в его ведении обычно находится вся технологическая часть производства; он отвечает за качество кода и архитектурных решений (соблюдение стандартов, возможность повторного использования и т. д.) сразу на нескольких проектах.
В рамках данного процесса именно технический директор является владельцем процесса – поскольку именно в его ответственность входит успешная реализация всего проекта.
Программисты – отвечают непосредственно за написание всего продукта.
Различают различных узкопрофильных программистов:
- программист игровой механики — именно от него зависит, как игрок и сущности взаимодействуют друг с другом;
- 3D-программист — от него зависит отображение мира на экране, поэтому от него требуются глубокие познания в векторной алгебре, численных методах, тригонометрии;
- программист AI — требования к нему сильно размыты при переходе от одного к другому жанру; именно он предоставляет возможность дизайнеру уровней задавать через тригеры и скрипты ответ окружения, NPC на действия игрока
- программист UI — создаёт пользовательский интерфейс;
- программист инструментов (утилит), в т. ч. редактора уровней — именно он экономит основную часть времени художников и дизайнеров, делая более производительные редакторы моделей, уровней, тригеров, игровых параметров и прочего контента;
- программист сетевого кода — создаёт сетевой движок игры для поддержки мультиплеера, кооператива и т.д.
Стоит отметить, что в небольших компаниях, подобно рассматриваемой, для всех вышеперечисленных ролей программиста используют 2-4 людей. Также выделят Ведущего программиста.
Ведущий программист - программист, возглавляющий один или несколько проектов по разработке программного обеспечения, либо программист, имеющий определенный уровень подготовки, трудового стажа и соответствующий требованиям к образованию для получения данного статуса.
Разработчики графического контента и ассетов (художники)
Выделяют следующие направления и подклассы роли художника:
- Арт директор. Как правило, это наиболее опытный член команды из занимавшихся созданием контента. Его задачей является контроль качества и времени исполнения;
- 2D художник, основная задача которого состоит в создании двухмерных персонажей для соответствующих игр;
- Концепт художник. Его задачей является отправить наброски на утверждение арт директору, чтобы впоследствии донести их идеи и виденье игры до всех остальных художников проекта;
- 3D-моделер. В его задачи входят: создание 3D сетки моделей зданий, техники.
- Художник спецэффектов.
Инженер по звуковым эффектам — человек, который ищет нужный звук в библиотеке, либо записывает новый с натуры, либо синтезирует подходящий из одного и более существующих; в небольших компаниях совмещает роль композитора — человека, создающего или синтезирующего музыкальное оформление для игры
Контроль качества (тестировщики)
Единственный способ убедиться в качестве игры — это поиграть в неё, в небольших компаниях; на начальных стадиях за качество отвечает линейный продюсер, в более крупных проектах обосабливаются следующие команды:
- QA (контроль качества) команда издателя — как и все отслеживают дефекты в контенте и баги, как правило указывая при этом какие баги править в первую очередь, наиболее жестко из всех следят за тем, чтобы разработка укладывалась в график;
- QA основная — внутренняя команда разработчика, оценивает одиночный режим игры;
- QA мультиплеер — если игра будет позиционироваться как мультиплеерная, то создается отдельная команда, которая им занимается;
- QA внешняя — профессиональные тестировщики аутсорсеры;
- бетатестеры — это неоплачиваемые фанаты будущей игры, которые захвачены идеей ее улучшить еще до релиза; управляющий бетатестированием — как правило это линейный продюсер или сопродюсер, которому достается общение с фанатами.
PR Менеджер – это человек, деятельность которого, направленна на установление взаимовыгодных, гармоничных отношений между организацией и общественностью, от которой зависит успех функционирования этой организации. С точки зрения рассматриваемого процесса, PR-менеджер осуществляет информационное представление и раскрутку продукта в интернете через различные популярные площадки.