Gamedev — Команда для разработки


Содержание

Создание игры от идеи до продвижения после релиза

Всё, что нужно знать начинающим создателям игр, — в четырёх лекциях Высшей школы бизнес-информатики НИУ ВШЭ, прошедших в рамках проекта «Университет, открытый городу: Вышка на ВДНХ»

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

На лекциях преподаватели образовательной программы «Менеджмент игровых проектов» рассказали, как можно выйти на этот рынок и создать свою игру. Они осветили все аспекты разработки, начиная от набора команды и технической поддержки и заканчивая маркетинговым планом. Всего лекций было четыре: «Построение процессов работы команды для создания игры», «Геймдизайн и креатив в игровой разработке», «Технические основы разработки», «Релиз близко. Маркетинг за месяц до выхода игры и месяц после». Мы собрали для вас краткий конспект каждого занятия и ссылки на видеозаписи.

Построение процессов работы команды для создания игры

На лекции были рассмотрены важные процессы работы над проектом: определение концепции продукта и выбор «product owner», подбор команды, распределение ролей в команде и выбор SCRUM-мастера, составление бэклога (backlog) и работа с ним, оценка задач и планирование спринта. Слушатели узнали о том, какие есть ключевые ритуалы в работе, как верно оценить результаты и повысить мотивацию команды.

Сергей Голубкин, преподаватель программы «Менеджмент игровых проектов» ВШБИ НИУ ВШЭ, владелец издательства «ГЕМЕНОТ»

«Любая игра начинается с идеи, которая пройдёт определённый путь, прежде чем окажется готовым продуктом. Но далеко не каждая идея сможет этот путь пройти до конца…»

Согласно статистике, среди всех игр, которые начинали запускаться, коммерческого запуска достигли меньше 1 %: начинающие разработчики часто ошибочно считают, что идея игры — это главное. Но идея становится ценностью лишь тогда, когда выполнено два условия:

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

Разработка игры состоит из следующих этапов:

Подготовка

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

«На рынке много инди-проектов, которые выходят в магазины самостоятельно. Преимущественно это игры для платформы Steam. Не стоит забывать и о краудфандинге».

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

Вижн — это самое главное, что у вас есть на начальном этапе разработки. Хороший вижн занимает одну страницу А4, на которой должно уместиться описание игры (платформа, жанр, сеттинг, модель распространения, описание геймплея, основные фичи и механики, цели игрока), референсы, USP (1 killer-фича + 2–3 уникальных/новых фичи и др.) Любой человек, который прочитает вижн, должен сразу понять, что за игру вы делаете.

«Когда у вас готов вижн, с вашей идеей игры можно работать».

В геймдеве используется два основных подхода к управлению командой/проектом: Agile и Waterfall. Большинство компаний использует гибридные методы, берущие элементы из обоих этих подходов. Waterfall — подход к управлению командой, основанный на последовательном, линейном цикле разработки. Agile же основан на гибкости и итерациях в развитии продукта/проекта. У каждого есть свои недостатки и достоинства. SCRUM — один из самых популярных методов практического внедрения философии Agile в IT-командах, он определяет роли, обязанности и ключевые «церемонии» в команде. Итерации в SCRUM называются спринтами.

«Есть минимальный набор документации, без которой дальше двигаться сложно».

Препродакшн

Препродакшн включает в себя составление документации, концепт, feature-list, art-style doc, бюджет, бизнес-план, проектный план, адаптацию и «срабатывание» команды, построение процессов. Самый незаменимый документ — это концепт, который позже «перерастает» в геймдизайн-документ. Бюджетом и бизнес-планом пренебрегать тоже не стоит, т. к. без них будет трудно понять, сколько вы заработали на продаже игры, выгодно ли вам продать игру за ту сумму, которую предложит заинтересовавшийся издатель. Результатом препродакшна является прототип или демоверсия вашей игры для демонстрации.

«Пока прототип не цепляет игрока, не стоит делать из него игру. Лучше разработать новый прототип».

Продакшн

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

«Продакшн — это самый длинный этап, на котором игра реализуется в полном объёме, со всеми её фичами и возможностями».

Разработка игры — это стрессовый процесс. Не забывайте о мотивации и уровне счастья сотрудников. У нормальной организации две задачи: максимальная прибыль предпринимателя и максимальное благосостояние сотрудника, причём не только в деньгах. Максимальное благосостояние в такой системе равно максимальной производительности всех участников процесса.

«Счастливый сотрудник = эффективный сотрудник!»

Релиз

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

Намного более подробно все эти темы объясняются на занятиях курса «Управление командой» программы «Менеджмент игровых проектов» в Высшей школе бизнес-информатики НИУ ВШЭ. Кстати, на этом курсе слушатели сразу пробуют сами пройти путь разработчика на игропрактике Game Dev Sim. Это настольная игра — симулятор работы игровой студии, где участники как владельцы собственной компании набирают себе команду и проходят через все этапы разработки, решают возникающие проблемы, пользуются возможностями и воплощают мечту о создании игры.

1 июля – 3 декабря, онлайн, беcплатно

Полностью послушать лекцию можно на YouTube-канале Высшей школы экономики.

Вячеслав Уточкин и Сергей Голубкин, преподаватели образовательной программы «Менеджмент игровых проектов»

Геймдизайн и креатив в игровой разработке

В чём различие между геймдизайном и продюсированием? Какова роль геймдизайна в создании игр? В чём польза и вред креатива? И главный вопрос: как правильно подходить к креативным задачам в геймдизайне?

Константин Сахнов, преподаватель курса «Игровая логика» на «Менеджменте игровых проектов» в Высшей школе бизнес-информатики (ВШБИ) НИУ ВШЭ, управляющий партнёр игровой компании DatCroft Games

«Игровая индустрия большая и очень-очень богатая. Объём мирового рынка составляет около $130 млрд».

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

Специалистов команды разработки можно условно разделить на три категории: «технари» (программисты, веб-разработчики, системные администраторы и т. д.), художники (специалисты, отвечающие за визуальную составляющую игры) и идеологи (геймдизайнеры и продюсеры). Инди-команды как раз могут состоять всего из трёх человек, которые значительную часть работы отдают на недорогой аутсорсинг.

Идеолог игры

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

У продюсера три ключевых подхода к созданию игры:

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

«Ваша игра успешная, если она зарабатывает деньги».

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

«Чтобы сделать крутую игру, нужно набраться опыта».

Геймдизайнер

Геймдизайнер — это человек, который делает всё и сразу. Это редкий специалист, которому нужно иметь опыт и знания практически во всех областях, но профессионалом в каждой из них можно и не быть. Геймдизайнер реализует видение продюсера, пишет и актуализирует ГД-документации, рассчитывает характеристики, баланс и экономику игры, участвует в разработке сюжета/ЛОРа, нарратива, разработает ТЗ для других специалистов, контролирует исполнение этих задач, конфигурирует продукт, создаёт инструментарий, участвует в работе над левел-дизайном, проводит тестирование.

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

«Написать диздок — это одна задача, но не менее важно донести информацию максимально просто и легко».

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


Приведём пример проектирования интересного геймплея, который создаёт Retention (удержание игроков в игре).

Цели должны отвечать на главный вопрос игрока: «Зачем мне в это играть?» или «Почему мне это интересно?». Цели бывают сиюминутными, краткосрочными и долгосрочными.

«Работа геймдизайнера — это, прежде всего, исследование».

Есть два способа стать геймдизайнером:

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

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

Константин Сахнов, преподаватель курса «Игровая логика» на «Менеджменте игровых проектов»

Технические основы разработки

На третьей лекции у слушателей была возможность узнать о технических задачах при разработке игр: игровой логике, графике (двухмерной и трёхмерной), физике игрового мира, звуке, игровых картах, хранении данных, тестировании игры. Участники узнали об игровых движках (на примере UE4 и Unity) — логике, физике и картах, средствах разработки графики и звука (Photoshop, Max/Maya, Audition) и инфраструктуры — базы данных, репозитории, сборка проекта, автоматическое тестирование.

