Сейчас рассматриваю различные игровые движки для своих нужд, попутно изучая индустрию и комьюнити. Хочу поделиться информацией которую в результате различных проб и оценок удалось добыть. Людям, кто задумывается о создании своей игры, но не знает с чего начать может быть полезно.
Игровой движок отличается от фреймворков наличием своего редактора и в более высокоуровневым и дружелюбным для новичков подходом к разработке игр. Для рассмотрения брал либо популярные, либо интересные лично мне движки. Фреймворков в мобильной и веб разработке тоже достаточно, но здесь они рассматриваться не будут. Рассматриваемые сферы разработки игр: мобильные, десктопные, консольные.
Темы, где сравнивается одна технология с другой очень субъективны. И эта не исключение. Каждый популярный движок это огромный пласт информации с большим комьюнити, различиями в версиях, лучшими практиками применения и серьёзным функционалом. Поэтому не претендую на конечную истину. Каждый из рассмотренных постарался изучить внимательно: сделать прототип, посмотреть документацию и комьюнити, поиграть в игры на каждом движке.
Движки будут рассмотрены очень разные от самых простых, до весьма сложных. Поэтому разбил аудиторию, которой могут быть интересны игры, на следующие сегменты:
- Просто геймеры, которые не умеют программировать, но хотят создавать игры. Это могут быть художники, дизайнеры или совсем молодые игроки.
- Те, кто с кодом знаком в той или иной степени. Понимают конструкции языка. Но кодирование не является их основной деятельностью. Архитектура, паттерны проектирования, производительность — это всё не про них. Геймдизайнеры, менеджеры, джуны-разработчики.
- Разработчики хорошего уровня, например работающие не в геймдеве или которые хотят сменить технологию.
- Малый бизнес. Кто-то кто не будет заниматься разработкой напрямую, а собирает свою инди-команду.
- Те, кто ищет работу в офисе в геймдеве.
Unity

