Денис Зарицкий
Разработчик программного обеспечения. Увлекается разработкой игр на Unreal Engine, также интересны: JavaScript, HTML5, Node.js, User Experience, онлайн-образование, искусственный интеллект и интернет-маркетинг. Любит участвовать в стартапах и интересных проектах.

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

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

Давайте взглянем на список!

Corona SDK

Corona SDK

Corona SDK представляет собой кросс-платформенный движок для создания игр под iOS и Android. API позволяет делать 2D-игры, а также поможет вам создавать сложные функции, используя API на основе Lua. Кроме того, вы можете монетизировать Corona SDK с помощью Corona Ads. Разработка с Corona достаточно проста благодаря тестированию в режиме реального времени.

Corona включает в себя такие интересные фичи, как Corona Editor, Sublime Text plugin и многие другие. Composer GUI, доступный на OS X, предоставит вам графическую среду, в которой вы сможете создавать уровни для игр и видеть, как объекты взаимодействуют друг с другом, используя Corona’s physics engine.

Пример разработки на Corona SDK →

Unreal Engine

Unreal Engine

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

Есть бесплатная версия Unreal Engine, переход на Pro-версию обойдётся в кругленькую сумму.

Unreal Engine использует С++, на нём вы можете разрабатывать игры для iOS и Android. В движке есть мощный редактор, заключающий в себе несколько узкоспециальных редакторов. Их освоение очень поможет вам в разработке. Некоторые редакторы даже могут заменить определённые программы. Взаимодействие всех этих подсистем — просто шедевр.

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

Пример разработки на Unreal Engine →

Unity

Unity

Unity считается одним из лучших игровых движков в отрасли. Есть бесплатная версия, которая может быть использована для создания 2D- и 3D-игр. Она охватывает 24 платформы: мобильные устройства, VR, десктоп, консоли и веб-платформы.

Движок поддерживает три сценарных языка: C#, JavaScript (модификация), Boo (диалект Python). Unity имеет простой Drag&Drop-интерфейс, который легко настраивать. Он состоит из различных окон, благодаря чему можно проводить отладку игры прямо в редакторе. Проект в Unity делится на сцены (уровни) — отдельные файлы, содержащие свои игровые миры с набором объектов, сценариев и настроек.

Пример разработки на Unity →

Phaser

Phaser

Phaser — это фреймворк для разработки десктопных и мобильных HTML5-игр, базирующийся на библиотеке PIXI.js. Поддерживает рендеринг в Canvas и WebGL, анимированные спрайты, частицы, аудио, разные способы ввода и физику объектов. Phaser распространяется с открытым исходным кодом по лицензии MIT. Это означает, что вы можете использовать код без ограничений, но с сохранением уведомлений об авторском праве в копиях ПО, то есть в тексте вашей лицензии необходимо будет добавить указание авторских прав на этот фреймворк. Он хорошо поддерживается Ричардом Дэви и появившимся вокруг него сообществом.

Пример разработки на Phaser →

Cocos2d-x

Cocos2d-x

Cocos2d-x, появившийся в 2010 году, — это проект с открытым исходным кодом, распространяющийся по лицензии MIT. Разработка игр в Cocos2d-x строится на использовании спрайтов. С помощью этих контейнеров создаются всевозможные сцены, например игровые локации, или меню. Управление спрайтами происходит при помощи анимации или программного кода на языках C++, JavaScript или Lua. Благодаря современному визуальному интерфейсу спрайты можно легко изменять, перемещать, масштабировать и проводить с ними прочие манипуляции.

Большие ребята, такие как Zynga, Wooga, Glu, Big Fish Games, Konami, используют Cocos2d-x для разработки игр.

Cocos2D

Cocos2D

Cocos2d — это open-source-фреймворк, совместимый с Swift и Objective-C. Он имеет поддержку iOS и OS X, а также Android через плагин SpriteBuilder Android (при условии, что ваш код написан на Objective-C). Поддержка Swift для Android находится в стадии разработки.

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

Управление сценой осуществляется через класс CCDirector, который может использовать многочисленные переходы с классом CCTransition. Он предлагает анимацию с помощью класса и действий, таких как перемещать, масштабировать и вращать CCAnimation с его CCAction-класса. Cocos2d имеет поддержку систем частиц с классом CCParticleSystem и карт плитки с классом CCTiledMap.

SpriteKit

SpriteKit

2D-движок, оптимизированный под создание игр для Apple-устройств. В его основе лежит популярный физический движок Box 2D. Поскольку разработчики создавали его заточенным специально для устройств Apple, он существенно выигрывает в скорости у остальных движков. Предоставляет все основные функции для создания графики в играх: поддержку OpenGL-ES-шейдеров, эффектов освещения, анимации, проверки столкновений, отрисовку текста, видео и так далее.

CreateJS

CreateJS

CreateJS — это сборник различных библиотек для создания игр с открытым исходным кодом:

EaselJS — это библиотека, которая основана на Canvas API. TweenJS — это анимация в Canvas. И она отлично справляется со своей задачей, делая за вас и упрощая многие вещи. SoundJS, как вы уже догадались, предназначена для работы с аудио. PreloadJS помогает управлять и координировать загрузку данных.

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

AndEngine

AndEngine

AndEngine является одним из наиболее известных бесплатных движков с открытым исходным кодом для написания 2D-игр под Android. AndEngine, как и многие другие платформы, использует OpenGL для рендеринга и Box2D для физики через расширение.

libGDX

libGDX

libGDX — это кросс-платформенный фреймворк, который написан на Java и работает с OpenGL. Предлагает поддержку нескольких платформ для публикации игры. Ingress (предшественник Pokémon GO) был разработан с использованием libGDX. Поддержка сообщества также великолепна, благодаря этому вы можете получить отличную документацию для работы.

Пример разработки с использованием libGDX →

Заключение

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