Дмитрий Табаков, преподаватель курса «Технические основы разработки игровых продуктов» программы «Менеджмент игровых интернет-проектов» в ВШБИ НИУ ВШЭ, креативный директор Mail.Ru Group

«Вы сделали крутую игру, которая порвёт рынок, принесёт вам миллионы и обеспечит яхту. Как из мечты это превратить в реальность?»

Раньше один разработчик игр был всеми и сразу: геймдизайнером, программистом, иллюстратором, автором звуковых дорожек, тестировщиком и т. д. Но сейчас ситуация изменилась: в крупных компаниях и командах над одним проектом работает около 200 человек и больше, с разными специализациями, на самых разных должностях. Тем не менее, даже сейчас люди продолжают делать игры в одиночку или маленькими командами.

«Делая игру, вы должны верить, что она заработает, что она будет интересна и востребована».

Состав игры с технической точки зрения выглядит следующим образом:

  1. Игровая логика.
  2. Графика (2D и 3D).
  3. Интерфейс.
  4. Игровые карты.
  5. Физика игрового мира.
  6. Звук.
  7. Хранение и пересылка данных.
  8. Инфраструктура.

Игровая логика — это спецификации того, что при условии А произойдёт событие В, например: если персонаж ударит монстра мечом, то он нанесёт ему 3 урона из 10 hp. И всё это должно быть где-то закодировано — этим занимаются программисты гейм-механики, но часто этим занимаются геймдизайнеры.

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

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

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

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

Средства разработки и решения при создании игры:

  1. Дизайн (спецификации).
  2. Целевые платформы.
  3. Движок.
  4. Код.
  5. Клиент и сервер.
  6. Ассеты (карты, арт, звук и т. д.).
  7. Специалисты.

Особенности работы с движком

Движок — это комплексное ПО, которое позволяет вам не делать всё с нуля, а сразу даёт много готовых решений, например: редактор карт, систему искусственного интеллекта и многое другое. Важно понимать, на каких языках программирования вы будете писать код. Самые частые решения для клиентских и большинства мобильных игр — это C++ и C#. Для серверной же части применяются намного больше вариантов: PHP, Python, Java и множество других языков.

«Движок — ключевой выбор для разработки игры».

Когда-то движки были прерогативой крупных студий, т. к. их нужно было делать с нуля, а коммерческие (например Unreal Engine) стоили дорого. Но сейчас они стали практически бесплатными и доступны даже ограниченному в средствах инди-разработчику. Что же даёт движок? Прежде всего, это:

  1. Графика/рендеринг.
  2. Физика.
  3. Звук.
  4. Искусственный интеллект.
  5. Редактор.
  6. Сетевой код.
  7. Оптимизация.
  8. Готовые библиотеки и решения: платежи, VR/AR, многое другое.

Чтобы понять, какой именно движок подходит для вашей игры, нужно обратить внимание на следующие характеристики: графика, логика (Blueprints, Flowgraph и др.), языки программирования, физика, средства 3D-разработки, интерфейсные решения. Современные движки значительно упрощают работу с базами данных.

«Об оптимизации лучше задуматься заранее».

3D-модель начинается с 2D-модели. Концептом может быть не только отрисовка, но и реальный объект или даже фотографии, которые называют референсами. Сначала делается базовая 3D-модель, а после неё — HighPoly (детализация). На выходе получаются красивые 3D-модели, которые часто показывают на промо-артах, но в самой игре этих моделей, скорее всего, не будет. Причина проста: на основе HighPoly создают LowPoly-модели, в которых меньше полигонов и немного ниже качество, но зато такой подход помогает лучше оптимизировать игры. Далее на модели накладываются текстуры для последующего экспорта в движок, где уже ведётся дальнейшая работа по анимации. Наиболее популярные программы для работы с 3D: 3ds Max, Maya, Blender (free).

«Снизить качество проще, чем повысить».

Звуковые эффекты большинство разработчиков берёт из различных доступных библиотек звуков. Главная проблема работы со звуком в играх — это озвучка: готовые голоса вы не найдёте нигде. Озвучка, сделанная своими силами, обычно звучит непрофессионально и слабо. Есть два решения проблемы: 1) игра без голосов; 2) работа с профессиональными актёрами. Самые распространённые звуковые редакторы: WavePad, Adobe Audition, Audacity (free).

Чтобы не запутаться во всей этой информации при работе, используют такие инфраструктуры, как системы документооборота, постановки задач, контроля версий и т. д. Системы документооборота применяют для хранения дизайна, выкладывания артов, планов, комментирования и т. д. Наиболее яркие примеры систем: MediaWiki, Confluence, GoogleDocs. Системы постановки задач подразделяются на локальные и удалённые (онлайн) и позволяют контролировать и оценивать: каково текущее состояние проекта, какие задачи выполнены или выполняются, и кто их выполняет, сроки и объёмы выполнения и т. д. Самые популярные системы: Jira (Atlassian), Youtrack (JetBrains), Redmine, Trello, Мегаплан, Asana, Wrike. Системы контроля версий позволяют работать вместе над одним проектом, иметь полную историю изменений с возможностью отката и переноса и интегрироваться со всей остальной инфраструктурой. Примеры: SVN, Git, Mercurial, Perforce, Microsoft TFS.

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

Посмотреть эту лекцию полностью вы можете на YouTube-канале Высшей школы экономики.

Дмитрий Табаков, преподаватель курса «Технические основы разработки игровых продуктов» программы «Менеджмент игровых интернет-проектов»

Релиз близко. Маркетинг за месяц до выхода игры и месяц после

Выход игры. Именно к этому стремятся все разработчики. И именно период релиза является одним из самых важных для проекта. Увидит ли его аудитория, какие оценки он получит от профильной прессы, можно ли будет рассчитывать на поддержку платформы? Сделать всё возможное, чтобы игра получила свою «путёвку в жизнь», — вот задача маркетинга на данном этапе. Как максимизировать эффект от маркетинговых активностей, не тратя лишнего? Всё это обсуждалось на заключительной лекции цикла «Как создать свою игру».

Сергей Зыков, преподаватель дисциплины «Маркетинг игр» на программе «Менеджмент игровых проектов» в ВШБИ НИУ ВШЭ, координатор проектов в SoftClub

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

«Когда останется месяц до релиза игры, у вас появится ощущение, что вы не всё успеваете… И чаще всего оно будет верным».

Так как же за один месяц сделать то, на что у многих уходит по полгода?

Рассмотрим гипотетическую ситуацию: у вас есть хорошая игра, месяц до выхода и некоторый бюджет. Есть у вас и конкуренты: каждый день в Steam выходит от 10 до 30 новых продуктов, в App Store и Google Play — около 1500. Большинство разработчиков игр столкнётся с маркетингом ещё на этапе разработки.

«Если не заниматься маркетингом игры, то шансы, что она «взлетит», равны нулю».

Жизнь маркетолога за месяц до релиза, можно условно разделить на пять стадий: осознание, паника, ревизия, планирование, исполнение. Рассмотрим их подробнее:

1. Осознание: релиз неизбежен! Чем ближе дедлайн, тем больше мобилизуется команда.

Для маркетолога самое важное на этом этапе понять, что от него хотят, и поставить цели. Все цели должны отвечать следующим критериям:


  1. Быть чёткими и конкретными.
  2. Быть измеряемыми.
  3. Быть достижимыми. К этому критерию нужно относиться с особым вниманием, т. к. в случае неудачи виноватым останется именно маркетолог.
  4. Иметь чёткие временные рамки.

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

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

3. Ревизия. На третьей стадии маркетологу нужно понять, что сейчас имеется из маркетинговых ассетов, с чем вы будете дальше работать, и что нужно доделать прямо сейчас. Маркетинговые ассеты анализируются по трём основным аспектам: для игроков и комьюнити, для прессы и инфлюенсеров и для рекламы.

Что есть для игроков и комьюнити?