Сайт — https://unity.com/ru
Unity — самый популярный игровой движок на сегодняшний день. Появился в 2005 году. Большое распространение получил с выходом версии Unity3d. На этом движке сделано большое количество мобильных игр и игр в steam. В том числе и инди. По ссылке — https://docs.google.com/spreadsheets/d/1teGFwbh_Ov1si_9aa8RAk1PANOd5AWL-56yJNuTpUec/edit?source=post_page—————————#gid=0 топ 100 игр в стиме, которые имеют тег «Indie» и 5k+ ревью разбитые по движкам.
У Unity самое большое количество разработчиков, у большинства компаний процессы заточены именно под Unity (и под используемый там язык C#). Кроме того готовых ассетов у движка примерно столько же, сколько суммарно у всех других рассматриваемых в этой статье. Ассеты — это готовые решения: 3d модели, картинки, уровни и даже целые игры которые можно использовать в своей игре.
На движке сделано много популярных игр: Heartstone, Pokemon GO, Cuphead, Subnautica, Hollow Knight, Escape From Tarkov и тд.
Но при этом это и самый критикуемый движок. Причём соотношение критикуемых выше среднего по другим движкам. Часто можно увидеть такие посты:

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

На самом деле это не так, там есть всякие программисты.
Мои за и против.
За:
- Самое большое комьюнити
- Встроенные реклама и аналитика от самой Unity
- Мультиплатформенность
- Бесплатная версия, если оборот не превышает 100 000 $ с минимальными ограничениями
- Самый большой выбор ассетов
- Самый большой выбор обучающих материалов, курсов и книг
- C# неплохой язык. Мощный и понятный
- Сам движок имеет большие возможности как в 2d, так и в 3d
Против:
- По сравнению с другими движками не очень удобная структура и интерфейс
- Файлы на выходе весят много. Из-за чего его мало используют в вебе и на мобильных они многим уступают по части веса и производительности
- Ошибки, которые бывают тянутся из версии в версию
- Даже при наличии инструмента визуального программирования Playmaker и большого количества ассетов для совсем новичков движок будет слишком сложный
- 3d графика неплоха, но таки прилично уступает Unreal. По моим ощущениям как PS3 сравнить с современными компами (всё имхо конечно)
По сегментам пользователей:
- Для совсем новичков будет слишком сложно и непонятно
- Для второй категории — вполне неплохо. Много гайдов помогут в освоении.
- В третьей категории обитают как раз большое кол-во хейтеров Unity. Если не нравится — сейчас хороший выбор других движков. Но в Unity также есть и Best practices и замечательная технология ECS. И профессионалов там тоже хватает.
- Для инди команд существует много рисков при создании игры. А Unity в данном случае наименее рискованный вариант. Так как много разработчиков которых можно сменить и много гайдов и ассетов для старта.
- Для офисной работы у нас практически кроме Unity и Unreal других движков не существует. Особенно Unity. И все процессы заточены под них.
Полезные ссылки:
https://docs.google.com/spreadsheets/d/1b8-0uDTgweaCWbYNwqKeVSbSAUItXFOdvbqMCXehFoo/edit#gid=0
Unreal

Сайт — https://www.unrealengine.com/
Легендарный движок повлиявший на всю индустрию шутеров впервые был использован в 1998 году в игре Unreal. Впоследствии много раз использовался для игр ААА-класса: Deus Ex, Clive Barker’s Undying, Unreal, Tom Clancy’s Splinter Cell, Gears of War, BioShock, Mass Effect, серия Batman: Arkham, Medal of Honor, Mortal Kombat, Street Fighter 5, Tekken 7, XCOM, Fornite и др.
С 2015 года бесплатный для использования. Если игра приносит более 3000$ за квартал, производители берут 5% прибыли.
Язык программирования — C++, который считается самым сложным в изучении и в работе. Но и самым производительным. Но помимо него есть система визуального программирования Blueprints из коробки и можно создавать игры не написав и строчки кода. Этим и занимаются в основном инди-разработчики на Unreal, которые не хотят связываться с C++. Надо учесть только проблемы с производительностью, она на Blueprints существенно ниже, чем на живом коде. Поэтому надо читать гайды по оптимизации.
Unreal engine предоставляет самую лучшую графику (только CryEngine бы поспорил), самые лучшие эффекты, отличное моделирование и дизайн уровней. Движок популярен у 3d-художников, моделлеров и левел-дизайнеров. Кроме того отличный набор готовых ассетов и тутоиалы на самые разные темы.
Ругают его обычно за низкую производительность, высокий порог входа и периодические баги. Используют в основном для 3d игр на компьютеры и приставки. Но с ростом технологий часто стали встречаться игры на этом движке и на мобильных. Для 2d-игр есть специальная система 2d Paper.
Мои за и против.
За:
1) Отличная графика
2) Хорошие инструменты для моделирования уровней
3) Большое комьюнити и большое количество туториалов
4) Визуальный скриптинг Blueprints из коробки
5) Бесплатный
6) Отличный набор готовых ассетов. Меньше чем у Unity, но все качественные
Против:
1) Занимает много места сама программа и её игры
2) Высокий порог входа, который частично снижен визуальным программированием
3) Интерфейс достаточно громоздкий с десятками элементов. Хотя если привыкнуть — логичнее чем в Unity
4) Есть проблемы с производительностью
По сегментам пользователей:
1) Для самой первой категории не подойдёт. Несмотря на визуальный скриптинг это инструмент слишком сложный и масштабный для новичка
2) Те кто имеют некоторый опыт и навыки программирования могут попробовать сделать игру. Но начинать наверное лучше с других движков. Тем не менее есть примеры инди разработчиков в одиночку делающих игру на Blueprints
3) Для программистов C++ подойдёт хорошо
4) Команды могут вполне использовать. Людей на проект подобрать можно.
5) Для офиса подойдёт. После Unity — второй движок по популярности. Не только у программистов и гейм-дизайнеров, но и у 3d-художников и левел-дизайнеров.
Полезные ссылки:
Defold

