Статьи

Какую платформу выбрать для следующей мобильной игры?

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

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

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

Cocos2D

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

Cocos2d также использует OpenGL в качестве движка рендеринга. Он использует бурундук в качестве физического движка. Если вам нравится Objective-C или Swift, и вы хотите разрабатывать для нескольких платформ (iOS и Android), то Cocos2d — это фреймворк, который стоит рассмотреть.

Cocos2d-x — это C ++ порт Cocos2d, который может компилироваться на многих других платформах. Cocos2d-x может компилироваться для iOS, Android, Windows Phone, OS X, Windows и Linux.

Cocos2d-х

Cocos2d-x не поставляется с SpriteBuilder. Тем не менее, у него есть несколько интересных проектов, таких как Cocos Creator , который предоставляет инфраструктуру, редактирование сцены, отладку, предварительный просмотр игры и публикацию на нескольких платформах.

Unity — это движок для мобильных игр, который поддерживает C # и UnityScript , язык, разработанный специально для Unity и созданный по образцу JavaScript. Он кроссплатформенный и может быть развернут на многих платформах, включая PlayStation и Xbox. Доступна бесплатная версия и профессиональная версия, предлагающая больше возможностей. Более подробная информация доступна на сайте Unity.

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

Единство

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

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

SpriteKit — это патентованная платформа Apple для разработки 2D-игр. Он доступен только на iOS и OS X. SpriteKit поддерживает Swift и Objective-C, комбинацию двух.

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

SpriteKit

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

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

Если вы привязаны к экосистеме Apple, тогда SpriteKit — очень хороший выбор.

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

Titanium поддерживает множество встроенных элементов управления iOS и Android. Это позволяет легко анимировать виды и изображения. Я построил игру в блэкджек, в комплекте с анимацией и приятным эффектом перелистывания карт, используя Titanium.

титан

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

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

PhoneGap позволяет вам использовать имеющиеся у вас навыки работы с HTML, CSS и JavaScript и упаковать их в мобильное приложение. Это работает путем встраивания веб-представления в приложение и загрузки ваших ресурсов в это веб-представление. Это означает, что вы можете использовать Canvas API для создания игр.

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

PhoneGap

По своей сути PhoneGap довольно прост. Он берет приложение на основе HTML и упаковывает его как мобильное приложение, используя веб-представление.

Мы рассмотрим две другие библиотеки JavaScript, которые вы можете использовать для создания игры Canvas / WebGL, Phaser и CreateJS.

Phaser — это JavaScript-фреймворк с открытым исходным кодом для написания 2D-игр. Он использует Canvas или WebGL, если доступно.

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

фазовращатель

Для Phaser доступно несколько плагинов, в том числе разработчик системы частиц и плагин Box2D. Если вы предпочитаете JavaScript, то Phaser в сочетании с PhoneGap может быть хорошим выбором.

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

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

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

CreateJS

Хотя в CreateJS не так много API-интерфейсов, специально разработанных для разработки игр, он написан на JavaScript, поэтому вы можете включать любые дополнительные библиотеки JavaScript, например, порт JavaScript Box2D. Одна библиотека, которую я успешно использовал в прошлом, — это библиотека обнаружения столкновений для EaselJS.

Я написал пару статей о CreateJS на Envato Tuts +. Если вы ищете подробное введение в эти библиотеки, то вам могут понравиться следующие:

Unreal Engine — игровой движок, использующий C ++ в качестве языка программирования. Это бесплатно для использования с ограничениями. Для получения более подробной информации посетите веб-сайт Unreal Engine. Вы можете развернуть свою игру на iOS и Android.

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

Нереальный Двигатель

Corona SDK — это набор для разработки программного обеспечения, который использует Lua в качестве языка сценариев. Он доступен в Windows и OS X. Вы можете бесплатно разрабатывать свои игры и приложения с помощью Corona SDK, однако Perk , компания, которая приобрела Corona Labs , предлагает корпоративную модель, которая предоставляет доступ к собственным библиотекам / API и некоторым другим функции. Посетите их сайт для получения дополнительной информации о ценах.

Corona SDK экспортирует в iOS, Android, Kindle и Windows Phone 8. Экспорт в Windows и OS X находится в закрытой бета-версии и будет в ближайшее время.

Corona Labs предлагает некоторые другие привлекательные функции, такие как Corona Editor , плагин Sublime Text, который включает в себя отладчик, завершение кода и несколько других приятных опций. Графический интерфейс Composer , доступный в OS X, предоставляет графическое окружение, в котором вы можете создавать уровни своей игры и видеть, как объекты взаимодействуют друг с другом, используя физический движок Corona.

Corona SDK

Corona SDK использует OpenGL в качестве движка рендеринга и Box2D для физики. Его физический движок предоставляет оболочку для Box2D, что облегчает его использование. Corona SDK включает в себя более тысячи API, которые вы можете использовать для создания своих игр.

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

К сожалению, в Corona SDK нет возможности создавать спрайт-атласы, и использование сложных форм для обнаружения столкновений с физикой может быть затруднено. Тем не менее, есть несколько отличных сторонних приложений, которые могут облегчить эту боль, таких как Texture Packer и Physics Editor .

В целом, Corona SDK — это отличный SDK для изучения, если вы ищете кроссплатформенное решение и хотите легко использовать язык сценариев Lua.

Гидерос , как и Corona, использует Lua в качестве языка сценариев. Gideros является бесплатным и открытым исходным кодом и может компилироваться для iOS, Android, Windows Phone, OS X, Windows и Windows RT.

Хотя Lua не является объектно-ориентированным языком программирования с системой на основе классов, Gideros предоставляет API на основе классов, позволяющий разработчикам писать чистый и повторно используемый код.

Gideros имеет менеджер сцен со всеми видами переходов, класс MovieClip для анимации и обеспечивает анимацию с помощью библиотеки GTween , которая позволяет перемещать, масштабировать, вращать объекты и многое другое.

Гидерос Мобайл

Gideros, как и Corona, использует Box2D для физики, хотя API-интерфейс Box2D компании Gideros немного ближе к оригинальному API Box2D и, следовательно, немного сложнее в использовании.

Он предоставляет некоторые дополнительные инструменты, такие как инструмент для упаковки текстур и создатель шрифтов, которые можно найти в каталоге установки. Gideros позволяет мгновенно тестировать свои проекты на мобильном устройстве через соединение Wi-Fi.

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

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

AndEngine

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

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

libGDX — это еще одна среда разработки Java-игр. Он кроссплатформенный и может компилироваться в Windows, OS X, Linux, Android, iOS, Blackberry и HTML5. libGDX также использует OpenGL в качестве движка рендеринга и использует Box2D для симуляции физики.

libGDX имеет класс Camera класс Action для перемещения, масштабирования и поворота объектов, а также класс ParticleEmitter для отображения частиц. Он поддерживает карты TiledMap помощью класса TiledMap , который можно использовать с редактором Tiled .

libGDX

libGDX поставляется с некоторыми дополнительными инструментами, такими как упаковщик текстур , редактор частиц и генератор растровых шрифтов .

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

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