libgdx или плейн?

Мне нужна помощь в выборе фреймворка для кроссплатформенной разработки мобильных игр. Я сузил его до libgdx и играть

Я планирую делать игры в основном для Android, но я также смогу выпускать их на ios и в формате html. Я знаю, что libgdx в настоящее время не поддерживает ios, но я также знаю, что он уже в пути, и я верю в разработчиков.

Если у кого-то есть опыт работы с libgdx и/или playn (предпочтительно с обоими), я был бы очень признателен, если бы вы могли поделиться своим опытом, что вы выбрали и почему.


person wanner    schedule 14.08.2012    source источник
comment
Не могли бы вы рассказать, почему cocos2d-x не попал в ваш список? Для меня это сводится к libgdx против cocos2d-x, но я раньше не слышал о playn.   -  person Code Droid    schedule 15.08.2012


Ответы (8)


Я думаю, что на данный момент любой из них будет хорошим выбором. Вот почему...

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

Начиная с поддержки, оба проекта, кажется, имеют довольно преданных участников. Майкл Бейн из PlayN — это машина программиста. Марио из BadLogicGames (libgdx), кажется, очень увлечен. Оба проекта, кажется, имеют здоровую группу участников и сторонников.

Что касается характеристик, то они кажутся довольно равномерными. Оба сделают создание 2D-игры отличным опытом. Libgdx, кажется, имеет преимущество на фронте 3D, но если вы ожидаете, что сможете легко создавать УБИЙСТВЕННЫЕ 3D-игры, ни один фреймворк не сделает за вас тяжелую работу. Libgdx, кажется, даже не такой длинный набор инструментов для 3D, как, скажем, JMonkey, который также не может конкурировать с коммерческими наборами.

Давайте будем честными, если вы пытаетесь сделать коммерческую 3D-игру, чтобы конкурировать с другими коммерческими предложениями, вам придется лицензировать коммерческий 3D-движок (и иметь довольно компетентную команду). Ни один из проектов не предоставит инструменты, необходимые для быстрого создания и запуска красивых изображений... по сравнению, скажем, с движком Unity.

http://www.youtube.com/watch?v=Fc9m0Z1GDg8

Ребята из PlayN, кажется, намного осторожнее пытаются предлагать хорошие 3D API, не ставя под угрозу 2D API и опыт работы с ними. Здесь вы можете прочитать их осторожное обсуждение того, как лучше всего раскрыть слой OpenGL ES 2.0.

http://goo.gl/5f3ls

По сравнению с этим подход Libgdx кажется более агрессивным. У обоих есть плюсы и минусы. В моей игре есть некоторые 3D-расчеты с использованием Vecmath, работающего поверх PlayN. Это код, вы можете смешивать и сочетать, где это возможно.

Учитывая, что они довольно похожи с точки зрения цели и исполнения, вероятно, будет некоторое перекрестное опыление. Здесь вы можете видеть, что большая часть поддержки Maven для Libgdx была скопирована из конфигурации PlayN.

http://www.badlogicgames.com/wordpress/?p=2707

Более того, libgdx поддерживает только iOS из-за работы, которую проделал Майкл (PlayN) по созданию IVKM. Затем Марио пришлось добавить поддержку JNI для своих функций C++.

http://www.badlogicgames.com/wordpress/?p=2791

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

Что касается стабильности, лучше всего об этом свидетельствуют успешные проекты, которые есть у каждого из них. Tupsu и AngrybirdsChrome на PlayN, Ingress и другие на Libgdx.

PlayN - это чистая java, поскольку она находится поверх API Android/html и т. д. Похоже, что Libgdx имеет некоторый C++ на некоторых платформах. Это очень сильно зависит от того, что вы делаете, т.е. для Интернета никакие модули C++ фактически не могут быть скомпилированы GWT. Кроме того, скорость Java сопоставима с C++ (обычно немного медленнее, иногда быстрее), при условии, что вы можете держать GC в страхе и не догматичны в отношении того, как вы используете язык.

Сказав это, C++ все еще может быть полезен в определенных случаях использования.