«Именно на основе страницы вашей игры в магазине люди принимают решение: купить её или нет».

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

Чтобы успешно всё это сделать, маркетологу нужно заранее составить контент-план, в котором будет чётко указано, что, когда и где публиковать, чем развлекать аудиторию. Для комьюнити ваша игра начинает медленно «умирать», если в группе не делаются посты хотя бы два раза в неделю.

«Комьюнити не прощает одной вещи — пустоты».

Что есть для прессы и инфлюенсеров?

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

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

Что есть для рекламы?

Рекламу нужно выбирать по имеющемуся бюджету: если большой — можно экспериментировать, пробовать разные форматы рекламы и продвижения, если маленький, то лучше найти 1–2 наиболее эффективных канала, которые принесут максимальную пользу.

По итогам ревизии вы сможете выбрать эффективную стратегию выхода на рынок. Например:

  1. «Анонс пока не поздно»: анонсируем игру сейчас, чтобы успеть за месяц набрать хотя бы какую-то аудиторию.
  2. «Apex method»: анонс в день релиза и отсутствие маркетинга до этого момента. Сосредоточение усилий на дне релиза, когда за несколько дней нужно «выложиться» по максимуму. Стратегия хороша для мобильных игр.
  3. «Помогите, кто чем может». Подходит для тех, у кого уже есть комьюнити, у которого можно попросить помочь с набором аудитории. Но нельзя пытаться реализовать несколько стратегий одновременно, выбор зависит от платформы игры, её жанра и многого другого. Вам нужно выбрать только один путь выхода на рынок.

4. Планирование. Это самый важный этап, без которого не получится двигаться дальше. На этом этапе составляется маркетинговый план проекта, не только до момента релиза, но и после. Ваш план будет постоянно меняться — это нормально, но он обязательно должен быть.

Цукерберг рекомендует:  Зум слайдер

Пример маркетингового плана

5. Исполнение. Самое главное — придерживаться составленного плана и решать текущие задачи. В процессе нужно вести учёт активностей, чтобы понимать, куда вы двигаетесь и анализировать всё то, что уже сделали. Аналитика должна быть у вас до релиза. Если понимаете, что план сложно реализовать — меняйте его. Это живой документ.

«Игроки не готовы терпеть ваши недоделки и ошибки: они уйдут в другую игру».

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

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

Следующий этап — оперирование игры, но это уже совсем другая история.

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

Gamedev — Команда для разработки

Введение.
Ну вот. Мир переполнен статьями о создании игр, разработки движков и выборе вторых. По сути большинство из этого, скажу честно, мусор. Растёт число бессмысленных советов=>растёт число бессмысленных статей=>растёт число бестолковых создателей=>растёт число бестолковых игр. В этой статье я постараюсь «поставить новичков на путь истинный».

Всё начинается с идеи. Кто то где то зачем то почему то хочет создать игру, потому что играть надоедает, т.к. всё хлам, либо хочет оставить свой отпечаток в мире гейм-индустрии (как правило из-за бесконечного рвения остаётся «кучка» и множество недовольных комментариев). И, почему-то, это либо подобие игры S.T.A.L.K.E.R.’а, либо создание карт в редакторе WarCraft (простите если неправильно написал название). И, примерно, год назад интернет был переполнен сообщениями «саздаём игру шоб прям STALKER во все дыры ищу праграмистав я сам суперпрофи С== знаю прям ваще!» ну и подобным барахлом. Что изменилось сейчас? Пожалуй, ничего. Только названия игр начали чуточку меняться. Собственно, так вы никого не найдёте.

С чего начать.
Естественно главное в команде-лидер. Желательно, что бы это был самый опытный человек в команде, способный организовать людей. За ним и последнее слово. Так что в команде у него должен быть неоспоримый авторитет. Это мозг команды. В идеале «верхушка» состоит из 2-3 человек (лидер,профи в программировании, знает все этапы создания игр, генератор умных идей, помощник). Если Вы хотите стать лидером-заинтересуйте людей, покажите что вы умеете не только орать и указывать. От плохого руководителя уйдут все. Не стоит набирать 999999 человек, т.к. на управление всей этой массой уйдёт уйма времени. Но и 2 человека врятли справятся.

Люди.
Конечно же хочется, что бы в команде были профессионалы, но извиняйте-такой вариант отметается сразу. В странах СНГ настоящих профи 200-300 человек, уникумов 10-20. Остальные либо среднячки с раздутым самомнением, либо. либо новички с раздутым самомнением. В сравнение-в США по неподтвержденным данным 5000 профи, и 500 уникумов (официальный статистики никто не составлял). Ну что ж. Можно искать среди среднячков, но этот вариант редко когда улыбнётся, т.к. они заламывают большую цену и требуют королевских условий. Остаётся самый распространённый вариант-новички. А тут два пути — есть люди которые «зырь я в 3ДэМаксе чё намутил за 5 минут» и те кто «да я как то не очень, в институте мы это не учили.. Давай я попробую». Второй вариант более оптимистичен, т.к. среди них нередко попадаются и довольно талантливые люди, способные за 2-3 месяца неплохо освоить свою роль. Главное — это отделить действительно способных людей от всего остального. Ваша команда должна быть:
1)Разделена на уровни: программисты, дизайнеры, музыканты. В идеале каждый уровень состоит минимум из 3 человек, из которых 1 этакий «подлидер». Ему поручается работа, он её распределяет между участниками ведомого им уровня.
2)Дружной, т.к. разлады 2-3 человек способны развалить всю команду.
3)Целеустремлённой, способной к самосовершенствованию.
Самый приятный вариант-набор людей из своего города, а желательно из друзей. Но если Вы решили искать людей на форуме, прошу Вас, все кто это читает — УДЕЛИТЕ ОФОРМЛЕНИЮ ОБЪЯВЛЕНИЯ ХОТЬ 5 МИНУТ. Реально прост бесят «создаем МоМоМо нужны все». Я бы лично рад примкнуть к подобному проекту, но смысл если создатель сразу приказал ему долго жить?

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

Проект.
Пора создавать игру. Бюджетную. Бесплатно пахать на одном интузиазме никто не будет! Выберите тему, обсудите её с командой, а затем вместе со всеми создавайте чертежи, планы. Желательно участие в этом этапе принимали и подлидеры. Искать сразу на готовый проект людей и сразу к нему приступать тоже не вариант, сами понимаете почему.

Как научиться управлять командой разработки или опыт без риска

1. Рассуждения на тему: «миссия игр» или зачем нам играть

2. Современный образец геймифицированного обучения или впечатления от Симулятора Игровой Студии

3. Выводы и личные впечатления от симулятора

1. Рассуждения на тему: «миссия игр» или зачем нам играть

Для чего человек придумал игры? Как утверждают некоторые исследователи:

1) Игры присущи не только человеку, но и животным, особенно на ранних стадиях развития (то есть придумал игры в общем-то не человек);

2) В первую очередь для того, чтобы учиться;

3) Во-вторую, чтобы было весело;

4) Ну и ради социализации.

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

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

Зачастую в инди-командах такой лидер – основатель проекта. Однако, управленческого опыта у него может не быть вовсе.

Где и как учиться принимать правильные решения, особенно применимые к области игростроя? Способов достаточно много: устроится на работу и познавать все на практике, проходить онлайн курсы (dev2dev, к примеру), пройти очное дополнительное обучение, начать делать что-то самому, то есть стать инди. Тем не менее, эти способы связаны с определенными вложениями ресурсов.

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

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

2. Современный образец геймифицированного обучения или впечатления от Симулятора Игровой Студии

Несколько месяцев тому назад в свет вышла настольная игра Вячеслава Уточкина и Сергея Голубкина под названием «Game Dev Sim» (Симулятор Игровой Студии). Симулятор был создан в рамка курса «Менеджмент игровых проектов» в Высшей школе бизнес информатики при НИУ ВШЭ. Изначально его использовали для обучения и даже сдачи экзамена по предмету «Управление командой». Но через некоторое время стало понятно, что у такого инструмента гораздо больший потенциал. Так из прикладной области симулятор перевели в область общедоступную, коммерциализировали и предоставили возможность каждому желающему почувствовать себя управленцем небольшой игровой студии. Именно в такой вариант симулятора удалось поиграть автору.


