2D кросс-платформенный игровой движок для Android и iOS? [закрытый]



Я некоторое время работал с Unity3d и обнаружил, что это 2D-часть с OnGUI() или GUITextures слишком неуклюжими. Кроме того, даже самая маленькая игра, выполненная на Unity3d, загружается не менее 10 МБ, что слишком много для 2D-игры.



Итак, в настоящее время я ищу движок для 2D. я пробовал Cocos2D, но это только iOS, и я не хотел бы переписывать все на другой язык для Android (так, например, Java-порт Cocos2d для Android не является вариантом). Вместо этого, я хочу написать код один раз и с наименьшими хлопотами развернуть его на iOS, Android и, возможно, Windows Phone 7. У меня Mac и Windows.



просто чтобы быть более подробным, вот мои требования к движку:




  • должно быть кросс-платформенным

  • должен быть эффективным!--8-->

  • должен быть C++, Java, C# или Objective C, так как мне комфортно с ними и не Flash, Javascript, HTML5 так как я не веб-разработчик

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

  • окончательный доставленный пакет должен быть не слишком большим

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


Я нашел следующие двигатели:





  • мармеладIwGame engine поверх него) - C++, нашел в целом очень положительные отзывы о мармеладе, но не уверен в IwGame. EDIT (март 2013): похоже, что Marmalade SDK теперь включает Cocos2Dx и некоторые встроенные IDE, что делает его намного лучше (и стоит $150 в год для инди-Дева, который со мной в порядке).


  • Corona SDK - Lua (эффективность сомнительна), также требуется подключение к интернету для компиляции кода


  • Cocos2d-x - C++, получил много отзывов от разработчиков, в основном положительных и многие думают лучше для 2D


  • код частиц - Java + Eclipse, не нашел отзывов или комментариев


  • Моаи - Lua, coudn't найти какие-либо отзывы/мнения об этом


  • обезьяна двигатель - кажется, слишком мало функций


  • Haxenme - это Flash, я никогда не использовал его и не хочу

  • использовать Unity3d но с 2D-пакетами, такими как 2D Toolkit

  • порты SDL до Android (кроме здесь) и iOS - не похоже, чтобы иметь большую поддержку и текущее развитие (?)


  • GLBasic - основной язык, мне это не нравится


  • playN - похоже на ранней стадии развития (?)


  • Gamvas - HTML5, не похоже на зрелый движок для меня


  • Ignifuga - Python, также не выглядит зрелые


  • ORX - не уверен, что он все еще разработан (?)


  • построить 2 - напоминает GameMaker, может быть хорошо для быстрых прототипов, но определенно не для игр промышленного уровня


  • XNA и затем портировать игру с помощью ExEn (понадобится Mono Touch порт для iOS и Mono для Android для порта на Android) - C#, и, вероятно, больше думал о людях, приходящих из Продукты Microsoft, такие как xBox (я пришел из Android). Кроме того, эти моно инструменты стоят $800 в общей сложности для небольших разработчиков


  • Impact - JavaScript, использует HTML5. Я не очень разбираюсь в JavaScript (например, предпочтительный C# на Unity3d), также не уверен в эффективности, так как он работает в браузере (?)


  • GameMaker - собственный язык сценариев GML, и я на самом деле помню это как инструмент для не-программистов. Он действительно превратился в настоящий двигатель, я имею в виду для серьезного развития?


  • AppGameKit на C++, но, кажется, все еще довольно новый. Не нашел никаких отзывов на него

  • использовать Cocos2d отличается и цель C разработать только для iOS, а затем сделать APK для Android из него с помощью Stella SDK. Кто-нибудь это сделал? Я уверен, что будут ограничения, и как насчет интеграции Google в приложение, AdMob и Facebook Андроид?


  • Moscrif - JavaScript, похоже, это больше для бывших веб-разработчиков


  • Старлинг - Flash 11, я не очень в Flash


  • ND2D - еще не 1.0, есть ли у него много функций?


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



в настоящее время я думаю о Marmalade+IwGame как о лучшем варианте, но поскольку у меня нет большой информации о Cocos2d-x и коде частиц, я не совсем уверен в этом.



спасибо!



EDIT (июнь 2013): до сих пор я сделал 2 кросс-платформенные 2D игры и использовал Unity3D с 2D Toolkit плагин для обоих. Для игры с простым GUI я использовал простую самодельную систему GUI на основе Единство свое. Для более сложного (например, где элементы GUI могут перекрываться)я использовал плагин NGUI. Недавно 2D Toolkit добавил еще несколько классов для GUI, что очень удобно, так как при объединении NGUI с 2D Toolkit пришлось использовать 2 разных системы для Атласов текстур. Я обязательно попробую это в следующей 2D-игре. Основная причина выбора Unity3D для 2D-игр заключалась в том, что я уже был глубоко в Unity3D как с точки зрения опыта, так и накопленных фрагментов кода для повторного использования. Кроме того, я купил Unity3D pro (с Android Pro и iOS Pro) для 3D-игр, и было вполне разумно просто заплатить дополнительные $60 за 2D-инструментарий, чтобы также охватить 2D-игры. Я пока не жалею о своем решении, оно, кажется, было оптимальным для моего случая. Единственное, что вызвало у меня головную боль, - это добавление социальных функций с плагинами Prime31 (социальные плагины Android и iOS), но я предполагаю, что их ошибки не являются ошибкой Prime31, а Twitter/Facebook, поэтому я, вероятно, увижу те же ошибки на любом другом движок или плагин.



EDIT (Jan 2014): я думаю, что с Unity 4.3 ответ на мой вопрос теперь довольно очевиден: новая система спрайтов Unity и, возможно, также 2DToolkit полностью превзошли все остальное, особенно для людей, которые (как и я) были на Unity некоторое время и приобрели версию Pro с дополнениями.

895   11  

11 ответов:

я работал с Marmalade и я нашел его удовлетворительным. Хотя это не бесплатно, и сообщество разработчиков также недостаточно велико, но все же вы можете справиться с большинством задач, используя его учебники. (Я буду писать свои учебники, как только я получил несколько раз тоже).
IwGame это хороший движок, разработанный одним из пользователей мармелада. Это хорошо для базовой игры, но если вы ищете какие-то серьезные продвинутые игровые вещи, вы также можете использовать Cocos2D-x с мармеладом. Я никогда не использовал Cocos2D-x, но есть расширение на мармеладе Github.
Еще одна хорошая вещь о мармеладе это EDK (Extension Development Kit), что позволяет вам сделать расширение для любой необходимой вам функциональности, которая доступна в собственном коде, но не в Marmalade. Я использовал его для разработки собственного настраиваемого расширения Admob и расширения Facebook.

Edit:
Мармелад теперь имеет свой собственный инструмент RAD (Быстрая разработка приложений) только для 2D-разработки, названный как Marmalade Quick. Хотя кодирование будет в Lua не на C++, но поскольку оно построено поверх C++ Marmalade, вы можете легко включить библиотеку C++ и все другие расширения EDK. Кроме того,Cocos-2Dx и Box2D расширения предварительно включены в быстрый. Они недавно запустили его релизную версию (она была в бета-версии в течение 3-4 месяцев). Я думаю, что мы вы действительно ищете только 2D-разработки, вы должны дать ему попробовать.

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

обновление 2
Marmalade собирается прекратить свой SDK в пользу своего собственного производства игр в ближайшее время. Так что это не будет мудрым решением полагаться на это.

LibGDX является одним из лучших двигателей, которые я когда-либо использовал, работает почти на всех платформах и выполняет в два раза быстрее, чем cocos2d-x в большинстве тестов, которые я сделал. Вы можете использовать любой язык JVM, который вам нравится. здесь 13 часть Учебник на Java, и здесь куча с помощью jruby. Есть хороший инструмент скелетной анимации, который работает с ним здесь, и он испекся в поддержку плиточных карт TMX. Структура пользовательского интерфейса является удивительным, и он имеет сцену API стиля графика и актера похож на сцены, спрайты и действия cocos2d. Сообщество потрясающее, обновления частые, и документация хорошая. Не позволяйте части java пугать вас, это быстро, и вы можете использовать jruby или scala или все, что вам нравится. Я очень рекомендую его для 2d или 3d работы, он поддерживает оба.

вы упоминаете Haxe / NME, но вам, кажется, инстинктивно это не нравится. Однако, мой опыт был очень позитивный. Конечно, API-это переопределение Flash API, но вы не ограничены таргетингом на Flash, вы также можете компилировать в HTML5 или собственные приложения для Windows, Mac, iOS и Android. Haxe-это приятный, современный язык, похожий на Java или C#.

Если вам интересно, я написал немного о своем опыте использования Haxe / NME:ссылке

V-Play (v-play.net) это кросс-платформенный игровой движок на основе Qt / QML со многими полезными компонентами игры V-Play QML для обработки нескольких разрешений дисплея и соотношений сторон, анимации, частиц, физики, мультитач, жестов, поиска пути и многое другое. ссылка на API Ядро движка написано на родном C++, в сочетании с пользовательским рендерером, игры достигают солидной производительности 60fps на всех устройствах.

V-Play также поставляется с готовые к использованию игровые шаблоны для самых успешных игровых жанров, таких как tower defense, platform games или puzzle games.

Если вам интересно об играх, сделанных с V-Play, вот быстрый выбор из них:

(отказ от ответственности: я один из парней за V-Play)

вот только ответ от Ричарда пикапа на LinkedIn на аналогичный мой вопрос:

Я использовал cocos 2dx marmalade и unity как на iOS, так и на android. Для 2d игры cocos2dx-это путь каждый раз. Единство-это слишком много перебор для 2d игр и как уже говорилось мармелад просто тонкий уровень абстракции не совсем игровой движок. Вы даже можете запустить Cocos2d отличается сверху мармелад. Мой подход будет использовать cocos2dx на iOS и android тогда в в будущем запустите код cocosd2dx поверх мармелада в качестве простой способ портировать на bb10 и выиграть телефон 7

Я нахожу хороший и аккуратный Wave Game engine несколько дней назад. Он использует C# и имеет конвертеры Windows Phone и Windows Store, что делает его отличной заменой XNA для меня

Я пробовал AppGameKit, это и c++ и Basic. Очень легко кодировать 2d-игры в базовом варианте, с физикой, столкновением и кучей других. Он также находится в активной разработке и действительно дешев (65$). Основная проблема заключается в том, что это действительно трудно скомпилировать для Android (вам нужно скачать кучу файлов и следовать сложным руководствам и тому подобное) Мое мнение, что это еще не достаточно хорошо для коммерческого использования, но хорошо для инди-программистов Он имеет средний размер сообщество

а насчет LibGDX от BadLogicGames?

Проверьте ткацкий станок (http://theengine.co) - это новый кросс-платформенный 2D-игровой движок с горячей заменой кода и активов на устройствах. Это означает, что вы можете работать в Photoshop над своими активами, вы можете обновить свой код, изменить пользовательский интерфейс своего приложения/игры, а затем просмотреть изменения на своем устройстве(устройствах) во время работы приложения.

думая о других кросс-платформенных игровых движках, о которых я слышал или даже играл, игровой движок Loom на сегодняшний день является лучшим в моем противостоянии с много отличных функций. Большинство других подобных игровых движков (Corona SDK, MOAI SDK, Gideros Mobile) основаны на Lua (со странным синтаксисом, по крайней мере для меня). Игровой движок Loom использует LoomScripts, язык сценариев, вдохновленный ActionScript 3, с несколькими функциями, заимствованными из C#. Если вы когда-либо разрабатывали ActionScript 3, C# или Java, LoomScript будет выглядеть знакомым вам (и мне более комфортно с этим синтаксисом, чем с синтаксисом Lua).

лицензия 1 года для тени Движок игры стоит $500, и я думаю, что это доступная цена для любого разработчика инди-игры. Пару недель назад предложили лицензию на 1 год бесплатно тоже. После истечения срока действия лицензии вы все еще можете использовать Loom для создания и развертывания собственных игр, но вы не получите никаких дальнейших обновлений. Создатели Loom очень уверены в себе и пообещали постоянно улучшать своего малыша, что позволит приобрести еще одну лицензию.

без дальнейших церемоний, вот большой ткацкий станок особенности:

  1. кросс-платформа (iOS, Android, OS X, Windows, Linux/Ubuntu)

  2. Rails-вдохновленный рабочий процесс позволяет вам тратить свое время на работу с вашей игрой (одна команда для создания нового проекта, а другая команда для его запуска)

  3. быстрый компилятор

  4. живой код и редактирование активов

  5. возможность интеграции с третьей стороной библиотеки

  6. использует Cocos2DX для рендеринга

  7. XML, поддержка JSON

  8. LML (язык разметки) и CSS для стилизации элементов пользовательского интерфейса

  9. библиотека UI

  10. инъекции зависимостей

  11. unit test framework

  12. физика Бурундук

  13. видя ваши изменения в прямом эфире делает multidevice развитие легко

  14. малый размер загрузки

  15. построен для команд

вы можете найти больше видео о ткацком станке здесь:http://www.youtube.com/user/LoomEngine?feature=watch

проверьте это 4 часть углубленного учебника тоже: http://www.gamefromscratch.com/post/2013/02/28/A-closer-look-at-the-Loom-game-engine-Part-one-getting-started.aspx

недавно я использовал двигатель AS3: кнопка (теперь мертва, но она все еще функциональна, и вы можете использовать что-то еще), чтобы сделать эту работу. Чтобы он работал с Android и iOS, проект был скомпилирован в AIR для обеих платформ, и все работало без ущерба для производительности. Поскольку Flash Builder является довольно дорогим ($249), вы можете использовать FlashDevelop (есть некоторые учебники для компиляции в AIR с ним).

вспышка может быть вариантом, так как очень легко учиться.

в настоящее время я использую Corona для бизнес-приложений с большим успехом. Что касается игр, у меня сложилось впечатление, что он не обеспечивает производительность, которую делают некоторые другие кросс-платформенные движки разработки. Стоит отметить, что Карлос (основатель ANSCA Mobile/Corona SDK) запустил еще одну компанию на конкурирующем движке; Lanica Platino Engine для Appcelerator Titanium. Пока я не работал с этим лично, это выглядит многообещающе. Имейте в виду, однако, что это поставляется с ценой $999 / год.

все, что сказал, я уже некоторое время изучаю Moai (так как я уже знаком с синтаксисом Lua), и это кажется многообещающим. Тот факт, что он может компилироваться для нескольких платформ, не ограничиваясь мобильными средами, является привлекательным.

Multimedia Fusion 2 также является достойным соперником, учитывая сложность производимых игр и производительность, реализованную из них. Побеждать Тотус Аструм (http://gamesare.com) приходит на ум.

Comments

    Ничего не найдено.