Кто-то еще ответил, что Libgdx может поддерживать огромную пропускную способность спрайтов на одноядерных телефонах, подразумевая, что это из-за C++. Это НЕ та область, где libgdx использует C++. См. особенности.

http://libgdx.badlogicgames.com/features.html

Обе платформы, вероятно, будут работать одинаково с точки зрения пропускной способности спрайтов. Вы можете повеселиться с веб-тестом производительности PlayN здесь. Нажмите на счетчик статистики, чтобы увеличить число.

http://samskivert.com/playn/perf-test/

У обоих есть такие вещи, как интерфейсы меню, которые находятся поверх фреймворков.

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

person Daniel Gerson    schedule 15.06.2013
comment
Сбалансированный, исчерпывающий ответ. - person BlueSilver; 16.10.2013
comment
Мой ответ уже устарел с такими разработками, как RoboVM. Код Майкла по-прежнему остается самым безупречным. Вы станете лучшим программистом, просто изучив его код. Тем не менее, есть определенные преимущества из-за размера сообщества Libgdx и скорости, с которой они развиваются. - person Daniel Gerson; 31.05.2014

Мой голос за libgdx. libgdx кажется более обширным, чем playn, имеет очень активное сообщество, поддерживает почти все платформы (некоторые поддержки появятся в ближайшее время), которые поддерживаются playn, и очень хорошо документирован. Более того, если вы особенно ориентируетесь на Android (как предполагает ваш вопрос), я бы скорее сказал, что libgdx является де-факто фреймворком для этого.

person Rafay    schedule 23.08.2012

Моя команда уже работает с libgdx, и это прекрасно работает. Вы можете добавить box2d для физики и не нуждаться в плохом эмуляторе Android для отладки. Все делается с помощью java, и вы только импортируете проект в свой проект Android и можете попробовать его на любом устройстве по вашему выбору. У вас также есть проект windows/web, и скоро появится iOS. Так что не волнуйтесь, libgdx — хороший выбор.

person magorich    schedule 23.08.2012

Я не выпускал игр с libgdx, но мой голос будет за это. Вы должны учитывать риск того, что не сможете разработать успешную игру на любой платформе, если выберете неправильный фреймворк. только что посмотрел playn, и кажется, что документации там нет, активности групп пользователей там нет, и это просто недостаточно далеко. Вы также должны рассмотреть Cocos2d-x, который должен поддерживать обе платформы. У меня есть ощущение, что libgdx не остановить как платформу для написания игр, по крайней мере, на стороне Android.

person Code Droid    schedule 14.08.2012
comment
Во что бы то ни стало восхваляйте Libgdx, но этот ответ кажется довольно невежественным. Вы пробовали задать вопрос на форуме PlayN? Майкл всегда отвечал довольно быстро. На момент публикации этого ответа он активно разрабатывался КОММЕРЧЕСКОЙ командой, а также более широким сообществом: threerings.net/about/crew.html - person Daniel Gerson; 16.08.2013

Я не знаю о другом, но для меня libgdx — отличный движок, я только что закончил среднюю школу и программировал уже год. С помощью libgdx я создал различные приложения для iOS и Android всего за 1 неделю изучения синтаксиса libgdx. Я бы посоветовал перейти по этой ссылке http://www.kilobolt.com/zombie-bird-tutorial-flappy-bird-remake.html, если вы хотите знать основы, я учился так.

person user4408936    schedule 31.12.2014

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

person user1418930    schedule 13.09.2012

Я не могу их сравнивать, потому что до сих пор использовал только Libgdx. Для Libgdx существует довольно много ресурсов и примеров, с которыми вы можете ознакомиться, прежде чем приступить к разработке. Многие сторонники написали простые для понимания учебные пособия, поэтому их довольно легко освоить.

person denden130    schedule 01.01.2015

Я создаю большую стратегическую онлайн-игру с помощью libgdx. это здорово. это быстро. поддержка хорошая. документ больше. ios поддерживается robovm, а вскоре Multi-OS Engine реализуется и в libgdx. Если вы свободно владеете Java. libgdx - лучший выбор.

person saman.firouzi    schedule 21.10.2017