Впечатлений довольно много. Однако прежде, чем поделиться ими, дам несколько уточнений:

1) Автор не является искушенным игроком в настолки.

2) Автор просто хочет поделиться своим игровым опытом.

3) Автор не претендует на истинность в последней инстанции, и если описываемый опыт был противоположен тому, который могли получить другие игроки, то нисколько не отрицаю многовариантности, которую предусматривает игра. Скорее наоборот, подчеркиваю этот аспект.

Возвращаемся к предмету статьи.

Сама по себе идея игры – симулятора студии не нова. Но описываемая настольная версия только отдаленно напоминает широко известный цифровой аналог «Game Dev Tycoon» от Greenheart Games. Общее заключается в том, что вы создаете игры. Да и все, пожалуй.

В настолке вам сразу дается студия, для которой нужно выбрать помещение и набрать доступный персонал. Случайным образом дается проект, состоящий из набора требований по программированию, геймдизайну, дизайну и маркетингу. Цель игры – набрать необходимое количество очков по каждому из требований для завершения разработки. Помимо задачи по созданию продукта, в ходе игры вам могут быть добавлены отставания по проекту, фичи, увеличено или уменьшено финансирование и тому подобные артефакты.

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

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

Одновременно за одним столом могут играть от 2 до 4 человек. Взаимодействие построено «против игры», а не друг против друга. Победителем назначается тот, кто вовремя выпустит проект и наберет больше всего победных очков.

Предусматривается несколько уровней сложности. Чем сложнее игра, тем меньше у игроков будет возможностей для развития студии и тем больше будет возникать трудностей.

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

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

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

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

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

3. Выводы и личные впечатления от симулятора

Постараюсь теперь сформулировать свои впечатления в целом.

Зачем автор играл в Симулятор Игровой Студии:

1) хотел посмотреть, насколько игра походит на обучающий инструмент (так как заранее знал историю ее создания).

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

2) хотел понять, сможет ли игра развлечь.

Очень даже может. Впервые сев играть и попав к хорошему мастеру, который доступно объяснит правила, можно залипнуть часа на три и абсолютно не заметить этого. Все, как положено: увлеченность, состояние потока, фан и прочие радости в наличии. Даже некоторый азарт от соперничества на тему: «Кто быстрее выпустит проект».

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

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

4) хотел поиграть вместе с теми, с кем делаем игру.

Поиграть удалось. Из нашей небольшой команды на первую игру смогло прийти 7 человек. Играли на 2 стола. Абсолютно все остались довольны, а двум даже удалось довести проект до конца и победить. Теперь-то мы знаем, как повысить мотивацию в команде и не уйти в бесконечный запой.

Хочу понять, с чего мне начать путь в геймдев?

Мне 21 год через месяц будет, и только сейчас я пришел к выводу что хочу делать игры, всегда хотел! Просто очень боялся что не выйдет, что сложно, глупо, ни кто не поймет, мои игры будут провальными и я не чего не буду зарабатывать, а в последствии чего меня будут критиковать!

Но я понял еще 1 истину, что я очень жалею о многих вещах, и понял что если я здесь и сейчас не попробую это сделать, то в будущем я буду так же жалеть об этом!

Так вот я хочу сделать свою игру, но у меня нету знаний в Геймдизайне, программировании, Анимации, Писательских навыков, я не топ сценарист.

Задавшись всеми этими вопросами, я узнал про то что такое языки программирования, узнал что такое игровые движки!

Я хочу переехать в большой город, желательно за границу, поработать в компании где делают игры, и я подумал начать изучать UE4 и C++, но почитав форум о С++ понял что это очень сложный язык, что на его изучение потребуются несколько лет, я впал в ступор, я ношу идею, программиста, аниматора, и прочих я могу потянуть позже, просто мне бы попасть в тусовку игроделов работать, видеть процесс изнутри, да и что бы родственники и девушка понимала что не дурака валяю !

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

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

Вспоминаю как мне не давно подарили пк и я скачал игрушку TES 5 Skyrim я очень увлекся ею, музыка, история, персонажи, атмосфера, Bethesda сделала игру которую я очень полюбил, большой поклон им!

Теперь резюмирую!
1.Я хочу создавать игры
2.Я не программист, не аниматор, я 0)))
3.Я преследую цель делать свои игры
4.Но перед этим лет так 5 хотел бы поработать в фирме или с инди группами!
5.Игру не сделать в соло, я хочу найти свое, я аниматор, программист, узнал про Unriale Engine и С++ это означает мне нужно изучать движок и параллельно учить С++ . но я буду учиться 4-5 лет и только потом найду какую то работу
6.Эх сложна, хочешь сделать игру но не знаешь с чего начать!)))

  • Вопрос задан 10 июн.
  • 3634 просмотра

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

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

да и что бы родственники и девушка понимала что не дурака валяю !

Я больше 12 лет прямо или косвенно работаю в игрострое, но моя родня и некоторые друзья до сих пор уверены что я маюсь дурью. :)
У жены все также (она — 2d/3d artist/animator), родня тоже не верит что мы что-то нормальное делаем. ))
Прими это как данность — для них ты всерьез валяешь дурака.

Ну и еще, коротко. Инициируйся: gamedev.ru
На геймдеве разного народа хватает. Специализаций море, а по ряду специализаций и вовсе ощущается резкий дефицит кадров.

И имей в виду еще одну важную штуку. Людей, от какой-то игры загоревшихся желанием, каждый день тысячи появляются и тысячи исчезают. Они батальонами штурмуют геймдев и подобные ресурсы. И никакого выхлопа.
Тысячи людей с каким любо смежным образованием (программирование, анимации, художка) ежедневно стартуют свой уникальный и беспрецедентный проект мечты. И тысячи таких проектов бесследно исчезают ежедневно, так и не добравшись до хоть какого-то прототипа. О работе инженером можно не мечтать сразу. Возможность для тебя работать с инструментом C++ в геймдеве не просто ничтожна, этой возможности просто нет. Почитай, подобный отбор не всякий профессионал пройдет.
А амбиции — они, поверь, скоро стремительно спадут.

Автор, в каком вы городе живете? Важное уточнение.
И еще уточнение: сколько по времени уже длится ваше желание? Потому что если оно внезапно пришло сегодня, то может также внезапно (или постепенно) уйти завтра или через неделю, или после того, как станет ясно, насколько всё сложно.

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

автор, определитесь для начала чем КОНКРЕТНО вы хотите заниматься, потом спрашивайте советов, а то сейчас это похоже на статейку из личного бложика

2.Я не программист, не аниматор, я 0)))


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

«сделайте всё за меня, а я буду только командовать».

Вот эта картинка описывает весь гейм дев. Я тоже думал, что делать игры это весело и интересно, пока не столкнулся с рутиной. В России на этом стеке платят меньше чем другим. Даже веб программисты в среднем получают больше, а *ли меньше. Делать игры сложно.

Я бы тебе посоветовал учить C# и вот почему:
1. Выработает хороший стиль
2. Подходит для разработки игры/веб разработки / десктопа и.т.д
3. Мощный и простой

Если осилишь C# и тебе понравится, то дальше выбирай что ты хочешь программировать. Знание C# открывает тебе дверь не только к разработке игры, но и к другим языкам с Cишным синтаксисом.

Твой путь доложен быть таким.
1. 2 месяца ты изучаешь шарп и пишешь блокнот
2. 3-4 месяц нужно осмыслить ООП и написать калькулятор
3. Дальше ты скачиваешь Unity и 1-2 месяца смотришь видео уроки и пытаешься что то сделать. Только давай без убийц ГТА, делаешь максимально простую игру.
4. Оставшийся 3-4 месяца ты должен доделать игру , ты пишешь заново весь код, так как осознаешь что можешь лучше.
5. Новый год. За год ты должен разработать 3-4 игры, речь о мобильных играх так как ПК игры в одиночку сложно. Это твое портфолио, ищешь свою первую работу.
И не забудь выучить алгоритмы и структуры данных)
3

