Я работал некоторое время с Unity3d и нашел его 2D-часть с OnGUI () или GUITextures слишком неуклюжей. Кроме того, даже самая маленькая игра, созданная на Unity3d, имеет загрузку не менее 10 МБ, что слишком много для 2D-игры.
Итак, я сейчас ищу движок для 2D. Я пробовал Cocos2D, но это только iOS, и я не хотел бы переписывать все на другой язык для Android (так, например, порт Java Cocos2d для Android не вариант). Вместо этого я хочу написать код один раз и с наименьшими трудностями развернуть его на iOS, Android и, возможно, Windows Phone 7. У меня есть Mac и Windows.
Просто чтобы быть более подробным, вот мои требования к двигателю:
- должен быть кроссплатформенным
- должен быть эффективным
- должен быть C ++, Java, C # или Objective C, так как мне удобно с ними, а не Flash, Javascript, HTML5, так как я не веб-разработчик
- у вас должно быть большое сообщество, учебные пособия, дополнительные библиотеки, которые охватывают большинство вещей, которые вы имели бы при разработке непосредственно на iOS или Android (биллинг внутри приложения, facebook и т. д.)
- конечная доставленная посылка должна быть не слишком большой
- двигатель может быть бесплатным, но я также не против заплатить разумную цену
Я нашел следующие двигатели:
- Marmalade (и движок IwGame поверх него) - C ++, нашел в целом очень положительные отзывы о Marmalade, но не уверен насчет IwGame. РЕДАКТИРОВАТЬ (март 2013 г.) : Похоже, что Marmalade SDK теперь включает в себя Cocos2Dx и некоторые встроенные IDE, что делает его намного лучше (и для инди-разработчика стоит $ 150 в год, что мне подходит).
- Corona SDK - Lua (эффективность сомнительна), также требуется подключение к Интернету для компиляции кода
- Cocos2d-x - C ++, получил множество отзывов от разработчиков, в основном положительные, и многие считают, что это лучше для 2D
- Код частицы - Java + Eclipse, не найдено ни одного отзыва или комментария
- Moai - Lua, не могу найти обзоры / мнения по этому поводу
- Двигатель Monkey - похоже, слишком мало возможностей
- Haxenme - это Flash, я никогда не использовал его и не хочу
- использовать Unity3d, но с 2D-пакетами, такими как 2D Toolkit
- порты SDL для Android (также здесь ) и iOS - не похоже, чтобы иметь большую поддержку или текущую разработку (?)
- GLBasic - Основной язык, мне не нравится
- playN - похоже, в начале разработки (?)
- Gamvas - HTML5, для меня не похоже на зрелый движок
- Игнифуга - Питон, также не выглядит зрелым
- ORX - не уверен, что он все еще разработан (?)
- Construct 2 - напоминает GameMaker, может подойти для быстрых прототипов, но определенно не для игр промышленного уровня
- XNA, а затем портировать игру с помощью ExEn (потребуется Mono Touch для переноса на iOS и Mono для Android для переноса на Android) - C #, и, вероятно, больше думают о людях из продуктов Microsoft, таких как xBox (я из Android). Кроме того, эти инструменты Mono стоят всего 800 долларов для небольших разработчиков.
- Воздействие - JavaScript, использует HTML5. Я не сильно разбираюсь в JavaScript (например, предпочел C # на Unity3d), также не уверен в эффективности, так как он работает в браузере (?)
- GameMaker - собственный язык сценариев GML, и я на самом деле помню его как инструмент для непрограммистов. Действительно ли это превратилось в настоящий двигатель, я имею в виду для серьезного развития?
- AppGameKit - C ++, но, кажется, все еще довольно новый. Не найдено ни одного отзыва
- используйте Cocos2D и Objective C для разработки только для iOS, а затем создайте APK для Android с помощью Stella SDK . Кто-нибудь делал это? Я почти уверен, что будут ограничения, а как насчет биллинга Google в приложениях, интеграции AdMob и Facebook на Android?
- Moscrif - JavaScript, похоже, это больше для бывших веб-разработчиков
- Скворец - Flash 11, я не очень люблю Flash
- ND2D - еще не 1.0, у него много функций?
Итак, я был бы рад, если бы вы прокомментировали ваш опыт работы с движками и предложили, какой из них (или что-то еще, что я пропустил) является лучшим для описанных требований. Я также могу ошибаться с моими первыми впечатлениями о некоторых двигателях.
В настоящее время я думаю о Marmalade + IwGame как о лучшем варианте, но так как у меня мало информации о Cocos2d-x и коде частиц, я не совсем уверен в этом.
Спасибо!
РЕДАКТИРОВАТЬ (июнь 2013 г.)До сих пор я сделал 2 кроссплатформенные 2D игры и использовал Unity3D с плагином 2D Toolkit для обеих. Для игры с простым графическим интерфейсом я использовал простую самодельную систему графического интерфейса на основе собственной Unity. Для более сложной (например, где элементы GUI могут перекрываться) я использовал плагин NGUI. Недавно 2D Toolkit добавил еще несколько классов для GUI, что очень удобно, так как при объединении NGUI с 2D Toolkit нужно было использовать 2 разные системы для текстурных атласов. Я обязательно попробую это в следующей 2D игре. Основная причина выбора Unity3D для 2D-игр заключалась в том, что я уже был глубоко погружен в Unity3D как с точки зрения опыта, так и накопленных фрагментов кода для повторного использования. Кроме того, я приобрел Unity3D pro (с Android Pro и iOS Pro) для 3D-игр, и было вполне разумно просто доплатить $ 60 за 2D Toolkit, чтобы покрыть 2D-игры. Я до сих пор не Не жалею о моем решении, кажется, это было оптимальным для моего случая. Единственная вещь, которая доставляла мне головную боль, это добавление социальных функций с плагинами Prime31 (социальные плагины Android и iOS), но я предполагаю, что их ошибки - не ошибка Prime31, а Twitter / Facebook, поэтому я, вероятно, увижу те же ошибки на любой другой движок или плагин.
РЕДАКТИРОВАТЬ (январь 2014 г.) : Я думаю, что с Unity 4.3 ответ на мой вопрос теперь довольно очевиден: новая система спрайтов Unity и, возможно, также 2DToolkit полностью превзошли все остальное, особенно для людей, которые (как и я) были в Unity некоторое время и приобрел Pro версию с дополнениями.
Ответы:
Я работал с,
Marmalade
и я нашел это удовлетворяющим. Хотя это и не бесплатно, и сообщество разработчиков также недостаточно велико, но вы можете справиться с большинством задач, используя его учебные пособия. (Я напишу свои уроки, как только я получу несколько раз).IwGame
хороший двигатель, разработанный одним из пользователей Marmalade. Это хорошо для основной игры, но если вы ищете какой-то серьезный продвинутый игровой материал, вы также можете использовать егоCocos2D-x
с Marmalade. Я никогда не использовал Cocos2D-x, но на Мармеладе есть расширениеGithub
.Еще одна хорошая вещь в Marmalade - это то
EDK (Extension Development Kit)
, что позволяет вам создать расширение для любой необходимой вам функциональности, которая доступна в нативном коде, но не в Marmalade. Я'Изменить :
Marmalade теперь имеет свой собственный инструмент RAD (Rapid Application Development) только для 2D-разработки, названный как
Marmalade Quick
. Хотя кодирование будет на Lua, а не на C ++, но поскольку оно построено на основе C ++ Marmalade, вы можете легко включить библиотеку C ++ и все другие расширения EDK. Кроме того,Cocos-2Dx
иBox2D
расширения предварительно включены в Quick. Недавно они выпустили его релизную версию (она была в бета-версии 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 также поставляется с готовыми игровыми шаблонами для самых успешных игровых жанров, таких как защита башни, игры на платформе или головоломки.
Если вам интересны игры, созданные с помощью V-Play, вот их быстрый выбор:
(Отказ от ответственности: я один из ребят из V-Play)
источник
Вот только ответ Ричарда Пикапа из LinkedIn на мой похожий вопрос:
источник
Я нашел хороший и аккуратный игровой движок Wave несколько дней назад. Он использует C # и имеет конвертеры Windows Phone и Windows Store, что делает его отличной заменой XNA для меня
источник
а как насчет LibGDX от BadLogicGames?
источник
Check the Loom ( http://theengine.co ) - это новый кроссплатформенный движок 2D-игр с возможностью горячей замены кода и ресурсов на устройствах. Это означает, что вы можете работать в Photoshop со своими ресурсами, вы можете обновить свой код, изменить пользовательский интерфейс вашего приложения / игры, а затем просматривать изменения на своих устройствах во время работы приложения.
Думая о других кроссплатформенных игровых движках, о которых я слышал или даже играл, Loom Game Engine на мой взгляд является лучшим с множеством замечательных функций. Большинство других подобных игровых движков (Corona SDK, MOAI SDK, Gideros Mobile) основаны на Lua (со странным синтаксисом, по крайней мере для меня). Loom Game Engine использует LoomScripts, язык сценариев, вдохновленный ActionScript 3, с парой функций, заимствованных из C #. Если вы когда-либо разрабатывали в ActionScript 3, C # или Java, LoomScript будет казаться вам знакомым (и мне больше нравится этот синтаксис, чем синтаксис Lua).
Годовая лицензия на игровой движок Loom стоит 500 долларов, и я думаю, что это доступная цена для любого независимого разработчика игр. Пару недель назад предложили бесплатную лицензию на 1 год. После истечения срока действия лицензии вы по-прежнему можете использовать Loom для создания и развертывания собственных игр, но дальнейших обновлений вы не получите. Создатели Loom очень уверены в себе, и они пообещали постоянно улучшать своего ребенка, поэтому стоит приобрести еще одну лицензию.
Без лишних слов, вот замечательные возможности Loom:
Кроссплатформенность (iOS, Android, OS X, Windows, Linux / Ubuntu)
Внедренный в Rails рабочий процесс позволяет вам тратить время на работу с игрой (одна команда для создания нового проекта и другая команда для его запуска)
Быстрый компилятор
Редактирование кода и ресурсов в реальном времени
Возможность интеграции сторонних библиотек
Использует Cocos2DX для рендеринга
Поддержка XML, JSON
LML (язык разметки) и CSS для стилизации элементов пользовательского интерфейса
Библиотека пользовательского интерфейса
Внедрение зависимости
Модуль модульного тестирования
Физика бурундука
Наблюдение за вашими изменениями упрощает разработку устройств
Маленький размер загрузки
Создан для команд
Вы можете найти больше видео о Loom здесь: 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
источник
Я пробовал AppGameKit, это и C ++, и Basic. Кодировать 2d игры очень просто в варианте Basic, с физикой, столкновениями и кучей других вещей. Это также в активной разработке, и действительно дешево (65 $). Основная проблема в том, что для Android действительно сложно скомпилировать (нужно загружать кучу файлов и следовать сложным руководствам и тому подобное). Мое мнение таково, что он еще недостаточно хорош для коммерческого использования, но хорош для инди-программистов. У него есть сообщество среднего размера
источник
В настоящее время я пользуюсь Corona для бизнес-приложений с большим успехом. Что касается игр, то у меня сложилось впечатление, что они не обеспечивают такую производительность, как некоторые другие кроссплатформенные механизмы разработки. Стоит отметить, что Карлос (основатель Ansca Mobile / Corona SDK) основал еще одну компанию на конкурирующем движке; Ланика Платино Двигатель для Титана Аппселератор. Хотя я не работал с этим лично, это выглядит многообещающе. Имейте в виду, однако, что он поставляется с ценой $ 999 / год.
Все это говорит о том, что я уже некоторое время исследую моаи (так как я уже знаком с синтаксисом Lua), и это кажется многообещающим. Тот факт, что он может компилироваться для нескольких платформ, не ограничиваясь мобильными средами, привлекателен.
Мультимедиа Fusion 2 также является достойным конкурентом, учитывая сложность выпускаемых игр и реализуемую на них производительность. Vincere Totus Astrum ( http://gamesare.com ) приходит на ум.
источник
Недавно для этой работы я использовал движок AS3: PushButton (сейчас он мертв, но он все еще функционален, и вы могли бы использовать что-то еще). Чтобы заставить его работать с Android и iOS, проект был скомпилирован в AIR для обеих платформ, и все работало без ущерба для производительности. Так как Flash Builder довольно дорогой (249 долларов), вы можете использовать FlashDevelop (есть несколько руководств по компиляции в AIR с ним).
Flash может быть вариантом, так как очень легко учиться.
источник