Что лучше LibGDX или Unity?

LibGDX или Unity?
Наткнулся на одно очень интересную статью про сравнение Unity и LibGDX, потратил немного времени на ее перевод и адаптацию и расширение так как некоторая информация устарела, можете наслаждаться чтением.
LibGDX против Unity by DARIO PENIC
С каждым годом разработка игр для мобильных устройств особенно для платформы Android становится все оптимистичней. Приступая к созданию новой игры можно выбрать решение по своим навыкам программирования или специфичности проекта, например размер проекта, сложности игры или других навыков.

Разные подходы к разработке
Для удобства сравнения средств разработки игр разделим их на два лагеря, первый это игровые фреймворки(game frameworks), к ним как раз относится LibGDX(или AndEngine) и второй лагерь это полноценные игровые движки Unity(или Unreal Engine). Далее в статье мы будем сравнивать LibGDX и Unity так как они являются наиболее популярными средствами разработки, попробуем раскрыть все плюсы и минусы максимально подробно.

LibGDX и Unity объединяет одно, они созданы для того что бы создавать игры, но подходы работы с ними совершенно разные. LibGDX это набор классов и библиотек, разрабатывать игры на нем придется исключительно кодом, как практически на любом фреймворке. Unity же это игровой движок с удобным визуальным редактором и со множеством других интересных плюшек упрощающих жизнь разработчикам. Но перед тем как приступить к работе над игрой нужно определиться с рядом требований для игры.

Например:
1.На каких платформах будет работать приложение?
К счастью LibGDX и Unity поддерживают IOS, Android, Dekstop

2.Работа с 2D или 3D графикой?
И LibGDX и Unity работают с 2d и 3d графикой, но основной упор LibGDX это работа с 2D графикой в то время как Unity славится обработкой 3D изображения.

3.Работа с кодом или графическим интерфейсом?
Определитесь с процессом разработки Вы хотели бы использовать привычной для себя IDE, или же просто использовать специализированный графический интерфейс игрового движка?

4.Язык программирования
libGDX поддерживает Java(Scala,Kotlin), Unity поддерживает C# или Javascript.

5.Оплата за специализированный софт или использовать open source
libGDX полностью бесплатен, все исходные коды есть на Github, Unity тоже имеет бесплатную версию но с ограничением и со временем придется приобретать полную версию движка если проект будет финансово успешен.

6. Размер приложения
Минимальный пустой проект на Unity весит 8MB, в то время минимальная сборка проекта на libGDX всего 200KB.

Подробный взгляд на LibGDX
libgdx logo
LibGDX это игровой фреймворк с открытым исходным кодом разработанный BadLogicGames и поддерживаемый множеством разработчиков. Почитать историю LibGDX можно тут.

LibGDX написан на Java, по этому Android разработчикам будет быстрее в нем освоится и начать разрабатывать игры. Используя LibGDX вы можете разработать игровое приложение практически для всех основных систем. На данный момент система поддерживает Windows, Linux, OS-X, HTML, Android и IOS. По поводу поддержки IOS есть оговорки, что бы заставить весь функционал работать приходится придумывать танцы с бубном, но с каждым обновлением системы их все меньше.
Во время разработки игр на LibGDX вы можете запускать и тестировать ваш проект сразу в dekstop приложении, что происходит практически мгновенно и экономит большое количество времени. Genymotion отличный Android эмулятор но благодаря libGDX вам не придется изнурительно ждать пока он запустит ваше приложение.

Структура LibGDX
libGDX дает вам полную свободу, вы сами выбираете удобный стиль программирования и создаете структуру проекта(кроме основы LibGDX). Можете так же использовать openGL и или все возможности низкоуровневого программирования. Это не только плюс но и минус одновременно. Работая с LibGDX, люди не обладающие достаточными навыками программирования просто не смогут быстро разобраться в нем, и как он работает.

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

Но самое удобное во время кроссплатформенной разработки на LibGDX это возможность расширять выбранную сборку. Например нужно добавить Google Service или ads переходим в проект Android и добавляем их туда.

Подробный взгляд на Unity
Logo unity
Как я уже говорил Unity это полноценный игровой движок разработанный Unity Technologies. Его разработку начали 3 программиста в начале 2000ых. Ознакомится с историей вы можете тут.

В отличии от LibGDX Unity это закрытый коммерческий проект, это значит что внести изменения в исходный код движка нельзя.

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

GUI редактор и drag’n’drop

Главное отличие Unity от LibGDX это наличие графического интерфейса.

Многие игры в Unity можно создать просто перетаскивая объекты и выставляя реакции и события между ними. Создатели Unity так же утверждают что для создания некоторых игр не понадобится писать код. Но мое мнение отличается, для создания хорошей игровой механики обойтись без кода невозможно. Unity поддерживает C# и JavaScript в качестве языков программирования.

Для осознания подойдет ли вам Unity в качестве основного инструмента для разработки игр достаточно будет бесплатной версии. Бесплатная версия так же позволит вас разработать кросплатформенную(iOS, Android, Windows, OS-X) игру правда с небольшими ограничениями.
Поработав с бесплатной версией вы поймете стоит ли покупать Unity Pro или стоит поискать другое средство разработки.

Так что же выбрать?
На самом деле кроме LibGDX и Unity есть еще множество отличных средств разработки игр. Вам обязательно нужно просмотреть хотя бы некоторые из них ведь философия разработки в каждом из них отличается. Например игровые фреймворки AndEngine,cocos2d-х, Playn или игровые движки Construct2d, Unreal Engine, GameMaker, RpgMaker vx ace.

Но лично для себя я выбрал 2 инструмента это LibGDX и Unity. Почему так? Все просто для разработки 2d игр(FlappyBird, AngryBirds, CandyCrash Saga) LibGDX подходит идеально, маленький весь проекта и полная возможность управления и расширение игры используя все возможности Java! А для 3D игр конечно же Unity, удобный графический интерфейс позволяет удобно работать с 3D графикой и создавать потрясающие 3D игры например Temple Run, Subway Surf, Fruit Ninja(орфографическая камера и 3D-модели)!

Вывод
Нельзя начать разрабатывать игры и не столкнуться с проблемами и у каждого инструмента они свои, ну что бы начать делать хорошие игры нужно попробовать разные средства разработки. LibGDX и Unity отличные инструменты, но какой подойдет именно вам? На этот вопрос можно ответить только попробовав реализовать простой игровой проект.

Оригинал статьи тут.

ВНИМАНИЕ!!!
Проект RoboVM закрылся! Это значит, временно лучше не использовать LibGDX для IOS приложений. Разработчики LibGDX обещают поддержку новой технологии от Intel, но только в 2017.
mrsanders / 15 января 2016, 13:31
0

0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.