Есть ли такие вещи, которые помогут мне построить мою игру для Android?
Есть ли такие вещи, которые помогут мне построить мою игру для Android?
Ответы:
РЕДАКТИРОВАТЬ: PSA: Имейте в виду, что этот ответ был написан в 2012 году, а 3 года спустя, существует гораздо больше двигателей, и многие из них сделаны исключительно для мобильных устройств. Не принимайте этот ответ как должное и поищите в Google более свежие системы.
Я портирую Irrlicht на Android и использую его для 2D игр. Это не лучшее решение, но у меня хорошие результаты. Я пробовал много фреймворков Java, но сборщик мусора может задерживать ваши игры в течение 0,2 с на телефоне G1 ... Так что фреймворк должен очень аккуратно распределять ресурсы.
Коммерческие платформы C ++:
Платформы с открытым исходным кодом C ++:
Фреймворки с открытым исходным кодом Java:
Физический Двигатель:
Предупреждение: с Froyo и JIT библиотеки Java работают намного лучше. Но проблемы сборщика мусора всегда актуальны. С Gingerbread сборщик мусора непрерывный, так что никаких проблем.
Я удивлен, что никто не упомянул libgdx. http://code.google.com/p/libgdx/
AndEngine довольно новый, но он с открытым исходным кодом и выглядит многообещающе.
Самоописание:
Бесплатный Android 2D OpenGL игровой движок. AndEngine разработан Николасом Грамлихом.
Я думаю, что вы могли бы использовать игру Replica Island от Chris Pruett в качестве примера 2d игры. Я думаю, что это должно быть основой для других игр, как объясняется в этом видео из Google I / O 2010. Вы можете посмотреть игру здесь .
Unity3D (которая технически может быть использована для создания 2D-игр) "скоро появится" для Android: http://unity3d.com/
Cocos2d для Android основан на библиотеке iPhone cocos2d . Я не уверен, насколько он полезен в данный момент, но стоит проверить.
androidbox2d - это порт Android Box2D. Box2D - это многофункциональный движок физики твердого тела.
В настоящее время идет Android-порт SDL , и SDL, вероятно, лучшая инфраструктура для 2D-графики. Он был разработан одним из ведущих в Blizzard, так что вы знаете, что некоторые реальные знания в области создания игр были вложены в него.
SIO2 Game Engine. Только что вышла новая версия с полной поддержкой Android. Вы можете создавать 2D и 3D игры, используя его и портировать между различными платформами. http://sio2interactive.com
Я работаю над движком 2d с открытым исходным кодом под названием YoghurtGum, который предназначен как для Windows Mobile, так и для Android. Однако перенести все это на Android C ++ оказалось чрезвычайно сложно.
Это самый бесполезный ответ из всех, что я знаю.
Если вам нравится разрабатывать в AIR for Android, вы можете использовать Flash. Сам по себе Flash не имеет специфических игровых функций, но благодаря успеху Flash в сети существует огромное количество сторонних библиотек, специально предназначенных для игр.
Некоторые из наиболее популярных сторонних платформ для игр во Flash включают Flixel (http://flixel.org/) и PushButtonEngine (http://pushbuttonengine.com/), которые полностью разработаны для разработки игр. Flash также имеет версию Box2D (физический движок, упомянутый выше - http://box2dflash.sourceforge.net/ ) и различные 3D-библиотеки, такие как Papervision (http://code.google.com/p/papervision3d/). если вы хотите пойти по этому пути в будущем.
Однако главный недостаток разработки в AIR заключается в том, что я почти уверен, что вам понадобится ориентироваться на Froyo 2.2 или более поздней версии, поэтому старые телефоны останутся в стороне.
Cocos2D-x - это порт Cocos2D для iPhone, написанный на C ++ и предназначенный для Android NDK, который активно разрабатывается для достижения паритета функций с версией для iPhone. У него не будет проблем со сборкой мусора, и вы получите относительно простой порт для iOS, Win32 и, возможно, в конечном итоге OSX в ближайшем будущем.
PlayN - это многоплатформенная 2D-инфраструктура, предназначенная для Android в дополнение к HTML5, Flash и JVM. Он несколько новый, но использовался для написания HTML5-реализации Angry Birds и имеет достаточно активное сообщество.