Refractor 2004, кучу гемора точно даёт) Если надо просто описать логику работы не слишком требовательной игры, подойдут более простые и приятные языки. В этом плане тот же Lua сильно выигрывает — на изучение нужно 15 минут, а гибкость и удобство очень большие.

Зачем, спрашивается, истязать себя, когда можно сразу начать производство игры?

Ну а если следовать моде, то тот же Юнити со своим C#. Сложнее, но всяко лучше, чем С++ с нуля.

dollar, так у питона с этим всё в порядке, разве нет?

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

Я перешел в геймдев в 32, когда за плечами уже было 12 лет дизайна и разработки. При это в нашей компании есть те, кому 18.

Освоил Unity за месяц до уровня, когда можешь делать свои небольшие игры.

Это я к чему?
1. Чтобы работать разработчиком в игровой компании, нужно программировать и знать теорию, иначе просто не пройдете собеседование. Разбираться в движке не достаточно. А чтобы быть крутым разработчиком в крутой компании: раз и два
2. Чтобы работать художником, аниматором, дизайнером, нужен скилл и портфолио. Это несколько лет упорного труда. Джунам платят очень мало.
3. Чтобы придумывать игры, механики, концепции, нужен опыт либо в геймдеве, либо в других проектах с игровыми механиками. В продюсеры и геймдизайнеры можно переквалифицироваться из продуктовых или проектных менеджеров. То есть нужен опыт управления командой, решения бизнес задач (запуск, монетизация, повышение конверсий и так далее). Как понимаете, это тоже годы труда.

В итоге если вы хотите заниматься именно продумыванием игр, то самый простой путь это:
0. Просмотреть на ютубе видео по тематике геймдева, выбора профессий, про гейм-дизайн, продюсеров. Потратьте пару недель на изучение темы.
1. Изучить движок Unity, разработать свой проект (дизайн, разработка, звук, анимации и всё остальное делаете сами), один из лучших курсов для начинающих на английском.
2. Выпустить его в стор,
3. Продумать вход и удержание игроков, монетизацию, довести проект до максимально идеального состояния.
4. Затем повторить несколько раз.
Только так вы сможете максимально быстро получить опыт геймдизайнера и продюсера за 2-3 года.

Цукерберг рекомендует:  История развития операционных систем

После этого уже решите: хотите работать в компании или собрать свою команду и делать свои игры.

В любом случае вам всего 21 год. Даже уделяя разработке только свободное от работы время вы можете набраться достаточно опыта к 25 годам.

Добавлю другие пути через смежные профессии вроде:
1. Тестировщики.
2. Саппорт.
3. Сценаристы.
4. Переводчики.
5. Моддеры (сперва делают моды для игр, затем становятся левел-дизайнерами).
6. Видео-монтажеры и режиссеры.
7. Маркетологи.
8. СММ (приходят вести группы в соцсетях, потом изучают геймдев кухню и другую профессию).

Путей много. Но это всё работа. Не только развлечение.

Как попасть в геймдев, если ты ничего не умеешь

Самый верный способ достичь успеха в жизни и при этом получать удовольствие — превратить увлечение в работу. Именно так поступили те, кто решил не только играть, но и делать игры. Как этого добиться, если ты ничего не умеешь (но очень хочешь!), рассказывает Сергей Волков, руководитель геймдев-практики в Spice Recruitment.

Что делать?

Решите, точно ли вам это надо

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

Разберитесь в теме

Первым делом нужно понять, кем и над какими проектами вы хотите работать. Шанс, что вас воспримут всерьез, прочитав в письме «возьмите меня кем угодно, я готов мыть полы и варить кофе», ничтожно мал.

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

Здесь могут помочь тематические ресурсы. Есть подкасты, где люди из индустрии обсуждают особенности профессии: из русскоязычных с ходу выделим небезызвестный «Как делают игры», из англоязычных — к примеру, The Game Design Round Table, посвященный геймдизайну.

Можно изучить записи докладов с конференций вроде очевидной, но жутко дорогой GDC, КРИ и других. И даже самостоятельно выбраться туда (на сайте Dev Night недавно появился удобный агрегатор мероприятий по всем городам). В последнем случае вы можете еще и пообщаться с живыми людьми из индустрии, что очень полезно.

Готовьтесь постоянно учиться

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

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

Привыкайте к изменениям

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

Последняя тенденция: состоявшиеся студии переезжают куда-нибудь в Вильнюс или на Мальту. Хотя есть и обратные примеры, например, небезызвестная бельгийская компания, открывающая представительство в Питере.

Выучите наконец английский!

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

Презентуйте себя

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

Прикидывая зарплату, учитывайте как собственные пожелания, так и примерный уровень на аналогичной позиции по индустрии в целом. Главное правило: вам будут платить за навыки и умения, а не ориентируясь на ваши траты и потребности.

Будьте настойчивы

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

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

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

Кем быть?

Тестировщик

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

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

С другой стороны, порой люди вырастали из QA и занимали вышестоящие позиции (например, несколько исполнительных директоров из Nival, до сих пор работающих в компании). Однако этот вариант развития событий сложен и может занимать долгие годы.

Пиарщик

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


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

Геймдизайнер

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

Вопреки сложившемуся мнению свой путь в геймдеве вполне можно начать с этих должностей, более того, с каждым годом это все проще: откройте тот же Steam Workshop и сделайте, например, сюжетную ветку для Skyrim. Повторяете это много раз, получаете играбельный и увлекательный вариант — и вот вы уже начинающий геймдизайнер.

Или открываете редактор StarСraft 2, создаете карту, расставляете по ней врагов, балансируете, испытываете в деле, ошибаетесь, переделываете. После энного количества итераций на карте становится интересно играть. Несколько удачных карт, и вы — начинающий дизайнер уровней.

Художник

В работе над игровым артом совершенствоваться можно бесконечно. Бывают 2D- и 3D-художники. Одни предпочитают скетчи, другие — персонажей, третьи — технику. Лучше всего изначально «качать» лишь отдельные навыки, а когда они будут на достойном уровне, понемногу добавлять новый функционал.

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

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

Разработчик

Есть десятки ресурсов для онлайнового обучения программированию. Но начинать лучше со школьных времен. Можно ориентироваться на язык программирования — (C++, Swift), или на игровой движок (Unity, Unreal). Или начните заниматься серверной частью (Java).

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

Аналитик

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

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

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

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

Я и код: Как стать востребованным программистом

Наши проекты значительно отличаются друг от друга по используемому стеку технологий. Нам приходится решать разноплановые задачи и задействовать большое количество профессионалов. Программисты — важная часть команды нашей команды. Всего над созданием кода в проектах студии трудятся свыше 50 наших коллег.

Мы проанализировали их опыт и готовы ответить на поступившие вопросы.

Программистом может быть каждый

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

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

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

Обучение никогда не заканчивается

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

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

Интернет — лучший источник знаний

И для новичков, и для профи основным источником знаний служит интернет. Вам пригодятся как специализированные ресурсы для программистов, так и сайты общего профиля. Например, за новостями удобнее всего следить через Twitter. Там же вы найдете лайфхаки от опытных разработчиков.

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

В процессе обучения крайне важно анализировать уже работающий код. Здесь пригодится GitHub и ему подобные сервисы. Книги по программированию не могут предоставить тот же объем качественных и актуальных примеров.

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

Если вы планируете посвятить себя C# и веб-разработке, полезными источниками информации станут:

Если вас интересует изучение движка Unity, следите за обновлениями на следующих ресурсах:

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

Программист — универсальный специалист