Сайт — https://www.defold.com/
Движок от шведской команды King, одного из лидеров по продажам мобильных игр. Появился в 2011 году. Стал бесплатным в 2016. Язык программирования — Lua.
Это движок ориентированный в первую очередь на мобильные и браузерные 2d игры. Но есть и 3d функционал. По возможностям несколько уступает Godot и Unity, но превосходит Gamemaker.
Основными особенностями являются упор на маленький вес приложений и высокую производительность. Большой упор на удобство для пользователей: удобный интерфейс, подробная документация и маленькое, но приветливое комьюнити.
А в России развитием сообщества занимается целый евангелист, чего не замечено у других движков. Русский представитель из компании king.
Мои за и против.
За:
1) Хорошая документация и туториалы
2) Бесплатен
3) Одно из самых приветливых и полезных сообществ. В том числе и русское
4) Есть своя аналитика и интеграция с Google Analytics
5) Есть интеграция с внутриигровыми покупками в Google Play и App Store и с сервисами мобильной рекламы
Против:
1) Функционал в 2d и 3d уступает основным конкурентам Godot и Unity
2) Периодически ловятся разные ошибки. Были жалобы на стадии продакшена при выкатывании новой версии
3) Нет деплоя на популярные приставки
4) Очень мало материалов в интернете по сравнению с конкурентами. Новые материалы создаются в основном силами King и нескольких энтузиастов
5) Фактически нет хитов кроме King’овских игр и с натяжкой одной белоруской фермы)
По сегментам пользователей:
1) Для самой первой категории не подойдёт — необходимо знать программирование
2) Для второй категории может подойти из-за удобства и дружелюбного комьюнити
3) Для программистов может подойти, если достаточно функционала, нравится Lua и не нравится Unity
4) Для команд слишком мало специалистов и не до конца отлажен продакшен, лучше пробовать более популярные движки
5) Для офиса — вакансий таких мизер. Я только одну видел
Полезные ссылки:
Godot

Сайт — https://godotengine.org/
Один из самых современных и наверное самый хайповый движок. Часто можно увидеть статьи или ролики с названием типа «27 причин почему я выбрал Godot вмеcто Unity». Название отсылает к абсурдистской пьесе Сэмюэля Бэккета «В ожидании Годо».
Опенсорсный движок с лицензией MIT. Появился в 2014 году, стабильная версия 2.0 вышла в 2016. В 2018 разработчики добавили поддержку 3d и движок получил название версии 3.0.
Мультиплатформенный, имеет большие возможности в 2d и несколько ограниченные в 3d. Ожидается поддержка Vulkan API, что позволит использовать фотореалистичные текстуры и сильно улучшит качества 3d движка. Имеет много контрибьютеров, самое большое количество среди опенсорсных движков. Но также имеет и недостатки, местами сыроват и имеет проблемы с производительностью если на экране находится большое количество объектов. Что обещают пофиксить в грядущей версии 3.2.
Мои за и против.
За:
1) Хорошая документация, большая часть переведена на русский
2) Бесплатен
3) Достаточно большое и активное сообщество. Уступает наверное только Unity и Unreal
4) Опенсорсный, достаточно быстро фиксятся баги
5) Работает на всех платформах и деплой почти на все платформы
6) Быстрый, игры мало весят. По некотором данным выигрывает в 2d у Unity до 30%
7) Хорошо организована структура файлов внутри движка
8) Поддержка нескольких языков: GDScript, C#, C++. C# — пока не полная
Против:
1) Сыроват. Некоторые вещи в больших движках из коробки, здесь что-то надо искать, доустанавливать или даже самим допиливать
2) Проседания по производительности с большим количеством объектов
3) По сравнению с большими движками мало туториалов, баз знаний и возможности решить проблему. А из-за смены версий, те что есть часто устаревают
4) Есть неплохие игры https://www.youtube.com/watch?v=JF60CfSLjew, но хитов пока нет
По сегментам пользователей:
1) Для самой первой категории не совсем подойдёт. Есть визуальный скриптинг, есть достаточно дружелюбный интерфейс и сам движок полностью русифицирован. Но мне кажется новичку здесь запуститься будет всё-таки непросто.
2) Для второй категории подойдёт, много плюшек и несложно. Но могут возникнуть проблемы о которых писал выше
3) Для программистов подойдёт. Они в основном самые ярые фанаты. Но есть и которые скептически настроены.
4) Команды уже начинают использовать. Но пока рисков явно побольше, чем с Unity
5) Для офиса не подойдёт. Была только одна вакансия. Возможно позже.
Полезные ссылки:
Gamemaker Studio

