Выбираем мультиплатформенный движок для разработки мобильных игр (часть 1)

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

Мультиплатформенные движки спешат на помощь


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

Marmalade (в недалеком прошлом звался Airplay SDK)

Сайт: www.madewithmarmalade.com
Документация: www.madewithmarmalade.com/devnet/docs
Поддерживаемые платформы: ios(3.0+), Android(1.5+), Symbian, bada, webOS. Также должна появиться поддержка BlackBerry Tablet OS. Кроме того Marmalade поддерживает еще ряд платформ в bеta стадии.
Язык программирования: C/C++
Минимальная цена: $149/год.
Демо-версия: доступна 90 дневная тестовая копия для некоммерческого использования.

По виду очень серьезная штука, для серьезных игр. Я приметил Pro Evolution Soccer (PES) 2011 и Need for Speed Shift. Согласитесь, весьма серьезные продукты от именитых компаний, которые унылую подделку для своих творений не выбрали бы. Однако Marmalade скорее является не движком, а Фреймворком для создания своих движков (пример ниже). Кроме того он вам позволяет использовать различные имеющиеся у вас (или в открытом доступе) C/C++ библиотеки.

В общем, серьезный продукт для серьезных дядек. Один C/C++ не каждый осилит. Хотя для многих это будет огромным плюсом.

P.S. В заголовке сказано, что Marmalade был недавно переименован, а так же подорожал в цене, и теперь его приемлемая версия стоит $499.

Corona

Сайт: www.anscamobile.com
Документация: www.anscamobile.com/resources (в API достаточно много возможностей).
Поддерживаемые платформы: iOS, Android.
Язык программирования: Lua
Минимальная цена: $199/год за одну платформу. Или $349 за обе.
Демо-версия: доступна неограниченная по времени тестовая копия для некоммерческого использования.

Corona — это 2d движок для создания игр в духе Angry Birds. В качестве примера можно привести Bubble Ball, которую написал 14 летний парень из Америки.

У Corona достаточно обширное API на все случаи жизни, что позволит вам с легкостью реализовать все ваши хотелки. Однако, все в api предусмотреть не возможно и вполне вероятно, что рано или поздно вам захочется воспользоваться, какой-то нативной возможностью Android или IOS. Тут вас будет поджидать разочарование — Corona не имеет таких возможностей. Зато для Flash разработчиков есть приятная новость. Создатели движка утверждают, что тем, кто пишет игры на Flash, не составит труда перейти на Corona, т.к. они очень похожи.

Unity3d

Сайт: unity3d.com
Документация: unity3d.com/support/documentation
Поддерживаемые платформы: iOS, Аndroid, десктоп, Web, игровые приставки.
Язык программирования: C#, JavaScript, Boo
Минимальная цена: $400/год за одну платформу в стандартном издание.
Демо-версия: в течение 30 дней вы можете использовать полную PRO версию.

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

У движка есть много встроенных возможностей, а также ряд интересных сторонних плагинов которые добавляют недостающий функционал. Кроме того, вы можете пользоваться библиотеками? написанными на нативном для платформы языке (скажем Java для android), что весьма немаловажно для серьезных проектов. Также в арсенале Unity3d имеется визуальный редактор с огромным количеством всяческих настроек.

P.S. Для обеспечения мультиплатформенности используется MonoTouch.

ShiVa3D

Сайт: www.stonetrip.com
Документация: www.stonetrip.com/developer/doc
Поддерживаемые платформы: iOS, Android, Windows, Mac OS, Linux, Palm, Wii, Web.
Язык программирования: Lua
Минимальная цена: €169.00/год в стандартном издание.
Демо-версия: можно использовать сколько влезет, но когда захотите выложить свое творение в store? то придется купить.

ShiVa3D — это движок со встроенным визуальным редактором (как в Unity3d). Для реализации мультиплатформенности движок использует Marmalade (смотрим выше). У движка много встроенных возможностей, есть сторонние плагины и возможность использования библиотек написанных на нативном для платформы языке (скажем Java для android).