Программист в IT — универсальный солдат. Необязательно фокусироваться на определенной сфере деятельности: несмотря на разный стек технологий, специалист без особых проблем может перейти из геймдева в Enterprise и наоборот. Это вовсе не отменяет того, что нужно понимать особенности работы. К примеру, программисту в геймдеве все-таки стоит разбираться в игровой индустрии и самому быть геймером.

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

Типичные ошибки новичков

Мы проанализировали типичные ошибки начинающих программистов и на их основе сформулировали несколько советов. Не наступайте на чужие грабли!

Нельзя усложнять код без крайней необходимости

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

Не стоит изобретать велосипед

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

Не нужно отказываться от книг

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

Семь раз отмерь, один раз отрежь

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

Чередуйте быструю и качественную работу

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

Избавляйтесь от ригидности мышления


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

Мы надеемся, что статья оказалась полезной тем, кто делает первые шаги в программировании.

Советы для команды из одного разработчика

Итак, вы решили, в качестве хобби, создавать игры. Вы выбрали платформу разработки, прочитали некоторые туториалы и у вас есть классная идея для игры. У вас все подготовлено, самое время начать. Так давайте включим компьютер, правильно? Нет, совсем не правильно.

Вы можете сделать такую игру?

Студии по разработке игр являются компаниями, где деньги являются ключевым моментом в том, что они могут и не могут. Но вы не являетесь компанией. Поэтому, все не так просто.

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

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

Разработка игры — это довольно сложное дело, особенно для одиночки. От дизайна, программирования и до создания арта. Не каждый сможет сделать все сам. Не говоря уже о том, как тяжело будет учиться. Возможно вы захотите узнать, как сделать свой собственный физический движок твердого тела. Но его будет трудно сделать, не потеряв интереса к вашему проекту. И кто знает, может математика это совсем не для вас.

Как бы вы не хотели, вы не сможете создать подобный сиквел

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

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

Первые 90% кода приходятся на 90% времени разработки. Оставшиеся 10% кода приходятся на другие 90% времени. Том Каргилл из Bell Labs

Это шуточное правило описывает типичный цикл разработки игры. Вам кажется, что у вас все работает отлично, и вы вот-вот завершите игру. И вдруг понимаете, что вам предстоит ещё тонна работы для полировки игры. Такие вещи, как пользовательский интерфейс, звуки и последние баги потребуют от вас гораздо больше времени, чем вы ожидаете.

Чем больше ваша игра, тем больше мелочей вам предстоит исправить. Поэтому всегда держите в виду временные рамки.

Классная идея, но как насчет вашей игры?

У вас есть концепт, который вы сможете реализовать? Это здорово, но пока не начинайте разработку. Вы не сможете написать код по концепции. Не существует такого языка программирования, который позволит разработчикам создавать игры в смутных, общих чертах. Вы должны знать специфику того, что хотите создать.

Предположим, что вы делаете 2D-платформер, с подводным сеттингом и крутой механикой веса. Звучит отлично, но вы не сможете создать код «крутой механики веса». Нужно разбить задачу на части, чтобы понять, как это будет работать на определенном уровне.

  • Каким образом игрок становится легче или тяжелее?
  • Как это повлияет на взаимодействие между игроком и врагами?
  • Кто выступит в качестве врагов?
  • Каковы их модели поведения?
  • Могут ли они взаимодействовать со сценой?
  • Какие объекты находятся на уровне?
  • Как они взаимодействуют с игроком и врагами?

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

Я не одинок в своих суждениях. Все карты Shadow Complex были изначально созданы на бумаге. В наши дни, это, безусловно, довольно необычный стиль разработки игры. И я не утверждаю, что все должны его повторять. Но команда Chair Entertainment безусловно сделала акцент на понимание игры, прежде чем начать создавать её.

Часть бумажной карты Shadow Complex

Я непреклонен в этом аспекте, поскольку сам недавно столкнулся с этим. И я предлагаю себя в качестве примера того, что делать не следует.

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

Я так сильно хотел сделать игру, что даже понятия не имел, что я пытался сделать. В конечном итоге, особенности кодировались случайным образом, в надежде на то, что игра потом выльется во что-то стоящее. Код получился очень грязным, арт был нарисован ещё до того, как я определился с сеттингом. И поэтому, не подходил вовсе.

После этого, я потерял всяческий интерес к проекту, поскольку его было сложно реализовать. Дизайн не был сложным, но разработка была кропотливой, трудной и не стимулирующей.

Разве это не задача прототипов?

Прототип разбирается почти в каждом постмортеме о разработке игры. «Создавайте прототипы и тестируйте, пока не создадите то, что вам понравится».

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

Прототипирование и тестирование занимают свою определенную нишу в разработке игры в одиночку. Просто нужно проделать это по другому.

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

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

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

Цукерберг рекомендует:  20 классных PSD шаблонов сайтов

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

Конечно, все зависит от платформы разработки. Если вы делаете прототип там, где много вещей уже было сделано за вас (GameMaker или даже редактор уровней LittleBigPlanet), то создание прототипа займет не так много времени и усилий, особенно для одного разработчика. В этом случае, создавайте столько прототипов, сколько душе угодно!

Я могу начать прямо сейчас?

Когда у вас будет готовый дизайн, выработанная специфика того, как все будет работать, и вы будете точно знать, как поступить с прототипом, тогда все готово!

FAQ по созданию игр

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

Задумка и документирование игры.

Общий вопрос: с чего начать?
Естественно, создание игры начинается, собственно, с мысли и желания создать свою игру.
Сначала нужно выбрать жанр игры и её сюжетную линию, представить себе главных героев, места событий, геймплей. Если Вы хотите создать успешный проект, то на этом этапе нужно также учесть такие вещи как целевую аудиторию, платформу, стоимость разработки и сроки создания игры. Очень важно придумать какие-то особенности, новые фишки Вашего продукта, которые придадут ему уникальность и непохожесть на другие игры выбранного жанра. При удачном выборе успех будет ошеломляющ.
Логичным завершением данного этапа будет фиксирование всего вышесказанного в отдельном документе. Необходимо четко и кратко, структурировано, прямо по пунктам изложить описание будущей игры на бумаге. Такой документ называется концепт-документом.

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

Настолько ли важно для процесса создание дизайн документа?
Важность дизайн-документа трудно переоценить. Без него, в конечном счете, вряд ли получится что-то внятное. Например, сегодня Вы видите игру так, завтра – иначе. Или вчера Вам пришла в голову идея, но сегодня Вы её забыли. А ещё был какой-то очень важный нюанс, но он уже не учтен… А если созданием занимается команда, то она просто обязана как-то координировать свои действия, иметь какой-то образец перед глазами.

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

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

Кто занимается созданием игры?
Выделяют следующие роли людей в проекте:

  • Продюсер — (один или несколько) для наблюдения за производством. Отвечает за финансовую и маркетинговую сторону проекта.
  • Гейм-дизайнер (по крайней мере один) — человек, разрабатывающий правила игр. Слово «геймдизайнер» применяется в основном к компьютерным играм. Роль геймдизайнера аналогична роли постановщика задачи в обычном программировании и режиссёра в кино. Основная задача геймдизайнера — разработка дизайн-документа.
  • Сценарист — отвечает за художественную часть: персонажей, диалоги и т. д. Умеет писать художественным языком.
  • Художники. В зависимости от игры это 2D-художники (концепт-художники, художники по текстурам, художники по интерфейсам), 3D-художники (моделлеры, аниматоры) и прочие ребята, ответственные за внешний вид игры.
    Зачастую выделяют главного художника, который отвечает за координацию работ остальных художников и не допускает разнобоя художественных стилей.
  • Программисты. Люди, которые создают механизмы игры.
    Как и при создании обычных программ, выделяют ведущего программиста, который отвечает за техническую часть: распределение задач по программированию, стандарты кода.
  • Дизайнеры уровней.
  • Звукооператоры (композиторы и те, кто работает над звуковыми эффектами).
  • Тестеры.

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

