Игровые движки, которые на слуху

904fb914ad690a0654568b97c72c5627.jpg

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

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

Unreal Engine

bd77d11883969fdd1198ed2ff6de799e.png

Unreal Engine — движок для создания 3D игр с системой визуального программирования Blueprint, благодаря которой можно собирать прототипы без навыков программирования. Двжиок разработан Epic Games, которая также создала свой стор, чтобы конкурировать со Steam и разработали популярную игру Fortnite, не говоря уже о классике как Unreal Tournament и Gears of War. В официальном магазине движка часто появляются бесплатные ассеты — части игрового контента, которые можно использовать в коммерческих целях.

На данный момент последняя версия Unreal Engine 5. В ней появилась система Nanite, которая позволяет не беспокоиться об оптимизации ассетов под разные системы: движок все делает самостоятельно. Другая фича — эта технология Lumen, которая автоматически обрабатывает источники света. И самое крутое — это конструктор людей MetaHuman, который позволяет создавать реалистичных людей буквально в несколько кликов.

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

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

Сам движок бесплатный, но при доходе от миллиона долларов за все время существования игры Epic Games забирает 5%.

Unity

5caaf9dbb1ae2c0fd5440107d46208b2.png

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

Ограничений по созданию игр в Unity практически нет — можно создавать как простые инди игры, так и более сложные AAA проекты.

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

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

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

Godot

8aef0ea40a4c9fe267aa8a8d07beed4b.png

Godot — бесплатный движок с открытым исходным кодом как и в Unreal Engine.

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

Он идеально подходит для 2D-игр, имеет гибкую систему анимации объектов.

Язык программирования GDScript, также поддерживает C#,   C++ и визуальное программирование.

GameMaker Studio 2

d3666546a042bbd031a9774b796c1f62.png

GameMaker Studio также известный движок наравне с Unity и Unreal Engine. На нем сделано много инди игр и у него низкий порог входа, т.к. необязательно уметь программировать, а все взаимодействия можно легко настраивать простым перетягиванием элементов.

Но возможность программировать есть. Язык программирования GML, у него не так много возможностей, но легко начать программировать.

Есть интеграция со Steam, магазин ассетов и хорошая документация.

Но плохо реализован инструмент для создания 3D-игр. 

Phaser 3

f70126748f5bc67b88d1d1ca6e5439c5.png

Phaser 3 — один из самых популярных фреймворков для создания HTML-игр. Есть возможность рендера как на Canvas, так и на WebGL. На основе библиотек PixiJS созданные игры можно скомпилировать на iOS и Android.

Phaser имеет визуальный редактор MightyEditor, который упрощает разработку, а также инструмент Phaser SandBox, позволяющий экспериментировать с возможностями фреймворка или собственным кодом, а также сохранять ссылку для демонстрации проекта.

Но когда был тренд на html5 игры в 2015 и я активно их разрабатывал, то на тот момент я выбрал PixiJS вместо Phaser«а. Потому что я хотел именно программировать, а Phaser не давал мне нужной гибкости. Но тогда уже было видно, что фреймворк крутой и может удовлетворить потребности разработчиков, которые не сильны в программировании. До PixiJS я использовал CreateJS от Adobe, но в оптимизации этот движок мне показался хуже.

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

Язык программирования JavaScript или TypeScript для добавления специальных фичей.

Solar 2D (бывший Corona SDK)

9f0b7c27dffc87eb00d536512e186334.png

Движок для создания 2D игр под мобильные устройства, ПК и html5. Раньше он назывался Corona SDK.

Я создал множество игр на этом движке для мобилок и ПК. А вот на html5 так и не попробовал, потому что тогда уже активно использовал PixiJS, как говорил ранее. Даже в январе 2024 года я за неделю сделал игру для Steam на этом движке. О ходе разработки я писал каждый день в телеграм канале, кому интересно, можете посмотреть.

Язык программирования Lua, мой любимый раздолбайский язык. Это самый простой язык программирования, который я встречал. А я активно программировал еще на js, C#, as3 и solidity, ну и баловался на Delphi, C++, Visual Basic.

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

В нем есть box2d для работы с физикой.

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

Defold

4bdd4c010de48319676cd44fd2befda9.png

Defold — движок для создания 2D игр, которые также разрабтываются на языке Lua. И игры запускаются почти на всех платформах, в отличии от Solar2D, даже на Nintendo Switch.

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

У Defold развитое сообщество. Ограниченные возможности работы с 3D.

Ren«Py

06c3c9e6dbea6e68881daba9b8ed20dd.png

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

В Ren«Py можно делать мини игры, но это может быть не так удобно и гибко.

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

Open 3D Engine (O3DE)

5cb480d3d25294133541f682ba7af767.png

Это кроссплатформенный игровой 3D-движок, основанный AWS на базе Lumberyard Game Engine, который сам в своё время был основан на базе Cry Engine 3. Этот движок подходит для разработки AAA игр под современные платформы.

У него открытый исходный код.

Каждый из интегрированных компонентов O3DE (называемых «Gems») может быть адаптирован отдельно, что дает вам доступ к определенным функциям, необходимым для вашей игры.

Языки программирования Lua, ядро и модули на C++.

Cocos2d

a166fa862a2412c9d94e43e7f5f62e2b.png

Cocos2d — это кросплатформенный движок для создания 2D игр. Это как раз один из движков, среди которых я выбирал на чем начать разрабатывать мобильные игры. Но мой выбор пал на Solar2D. Но движок хороший и стоит к нему присмотреться. Он поддерживает Python, C++, Lua и JavaScript.

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

Adobe AIR SDK (Flash)

6872ad9d1ee437a52bbb0a3eee18a924.png

Мой любиый Flash, с него всё у меня начиналось. Много игр на нем разработал и даже что-то заработал.

У него есть пакет Adobe AIR SDK, который позволяет создавать мобильные и ПК игры в 2D.

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

Язык программирования ActionScript, который очень похож на JavaScript.

Лично я не рискнул выпускать игры на мобилках после флеша на Adobe. Но мой знакомый до сих пор разрабатывает игры на нем и вышло сделать популярную RTS похожую на RedAlert для мобильных устройств, а также менее популряную, похожую на Dune)

Construct 3

acfc67473163306b2e78eefc40c3de6b.png

Construct 3 это движок для разработки 2D игр. Да, он также начал поддерживать 3D, но если посмотреть на выпущенные проекты, то все они в основном 2D инди игры. Преимущество этого движка в том, что на нем очень быстро можно создавать игры. Я бы его рассматривал для создания прототипов, чтобы проверить гипотезу, получиться быстро фидбек от игроков, чтобы оценить потенциальность разработки полноценной игры.

Поддерживается язык программирования JavaScript.

RPG Maker

66d88e8854727c864e664e9dc51f86e4.png

RPG Maker — отличный вариант для создания двумерных РПГ, если нет желания программировать, но очень хочется создать свою jrpg.

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

Stencyl

a7a604579d7741e8b06d8dc3cdc43302.png

Stencyl еще один движок для создания 2D игр без кода.

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

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

Заключение

Когда я сам программировал игры, то я очень активно работал на движках/фреймворках Flash, Solar2D и PixiJS, на котором основан Phaser. Т.к. последние 5 лет я руководитель проектов, то предпочитаю чтобы разработка шла на Unity. Хотя, когда я работаю в сторонних компаниях, также используются и собственные движки.

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

© Habrahabr.ru