10 Ноя 2022
11 мин
134

Как создать игру на ПК

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

Разбираемся, из чего состоит процесс создания компьютерных игр

Содержание

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

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

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

Разработать игру — сложно. Особенно сложно сделать это самостоятельно. Слишком много информации, которую в одиночку не осилить. Чтобы начать разработку игры, нужно:

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

Среда разработки

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

Из статистики видно, что три самых популярных движка по выпущенным играм в Steam — это Unity, Unreal Engine и Game Maker: Studio.

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

На всех этих движках можно делать игры для ПК, консолей и мобильных платформ.

Unity

Самый популярный движок для разработки игр в любом жанре и на любой платформе. Де-факто — это стандарт для разработки мобильных проектов.

Плюсы:

  1. Персональная версия движка доступна бесплатно при годовом доходе меньше $200 000.
  2. Не самый сложный и довольно популярный язык программирования C#.
  3. Есть система визуального скриптинга Bolts, с помощью которой можно вносить изменения в игру дизайнеру самостоятельно, не задействуя программиста.
  4. Можно экспортировать игру для браузера.

Минусы:

  1. Нужно приложить много усилий, чтобы добиться такой же фотореалистичной картинки, как в Unreal Engine.
  2. Возникает много проблем при переходе на новую версию движка.

Unreal Engine

Основной конкурент Unity среди 3D-движков, известен отличной картинкой и технологиями. Вместе с пятой версией движка Epic Games презентовали технологии Nanite и Lumen — они могут масштабировать и отображать модели из миллионов полигонов. А еще в них есть система динамического глобального освещения, которая делает картинку крайне реалистичной.

Плюсы:

  1. Движок бесплатный до первого заработанного миллиона в долларах, дальше нужно будет отдавать процент с дохода.
  2. Современные технологии фотореалистичного рендера — «Матрицу» на Unreal Engine порой тяжело отличить от фильма.
  3. Fortnite, который разрабатывают авторы Unreal Engine, позволяет заранее обкатывать на большой базе пользователей новые фичи движка.
  4. Визуальное программирование с помощью Blueprints — вместо того чтобы писать код вручную, можно расставлять мышью специальные блоки и связывать их между собой, создавая логику программы.

Минусы:

  1. Если не использовать Blueprints, то придется изучать довольно сложный язык C++.
  2. Не самое оптимальное решение для разработки мобильных игр — нужно приложить много усилий, чтобы оптимизировать рендер и размер игры для мобильных устройств.
  3. Не такой развитый функционал для создания 2D-игр по сравнению со специализированными движками (Game Maker) или с Unity.
  4. Нет возможности экспортировать игру для браузера.

Game Maker: Studio

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

Плюсы:

  1. На этом движке можно быстро прототипировать и разрабатывать 2D-игры.
  2. Для новичков есть режим визуального программирования без написания кода.
  3. Можно экспортировать игру для браузера.

Минусы:

  1. Не подходит для полноценного 3D, хотя в нём есть базовые функции по загрузке трехмерных объектов.
  2. Нет мультипоточности — если планируете делать сложный 2D-проект, нужно хорошо поработать над оптимизацией: распределять сложные вычисления между несколькими кадрами, оптимизировать алгоритмы, выносить сложные процессы типа поиска пути во внешние dll, написанные на C++, и использовать другие хитрости.
  3. Бесплатная только базовая версия, из которой можно экспортировать игру только для веба на сервис gx.games. Остальные версии движка с разными ограничениями — по подписке.

Какой язык программирования нужен

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

А если в движке есть система визуального программирования, как в Unreal Engine или Unity, можно обойтись вообще без написания кода. Как минимум для создания прототипа.

Как выбрать платформу

При выборе платформы стоит ориентироваться на жанр игры: времена, когда на ПК играли в «собери в ряд», давно в прошлом, сейчас для этого есть смартфоны. А для хардкорной RPG больше подойдет консоль или компьютер.

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

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

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

ПК

Плюсы:

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

Минусы:

  1. Большая конкуренция — за 2021 год в Steam вышло почти 12 тысяч игр, 27% из них продались тиражом меньше ста копий.
  2. Нужно быть готовыми, что ваша игра окажется на торрентах в день релиза.
  3. Всегда есть вероятность, что найдется игрок с такой конфигурацией ПК, на которой ваша игра будет работать некорректно.

Приставки

Плюсы:

  1. На консоли гораздо сложнее создать игру, поэтому здесь меньше конкуренция.
  2. Оптимизировать и поддерживать игру проще на консоли. потому что есть всего несколько конфигураций устройств, на которых будет запускаться игра.
  3. Большая аудитория хардкорных и мидкорных геймеров.
  4. Маленький процент пиратства.