И еще немного


Flash

Недавно появилась свежая версия AIR, в которой есть возможность разработки под IOS, Android и BlackBerry PlayBook. Новая версия принесла больше стабильности и производительности. Хотя в качестве демонстраций я видел только обычные приложения (НЕ игры). Также пока отсутствует возможность использования нативных библиотек. А сам API тоже весьма не богат.

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

Kobold2D (должен появиться летом 2011)

Сайт: www.kobold2d.org
Стоимость: бесплатный (MIT License).
Поддерживаемые платформы: iOS.
Язык программирования: Lua

Обертка над Cocos2D, которая должна облегчить разработку игр для тех, кто не знает Objective-C.

Заключение


Возможно, я где-то ошибся и что-то не доглядел. Если это так, то правки принимаются. Удачного вам игростроения!

Вторую часть читаем здесь: Выбираем мультиплатформенный движок для разработки мобильных игр (часть 2)
Share post
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 66

    +5
    Мне кажется нужно добавить cocos2d-x :) Ребята недавно добавили поддержку lua, так что как минимум можно сравнить с описанным в статье Kobold2D.
      +1
      Стоит посмотреть, но думается мне, что это и есть Kobold2D который разрабатывается из проектов Cocos2D-x. Вообще проектов у них много, но не все живучи по этому и здесь может ожидать разочарование.
        0
        Ну Kobold поддерживает только ios, а cocos2d-x это ios+android.

        Я не думаю, что проект временный, потому как (если я правильно понял) cocos2d-x будет «движком по умолчанию» для китайской платформы woPhone и ребята работают над ним фултайм. Ну и не стоит забывать, что он открытый :)
        0
        Мне тоже показался интересным этот проект. Но вроде бы он на стадии беты. Или уже нет?
          +2
          Уже тогда, когда я в первый раз обратил на него внимание им можно было пользоваться. В свободное время пишу проектик с его использованием, нареканий нет(разве что звук внимательно не смотрел).

          Да, если брать из master, иногда там бывают неаккуратные изменения(один раз потратил целый вечер на поиск причины вылета android-версии, оказалось автор порта под airplay немножко накосячил), но фиксят быстро. Реагируют на пулл-реквесты, отвечают на форуме.

          Сейчас по сути они просто добавляют полезный функционал и следуют за ревизиями cocos2d для айфона.

          Просто если писать полноценное 2d приложение под две платформы сразу, с тем же unity3d можно влтететь в копеечку, т.к. понадобятся pro-версии(нам ведь нужен сервис достижений, интеграция с фейсбуком, твиттером?).

          airplay/mamelade тоже стал стоить хороших денег, при том, что фреймворка нет(а это время, соответственно тоже деньги)

          Разве есть какая-то альтернатива разработки мультиплатформенной 2д игры с использованием c++?
            0
            Посмотрел. Что сходу бросилось в глаза — необходимость создавать разные проекты под разные платформы. Причем под айфон на маке, а под андроид на виндовсе. Насколько это удобно? В мармеладе под все платформы собирается один проект.
            А что значит нет фреймворка у мармелада? Как бы есть. Вам что-то специфическое не хватает? Что меня порадовало у мармелада, так это документация. С cocos2d как-то тяжелее.
              0
              Ну мармелад(если ничего не добавили с времен, когда он был airplay) — низкоуровневое апи, а cocos2d содержит в себе практически всё что нужно :) А так меня цена отпугивает, я не думаю, что «возня» с проектами стоит таких денег :) Да и необходимость наличия интернета на машине(для проверки лицензии) не нравится.

              Проекты… Конечно хотелось бы деплой, как у airplay :) Чтобы и под iphone собирать под windows. Но ведь вышеописанная Shiva тоже требует почти таких же махинаций.

              P.S. проект под андроид я сейчас открываю только, чтобы написать jni-обертку для каких-то платформеннозависимых вещей(прикрутил openfeint, например), непосредственно под iphone собираю не я, но тоже без проблем всё.
              P.P.S. опять же, если нравится marmelade — обратите внимание на его поддержку cocos2d-x'ом, пишется русским(насколько я понимаю) товарищем :) Деплой мармелада+функционал кокоса, может быть в этом рецепт комфортной разработки?
                0
                Я не знаю какой он был во времена airplay, но для меня низкоуровневое АПИ — это DirectX с OpenGL. А если я могу сделать модель в майе, сэкспортировать плагином мармелада, одной функцией загрузить эту модель, а второй функцией отрисовать со всеми материалами, которые я выставил в майе — это вполне высокоуровнево как для меня. Единственное что мне не нравится — это арифметика с фиксированной точкой и цена :)
                Я вообще еще не выбрал оптимальный движок. Везде есть достоинства и недостатки. Сейчас я вижу это где-то так:
                Мармелад:
                + есть как 2D, так и 3D
                + деплой
                + хорошая документация
                — fixed point math
                — price
                cocos2d-x:
                + бесплатный
                + открытый код
                + возможно более богатый функционал (совсем не уверен)
                ± только 2D (не критично сегодня, но кто знает что будет завтра)
                — деплой
                — плохая документация

                P.S. Я и говорил про cocos2d-x в прошлом посте, у них деплой далек от мармелада.
              0
              Для unity3d под ios можно купить плагины на prime31.com, и там насколько я знаю про версия не нужна. Что понимается под сервисом достижений? Отправка http запросов куда-то в интернет про версии не требует.
            +3
            Вообще, неплохо бы было выложить список популярных Open Source движков.
            Да исписок небольшой. Не увидел движков на Java :\
              0
              Список состоит из мультиплатформенных движков (за исключением последнего), а таковых с Java мне не попадалось.
            +1
            вы использовали какое-нибудь из этих решений? если да, то поделитесь впечатлениями, пожалуйста
              0
              Пока что только поверхностно.
              Но для себя выбрал Corona. На нем сейчас начали делать небольшой проект. И еще симпатизирую ShiVa3D.

              P.S. Вообще все движки доступны для ознакомления и «hello world» пишется по мануалу в два счета, а для чего то более серьезного уже стоит выбирать по личным предпочтениям (необходимому функционалу и возможностям).
                0
                понятно, что c Hello World у них у всех все просто и красиво. интересен более глубокий практический опыт.
                удачи с Corona
                +1
                Лично мы в команде используем Shiva3D. Сравнивать особо не с чем, но проект написанный на AndEngine тормозил намного больше чем на Shiva, хотя там только 2D а тут 3D.
                  +1
                  Тоже выбрал бы его, но так как проект небольшой и 2D, то был выбран Corona.

                  На Shiva3D наверняка тоже можно сделать 2d игрушку, но думается мне, что там нужны различные костыли как в Unity3d.
                    0
                    Даже хуже =) Потому что ортографической камеры в Шиве нету пока.
                      0
                      Ортогональной :)
                      Но ортогональная проекция есть в Мармеладе, на котором он построен. Ф-ии Мармелада нельзя напрямую вызывать из Шивы?
                        0
                        В англоязычной литературе чаще пишут orthographic camera, поэтому я так пишу :) Ортографическая камера и ортогональная проекция.

                        Не буду врать, можно ли как-то выкрутиться. Просто запомнил, что пока нет такой возможности.
                +1
                Парни, а порт IdTech3 под iOS есть?
                  0
                  Я собирал сам, q3demo работала.
                  +1
                  Как-то странно говорить про движки игр и не упомянуть Unreal Engine. Из мобильных платформ он поддерживает iOS, Android и NGP (PS Vita).
                    0
                    UDK на телефонах и планшетах это всё-таки overkill.
                      0
                      Но какие красивые игры получаются.
                        0
                        Чем это? Для 3D само оно, для 2D может что-то и попроще есть — но платформа тут не при чем.
                        0
                        Точно забыл про него. Просто когда я последний раз слышал про него он только появился на iOS, а про android они вроде как говорили, что не хотят ее поддерживать из за сильной фрагментации. Ну и лицензия дорогая, а если инди то придется после определенной суммы делать отчисления в размере 25%. Но добавить стоит.
                        +4
                        Использую Corona SDK, очень доволен. Скорость и лёгкость написания игр просто потрясают. API конечно не всеобъемлющее, но вполне достаточное. Есть дружелюбный IRC канал #corona на фриноде. Я там постоянно бываю.

                        Заинтересован cocos2d-x с недавней поддержкой Lua, после завершения текущей игры обязательно попробую.

                        Ещё забыли упомянуть о moai SDK getmoai.com/, поддержка облачных игр из коробки, 2D, Lua, бесплатен (или почти бесплатен). API сейчас скудноват, но его можно расширять самому — то, чего так не хватает в Corona.

                        Ещё 3D движек OGRE можно запускать на андройде и iOS, но с ним сложнее.
                          0
                          OGRE это ведь не игровой движок по этому не стал про него упоминать.
                          За moai SDK большое спасибо. Я про него даже не слышал, но сегодня постараюсь посмотреть, что это за зверь.
                            +1
                            Я бы все-таки не стал так легко отметать Ogre3D. Да, это не игровой движок, но с легкостью в него превращается (физика, звук, редакторы сцен и прочее прикручиваются без особых проблем).
                            Потом, этот проект OpenSource, т.е.:
                            1) Вы за него не платите
                            2) У Вас есть все его исходные коды

                            Но и в завершении, приложения, написанные на OGRE, можно запускать на iOS, Android, Windows, Linux, MacOS (возможно и на чем-то еще, это ведь opensource).

                            Минусом можно назвать только сложный старт. На unity3D уже через неделю можно написать простенькую игрушку, то с OGRE вряд ли такое получится.
                            С другой стороны, если человек начинает изучать С++ и хочет найти себя в геймдеве, то начать изучать язык со связки C++ и OGRE — хорошая, имхо, идея. Сам движок хорошо написан, воспитывает в программисте хорошие навыки написания кода. Да и OGRE — это действительно движок, на котором можно сделать все.
                              0
                              Я люблю ogre, но для мобильной платформы не стал использовать. Только если для прототипирования. Тем более, что полноценно на андроиде он пока не работает.
                            0
                            Попробовали кокос? Дайте, пожалуйста, краткий в 2-3 предложения обзор в сравнении с короной?
                              0
                              Кокос хороший, его труднее настроить и труднее собирать проекты, но он даёт больше свободы. Также требует написания чуть больше количества кода. Переходить на него не собираюсь, но он достойный кандидат.
                                0
                                Спасибо за быстрый ответ, т.к. сижу на хакатоне и принимаю решение о технологии)

                                Правильно ли я понимаю вас что они примерно равны на текущей стадии? Какие по-вашему существенные плюсы короны по сравнению с ним? Существенно ли сокращение времени разработки? Почему это технология вашего выбора?
                                  0
                                  Кокос более продвинут в плане графики, но на Короне гораздо быстрее взять и начать работать, быстрее разрабатывать, быстрее тестировать, быстрее делать сборки, подключение плагинов очень быстрое, ещё возможно интеграция с ОС лучше, больше API для этого проброшено в Lua. Ещё с Короной у меня уже есть чёткие гайдлайны по разработке, так как знаю её вдоль и поперёк, что ещё больше ускоряет разработку — можете почитать мой блог spiralcodestudio.com. Для меня всё это критично, поэтому не перехожу.
                                  Правда хакатон не лучшее время для освоения новых технологий.
                                    0
                                    Спасибо! Да я не планирую ничего выигрывать и презентовать) Просто хочу открыть новое направление, хакатон — хороший первый шаг)
                          • UFO just landed and posted this here
                              +1
                              Мне очень понравилось, если не считать облома с запуском на моем телефоне (HTC Legend). Требуется процессор ARMv7 или выше, т.е. только «старшие» HTC…
                              • UFO just landed and posted this here
                                • UFO just landed and posted this here
                                    0
                                    Странный список) Incredible S есть, а Desire S — нет %)
                                0
                                Господа, а подскажите чайнику далекому от разработки мобильных приложений: движки как я понял свои языки программирования используют? Просто в первом про С++ написал автор, а в остальных движках не сказано на чем пишутся приложения.
                                  0
                                  куда я смотрю?:-) практически сразу же заметил отдельное поле жирным. :) вопрос снимается.
                                  +4
                                  Я писал заметку у себя в фейсбуке на эту тему, не так давно. Возможно будет интересно:
                                  www.facebook.com/note.php?note_id=221772704517626
                                    +1
                                    спасибо, было интересно
                                    +1
                                    Flash не только на Android и iOS есть, но и на BlackBerry PlayBook — добавьте.
                                    –10
                                    Нигде нет люто обфапанного мною WP7. Все соснули
                                      +2
                                      Меньше фапайте на платформу без поддержки нативного кода — будет вам счастье ;) Ну или дождитесь вместе со мной delta engine.
                                        0
                                        Ого, перспективная вещь, скорее бы релиз вышел!
                                          0
                                          Сам давно жду :) Примечательно, что делают те же люди, что когда-то написали первую коммерческую игру на .net'е :)
                                          Интересно сколько попросят за деплой на мобильные платформы.
                                            0
                                            Ну они еще Racing Starter Kit на XNA написали.
                                            Как минимум что бы покрыть лицензию MonoTouch/Droid + немного сверху, думаю не дороже остальных фреймворков, но то что исходный код открыт, очень большой плюс.
                                              0
                                              MonoTouch/Droid дороговаты, особенно если оба брать :(
                                          0
                                          А дата релиза нигде не светилась? А то руки чешутся, а c++ для cocos2d-x не очень хочется учить.
                                            +1
                                            Тут немного инфы: mobilebits.de/Forum/default.aspx?g=posts&m=658#post658
                                            Но вы можете зарегистрироваться ни сайте, и попытаться попасть в закрытый бета-тест.
                                              0
                                              Они отвечали, что уже нет смысла пробовать попасть в бета-тест, всех кого хотели они уже взяли.
                                        0
                                        Всё же зря не упомянули Cocos2d-x. Бесплатный (MIT License), позволяет писать на C++
                                        Из платформ поддерживает iOS, Android, win32 и китайский woPhone.
                                          0
                                          Как уже ответил первому комментатору: «Я думал, что это тоже что и Kobold2D». Так что обязательно добавлю или прямо в пост или отдельным постом (т.к. новых набралось уже 3 штуки).
                                          0
                                          Как-то мало доверия вызывает язык Corona, в котором возможности типизации и ограничения видимости переменных еще меньше чем AS2: «Global variables do not need declarations. You simply assign a value to one to create it». С таким подходом чего-нибудь крупного и серьезного написать проблематично…
                                          А еще у них "--" это коммент, а не декремент, а это думаю тоже далеко не всем понравится :)
                                            0
                                            Это особенности языка Lua, а не Corona. Что-то большое весьма легко пишется на нём. Есть и локальные переменные, и глобальные. Mutable типы и не mutable, типы динамические. ООП, модули, sqlite, сокеты, много примеров и несколько мини фреймворков для игр на Corona.
                                            0
                                            Ещё я разбирался с Proton SDK, но он мне показался черезчур сложным в освоении.
                                              0
                                              Ждем следующий топик
                                                0
                                                Обязательно будет. Т.к. коллективный мозг нашел много решений про которые я даже не слышал.
                                                0
                                                Что насчёт MoSync? :)
                                                На мой взгляд, приложения на Unity3d весят слишком много, не поддерживают средние андроид-телефоны.
                                                  0
                                                  Linderdaum Engine до кучи. Статья на хабре: habrahabr.ru/blogs/gdev/121062/

                                                  Only users with full accounts can post comments. Log in, please.