Сайт — https://www.yoyogames.com/gamemaker
Прародителем этого движка был gamemaker, который появился ещё в 1999 году. Изначально миссией компании YoYo Games было предоставление простого конструктора для игр и долгое время продукт был бесплатен. Позже появились спонсоры Playtech, которые купили YoYo Games. Результатом в 2017 году стала вторая версия известного движка.
Это и следующие два рассматриваемых движка отличает самый низкий порог входа и возможность создавать игры без программирования. Gamemaker простой как палка и при этом весьма эффективный. На движке создано немало инди-хитов, некоторые из них перешагнули миллионные отметки скачиваний в стиме. Такие изветсные игры как: Hotline Miami, Nuclear Throne, Undertale, Hyper Light Drifter, The Swords of Ditto, Forager, недавний Katana Zero и многие другие.
Это в основном инди-2d игры под стим, мобильные или приставки. Создаются в основном при помощи визуального программирования drag-n-drop. Есть возможность программировать на собственном совсем простом языке gml, напоминающим javascript.
С лицензиями сейчас ситуация странная: под каждую платформу своя лицензия https://accounts.yoyogames.com/products. Что не очень удобно. Минимальная версия для Windows стоит 39$, есть бесплатный 30-дневный период. Есть свой магазин ассетов, по сравнению с Unity совсем жидкий.
Комьюнити достаточно большое и активное, в том числе и русское. Собираются в основном на форуме.
Мои за и против.
За:
1) Низкий порог вхождения, не обязательно знание программирования
2) Активное комьюнити
3) Не слишком современный и красивый, но при этом очень удобный интерфейс
4) Высокая скорость разработки
5) Большое количество успешных игр на платформе
6) Есть своя аналитика
Против:
1) Только 2d игры, при том даже 2d уступает ведущим движкам. Есть ограниченная поддержка 3d, но не используется в основном.
2) Видно наследие старых времён. Документация и форум как из начала нулевых по визуалу
3) Программистами не воспринимается серьёзно и часто критикуем из-за архитектуры проекта и сложности поддержки таких проектов
4) Интерфейс становится неудобен на более-менее больших проектах
По сегментам пользователей:
1) Для совсем новичков подойдёт хорошо
2) Для второй категории — тоже хорошо
3, 4, 5) Для других категорий, лучше выбрать другой движок. Только инди-команды иногда его ещё берут.
Полезные ссылки:
Construct 2 / Contruct 3

Сайт — https://www.construct.net/en
Конструктор двумерных игр , разрабатываемый компанией Scirra. Первая версия вышла в 2007 году. Если Gamemaker Studio простой как палка — то этот ещё проще. Тем не менее мультиплатформенный. На нём делают игры и на компьютеры и на телефоны и для веба. Игры создаются без программирования с помощью выбора уже предустановленных вариантов, заложенных как методы Box 2D Physics.
Разработчиками не воспринимается всерьёз. Тем не менее игры создаются, создаются быстро и потом монетизируются. Есть достаточно активное комьюнити. Но хитов, как у Gamemaker Studio — не наблюдается.
Есть две поддерживаемые версии 2 и 3. Вторая скачивается на компьютер, третья в браузере и русифицирована полностью. Обе платные — 518 рублей в месяц. Есть бесплатный период.
Мои за и против.
За:
1) Низкий порог вхождения, знание программирования не требуется
2) Высокая скорость разработки
Активное комьюнити
Против:
1) Слабый движок. Слабее Gamemaker studio. Хотя имеет начальную поддержку 3d.
2) При своей простоте показался менее удобен чем Gamemaker Studio и GDevelop
3) Платные версии
По сегментам пользователей:
1, 2, 3, 4, 5) Подходит только самой первой категории ввиду полной простоты и наличия уроков в интернете
Полезные ссылки:
GDevelop

Сайт — https://gdevelop-app.com/
Третий и последний движок для начинающих. Понравился мне больше двух предыдущих. И похоже не только мне https://www.slant.co/versus/1049/6630/~gamemaker-studio_vs_gdevelop и https://www.slant.co/versus/1058/6630/~construct-2_vs_gdevelop.
Это Open Source движок. Не имеет компании владельца, а поддерживается и развивается сообществом программистов. Бесплатен, удобен. Очень быстрая разработка без программирования, есть возможность писать на javascript. Имеет хорошую документацию и развивается. Но по возможностям конечно очень скуден и служит для быстрой разработки типа 8-битных игр или прототипирования.
Мои за и против.
За:
1) Хорошая документация
2) Бесплатен
3) Возможность работы из браузера
4) Низкий порог вхождения, знание программирования не требуется
5) Высокая скорость разработки
6) В планах есть 3d
7) Очень быстрый экспорт игр на популярные платформы
Против:
1) Слабый движок.
2) Неразвитое комьюнити. Особенно русское
3) Нет хитов
4) Нет магазина ассетов
По сегментам пользователей:
1, 2, 3, 4, 5) Подходит только самой первой категории и для прототипирования и дальнейшей разработки на более мощных движках. А также для обучения
Полезные ссылки:
Есть ещё много различных движков. Есть и фреймворки, без графической оболочки. Но и этого набора вполне хватит для человека с любым опытом в игрострое от нулевого до высокого, чтобы начать делать свою игру.