Минусы:

  1. Для инди-разработчика сложно самостоятельно договориться и оформить соглашение с консольными платформодержателями, поэтому ему понадобится издатель с выходом на консольный рынок.
  2. Для тестирования игры во время разработки нужен девкит — специальная версия консоли для разработчиков. Такие устройства в магазине не найти, их могут прислать только соответствующие платформодержатели после заключения договора.
  3. Управление в игре должно быть заточено под геймпад. Если вы делаете игру на ПК и на консоли, придется поддерживать два разных способа управления — «клавамышь» или геймпад.
  4. Не все жанры приживаются на консолях — сомнительное удовольствие играть с геймпада в стратегию в реальном времени.

Мобилки

Плюсы:

  1. Можно очень быстро сделать прототип игры: в мобильных играх обычно мало механик.
  2. Гиперказуальные игры прототипируются от пары часов до пары дней.
  3. Требования к графике сильно ниже, чем на ПК или на консолях.

Минусы:

  1. Огромная конкуренция — в 2021 году в Google Play было выпущено 187 тысяч игр: это 520 игр в день.
  2. Нужно вложить много денег в рекламу — без нее вашей игры фактически не существует.
    Добро пожаловать в мир аналитики — CPI, DAU, MAU, Retention, ARPU и еще много других непонятных слов, в которых придется разобраться и которые напрямую влияют на успех мобильной игры.
  3. Даже если игра не предполагает обновлений после релиза, этим всё равно нужно будет заниматься: в Google Play или AppStore периодически меняются правила по защите персональных данных — и вместе с этим устаревают SDK, с помощью которых показывается реклама или собирается аналитика. Если SDK периодически не обновлять, то игру просто удалят.

Браузеры

Плюсы:

  1. Проще всего начать играть — не нужно ничего устанавливать, браузер есть и в телефоне, и на ПК.

Минусы:

  1. Далеко не все движки позволяют экспортировать игру в браузер — например, в Unreal Engine такой возможности нет.
  2. Управление в игре нужно адаптировать под сенсорное управление, если вы хотите, чтобы играть можно было с телефона.
  3. Браузер — не самая эффективная платформа для сложных 3D-игр, поэтому игру придется сильно оптимизировать и урезать графику.

Основные компоненты игры

Геймплей и игровые механики

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

Игровых механик может быть немного. Например, в гиперказуальных играх может быть одна игровая механика: в Flappy Bird нужно управлять птичкой тапами и избегать препятствий. Врезался — проиграл. Вот и вся игра.

Сюжет и персонажи

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

Графический дизайн

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

Звук

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

Баланс

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

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

Этапы создания

Концептирование

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

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

На этом этапе можно жонглировать идеями и изменять концепт хоть каждый день: временные расходы на это минимальны.

Прототипирование

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

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

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

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

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

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

Тестирование

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

Есть несколько путей, по которым можно пойти:

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

Релиз

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

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

Техподдержка

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

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

Команда

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

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

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

Программист

Проектирует архитектуру игры, программирует механики. Совершает ошибки в коде — поэтому у тестировщиков всегда есть работа.

Тестировщик

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

Художник

Рисует спрайты, фоны, иконки, создает 3D-модели, текстурирует, настраивает анимации. Арт-директор следит за общем стилем игры и сочетанием разных элементов.

Маркетолог

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

Коротко о главном

  • Обязательно составьте дизайн-документ.
  • Если не уверены в игровых механиках, которые выбрали, сделайте прототип и протестируйте его на ком-нибудь.
  • Начинайте раскрутку игры уже во время разработки: на релизе заниматься этим будет уже поздно.
  • При выборе движка исходите из требований к жанру, стилистике и платформе.
  • Можно попробовать всё сделать самому, но лучше собрать команду и заняться тем, что действительно нравится в разработке игры.

Получите пошаговый план развития в карьере после записи на курс






    Оставляя заявку, вы принимаете условия соглашения

    Учёба ради учёбы — это не прикольно. На наших курсах вы ставите конкретные цели и достигаете
    их
    в заданные сроки. Начинайте карьеру с первых достижений!

    Добавить комментарий

    Вставить формулу как
    Блок
    Строка
    Дополнительные настройки
    Цвет формулы
    Цвет текста
    #333333
    Используйте LaTeX для набора формулы
    Предпросмотр
    \({}\)
    Формула не набрана
    Вставить