Сколько людей нужно чтобы создать игру?
Важно выбрать оптимальное количество человек в команде. Принцип «чем больше — тем лучше» тут не сработает. Иногда даже может произойти наоборот: набрав большое количество людей, можно получить колоссальный разброд мыслей, что не пойдет на пользу проекту и снизит скорость его разработки. Задумывая новую роль в команде, нужно задумываться — действительно ли она нужна или можно обойтись без нее.
Количество также во многом зависит от масштаба проекта.
Если разрабатывают небольшую игру, то как правило берут связку программист+художник, а остальные роли распределяют между ними. Такой дуэт оптимален и вообще выполняет большую часть работы по созданию игры (если не всю). Кроме того, в любой момент времени можно включать новые роли, совершенствуя и ускоряя разработку.
Для более крупных проектов можно обойтись 5-6 ролями, для больших — большим количеством людей.
Естественно, маленькую игрушку может создать и один человек, выполняющий все роли, особенно на готовых движках или конструкторах.

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

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


Шаг 1. Выбор инструментария.

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

  • Конструкторы игр и прочие инструменты, позволяющие создавать игры без программирования.
    Конструктор – это набор сопрягаемых деталей. Так и программы данной группы – всего лишь готовый набор объектов, которые Вы можете настроить, указать как они будут взаимодействовать, выбрать их расположение, тем самым составив игру.
    Минусы очевидны – Вы полностью ограничены возможностями конструктора. Игры получаются однообразными, довольно простенькими и убогими. Если Вы придумали интересный трюк, то не факт что Вы его сможете реализовать.
    Плюсы также очевидны – разобраться с программой-конструктором очень просто, большинство имеет интуитивно понятный интерфейс и, кроме того, довольно большую аудиторию игроделов, а следовательно, множество примеров и мануалов, написанных понятным языком. Важным также является то, что для создания своей игры не потребуется навыков программирования и знания теории, а сам процесс займет малое количество времени. А начинающие игроделы научатся понимать саму логику и механизмы игры на этих упрощенных моделях.
    В общем, если целью стоит создание простенькой игрушки, на забаву себе и друзьям в короткие сроки, то конструктор игры – вещь как минимум заслуживающая интереса.
  • Готовые движки.
    • Игрово́й движок — это центральный программный компонент компьютерных и видео игр или других интерактивных приложений с графикой, обрабатываемой в реальном времени. Он обеспечивает основные технологии, упрощает разработку и часто даёт игре возможность запускаться на нескольких платформах, таких как игровые консоли и настольные операционные системы, например, GNU/Linux, Mac OS X и Microsoft Windows. Основную функциональность обычно обеспечивает игровой движок, включающий движок рендеринга («визуализатор») для 2D или 3D графики, физический движок или обнаружение столкновений (и реакцию на столкновение), звук, скриптинг, анимацию, искусственный интеллект, сетевой код, streaming, управление памятью, threading и граф сцены. Часто на процессе разработки можно сэкономить за счет повторного использования одного игрового движка для создания множества различных игр.
    • Графический движок (англ. graphics engine; иногда «рендерер» или «визуализатор») – подпрограммное обеспечение (англ. middleware), программный движок, основной задачей которого является визуализация (рендеринг) двухмерной или трёхмерной компьютерной графики. Может существовать как отдельный продукт или в составе игрового движка. Может использоваться для визуализации отдельных изображений или компьютерного видео. Графические движки, использующееся в программах по работе с компьютерной графикой (таких, как 3ds Max, Maya, Cinema 4D, Zbrush, Blender), обычно называются «рендерерами», «отрисовщиками» или «визуализаторами». Само название «графический движок» используется, как правило, в компьютерных играх. Основное и важнейшее отличие «игровых» графических движков от программных рендереров состоит в том, что первые должны обязательно работать в режиме реального времени, тогда как вторые могут тратить по несколько десятков часов на вывод одного изображения. Вторым существенным отличием является то, что начиная приблизительно с 1995-1997 года, графические движки производят рендеринг с помощью графических процессоров (англ. GPU), которые установлены на отдельных платах — видеокартах. Программные рендереры используют только центральные процессоры (англ. CPU).

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

    • Физический движок — подсистема в компьютерных играх и некоторых других приложениях, отвечающая за симуляцию физики абсолютно твёрдого тела (с появлением PhysX — и за поведение «тряпичных» и мягких тел, так же). В силу специфики области применения, основными требованиями, предъявляемыми к физическим движкам, являются высокая производительность и реалистичность. Однако требование «реалистичности» не всегда совпадает с требованием физической точности симуляции, и предполагает только субъективную достоверность поведения твёрдых тел, а иногда — даже всего лишь красоту и зрелищность (тогда это называют «кинематографичной физикой») В августе 2009 года англоязычный журнал Game Developer (англ.), посвящённый разработке компьютерных игр, опубликовал статью о современных игровых движках и их использовании. Согласно данным журнала, наиболее популярным среди разработчиков является движок nVidia PhysX, который занимает 26,8% рынка. На втором месте находится Havok, который занимает 22,7% рынка. Третье место принадлежит движку Bullet Physics Library (10,3%), а четвёртое — Open Dynamics Engine (4,1%).
    • Звуковой движок (англ. sound/audio engine) — программный компонент игрового движка, отвечающий за воспроизведение звука (голосов персонажей, шумовое и музыкальное оформление) в компьютерной игре или другом приложении. Звуковой движок часто отвечает также за имитацию определенных акустических условий, воспроизведение звука согласно местоположению, эхо и т.д. Примеры известных звуковых интерфейсов программирования приложений (англ. API) и программных библиотек, которые используются в звуковых движках — Environmental Audio Extensions (EAX), OpenAL, FMOD, DirectSound3D и др.
    • Игровой искусственный интеллект (англ. Game artificial intelligence) — набор программных методик, которые используются в компьютерных играх для создания иллюзии интеллекта в поведении персонажей, управляемых компьютером. Игровой ИИ, помимо методов традиционного искусственного интеллекта, включает также алгоритмы теории управления, робототехники, компьютерной графики и информатики в целом. Реализация ИИ сильно влияет на геймплей, системные требования и бюджет игры, и разработчики балансируют между этими требованиями, стараясь сделать интересный и нетребовательный к ресурсам ИИ малой ценой. Поэтому подход к игровому ИИ серьёзно отличается от подхода к традиционному ИИ — широко применяются разного рода упрощения, обманы и эмуляции. Например: с одной стороны, в шутерах от первого лица безошибочное движение и мгновенное прицеливание, присущее ботам, не оставляет ни единого шанса человеку, так что эти способности искусственно снижаются. С другой — боты должны делать засады, действовать командой и т. д., для этого применяются «костыли» в виде контрольных точек, расставленных на уровне.
  • Средства разработки и среды программирования.
    Эта группа предназначена для написания собственного движка.
    В контексте данной темы фраза «написать движок» будет означать написание механизмов нашей отдельно взятой игры. Не нужно пытаться писать универсальный движок для множества игр, не нужно усложнять свою программу. Ограничьтесь минимально возможным набором объектов и наиболее простой системой для функционирования Вашей игры.

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

    Какой язык выбрать для программирования игры?
    По поводу выбора языка вряд ли кто возьмется дать какой-либо конкретный ответ. Да, самый распространенный – это C++. Но также это может быть и C#, и Delphi и Basic и любой другой
    (полезная ссылка по вопросу: Кто чем пользуется для написания игр?)
    Какие графические API обычно используются?
    Из графических API традиционно выделяют DirectX и OpenGl, но существуют и другие.

    DirectX — это набор API функций, разработанных для решения задач, связанных с игровым и видеопрограммированием под Microsoft Windows. Наиболее широко используется при написании компьютерных игр. Пакет средств разработки DirectX под Microsoft Windows бесплатно доступен на сайте Microsoft. Зачастую свежие версии DirectX поставляются вместе с игровыми приложениями, так как DirectX API обновляется достаточно часто, и версия, включённая в ОС Windows, обычно является далеко не самой новой.

    Вообще говоря, DirectX – это не только API для графики.
    В целом, DirectX подразделяется на:

    • DirectX Graphics, набор интерфейсов, ранее (до версии 8.0) делившихся на:
      • DirectDraw: интерфейс вывода растровой графики. (Его разработка давно прекращена)
      • Direct3D(D3D): интерфейс вывода трёхмерных примитивов.
    • DirectInput: интерфейс, используемый для обработки данных, поступающих с клавиатуры, мыши, джойстика и пр. игровых контроллеров.
    • DirectPlay: интерфейс сетевой коммуникации игр.
    • DirectSound: интерфейс низкоуровневой работы со звуком (формата Wave)
    • DirectMusic: интерфейс воспроизведения музыки в форматах Microsoft.
    • DirectShow: интерфейс, используемый для ввода/вывода аудио и/или видео данных.
    • DirectSetup: часть, ответственная за установку DirectX.
    • DirectX Media Objects: реализует функциональную поддержку потоковых объектов (например, кодировщики/декодировщики)
    • Direct2D : интерфейс вывода двумерной графики.

    Практически все части DirectX API представляют собой наборы COM-совместимых объектов.

    OpenGL (Open Graphics Library — открытая графическая библиотека) — спецификация, определяющая независимый от языка программирования кросс-платформенный программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.
    Включает более 250-ти функций для рисования сложных трёхмерных сцен из простых примитивов. Используется при создании компьютерных игр, САПР, виртуальной реальности, визуализации в научных исследованиях. На платформе Windows конкурирует с Direct3D.
    Существует ряд библиотек, созданных поверх или в дополнение к OpenGL. Например, библиотека GLU, являющаяся практически стандартным дополнением OpenGL и всегда её сопровождающая, построена поверх последней, то есть использует её функции для реализации своих возможностей. Другие библиотеки, как, например, GLUT и SDL, созданы для реализации возможностей, недоступных в OpenGL.

Что лучше — DirectX или OpenGL?
У каждого из этих продуктов свои особенности, достоинства и недостатки.
Полезная ссылка по вопросу: DirectX vs. OpenGL.

Шаг 2. Изучение теории.
Следующим логичным шагом будет изучение теории по выбранному инструментарию.

Какие книги можно почитать по . ?
Я собрал возможную полезную литературу в отдельном разделе: Литература по программированию игр. Надеюсь, это поможет.

Шаг 3. Непосредственное программирование\создание игры.
Самый трудоемкий и вместе с тем интересный процесс. Естественно, его рассмотрение не поместится в рамки ни одного FAQ, поэтому все возникающие проблемы можно обсуждать здесь.

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

Как программировать игры: языки, движки и все, что нужно знать начинающему разработчику

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

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

Поэтому ты идешь в гугл и начинаешь изучать все статьи и ролики по теме. Выведя на экран первое «Hello, world!», решаешь, что все очень просто. Но чем глубже погружаешься в это, тем сильнее хочется рвать волосы на голове.

Не переживайте! Главное — в самом начале узнать, что нас ждет, чтобы потом не свернуть на полпути, пройти все этапы и начать продавать игру!

С чего начать разработку игры

Надеюсь, что вы уже придумали, какой будет игра, разработали концепт и сделали несколько эскизов. Теперь настало время реализовать свои задумки. Есть несколько вариантов, как это сделать:

  • Написать все с нуля — сложный способ, но лучше начать с него, чтобы разобраться с языками.
  • Использовать движки — способ полегче. Даже новичок, вооружившись мануалами из интернета, может создать интересную игру на одной из популярных платформ.
  • Заготовки — можно скачать готовую заготовку игры, в которой достаточно будет поменять текстуры, чтобы выдать ее за свою.

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

Языки программирования

Создать игру можно на любом языке, от Python и C до Pascal и Java. От выбора зависит то, сколько времени уйдет на игру и для какой платформы будет релиз. Также язык влияет на производительность, хотя навыки программиста тоже очень важны.

На C++, например, можно писать для любой платформы, а вот PHP или JavaScript больше подойдут для браузерных игр. Если же вы собираетесь использовать один из популярных движков, то лучше изучать C#, потому что он часто используется ими для прописывания скриптов.

Главное — не недооценивать языки. В движке Unity можно писать и на JavaScript, а Minecraft был написан на Java.

Интересно ли работать в Gamedev? Личный опыт. Часть 1

Уверен, на компьютере или смартфоне хоть раз пробовал играть каждый. А как создаются компьютерные игры? Наверное, многим интересен этот вопрос. Отработав год в gamedev, что по-русски переводится как «создание игр», хочу кратко рассказать о процессе изнутри. Итак, приступим…

Целевая аудитория

Все игры можно условно разделить на две категории.

Первая категория — это топовые игры, которые у всех на слуху, такие как DOOM, Starcraft, Oblivion и пр. Аудитория таких игр — фанаты-геймеры, отличающиеся высокой лояльностью к продукту: они могут месяцами ждать релиза от любимой компании, могут платить немалые деньги за дистрибутив с игрой (цена игр около 1000 р.), могут покупать даже коробочные версии с различными сувенирами в комплекте (фигурки персонажей, коврики для мыши и пр). Аудитория таких игр весьма платежеспособна, но с другой стороны, весьма малочисленна.

Вторая категория (именно о ней дальше пойдет речь) — это так называемые казуальные игры (от слова casual — случайный). Это игры, в которые играют от случая к случаю, игры, не требующие особых навыков. В отличие от первой категории, типичная аудитория казуалок — это школьники, студенты и скучающие домохозяйки. Аудитория более обширная, чем в первом случае, но и гораздо менее платежеспособная: игра не воспринимается всерьез, и платить за нее мало кто хочет. Большинство игр распространяются по принципу «Free to play», игра скачивается бесплатно, и если она надоест, игрок без сожаления поставит другую. Игры обычно отличаются несложным сюжетом, яркой «цветастой» графикой и огромным количеством клонов/конкурентов на рынке.

Разработка игры

При создании игры используется четкое разделение труда. Разумеется, код программы пишут программисты, количество человек может варьироваться от 2 до 20 в зависимости от сложности проекта. Программистами руководит «тимлид» (лидер группы), в обязанности которого входит распределение работы, оценка сроков, принятие концептуальных решений (например, выбор технологии или алгоритма в сложной ситуации). Все шишки в случае неудач также валятся на него, в общем, более высокая зарплата компенсируется в разы большей ответственностью и объемом работы. Тестирует игру отдельный тестер, в задачи которого входит многократное прохождение уровней, составление отчетов об ошибках, которые пересылаются программистам.

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

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

Для крупных проектов могут нанять даже композитора, который создает саунд-треки для уровней (игр без звука и музыки сейчас давно нет). Переводом интерфейса на английский язык занимается переводчик: все компании ориентируются на западный рынок, объем продаж «тут» и «там» отличается в 10 и более раз, и только на русский рынок игру никто не делает. И наконец, раскруткой и распространением занимается менеджер, в его задачи входит поиск средств рекламы, договоры с владельцами сайтов о написании обзоров, рассылка пресс-релизов и пр.

При огромном количестве игр единственным средством держаться на плаву является вложение больших средств в раскрутку и рекламу. С уверенностью в 99% можно сказать, что все игры, находящиеся в топах, держатся там не только за счет качества самой игры, но и за счет огромных средств, вкладываемых в раскрутку и поддержание трафика от пользователей. Так, например, для попадания в топ платных игр на iPhone (тех, что отображаются на первых страницах в App Store) требуется несколько тысяч закачек в день. Получить их можно разными способами — от массовой рекламы, до обращения к компаниям, предлагающим платные установки и имеющим множество аккаунтов «виртуальных» пользователей.

Когда игра готова, ее распространением занимается издатель. За размещение игры на своей площадке издатель берет немалые деньги — например, всем известный ресурс «ВКонтакте» берет себе 45% прибыли от продаж, Apple App Store — 30%. В общем, даже создав игру, немалую часть дохода придется отдать владельцу той площадки, где она выкладывается.

О финансовых вопросах более подробно поговорим в следующей части.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих