When comparing LÖVE vs libGDX, the Slant community recommends LÖVE for most people. In the question“What are the best 2D game engines?” LÖVE is ranked 3rd while libGDX is ranked 14th. The most important reason people chose LÖVE is:
The [LÖVE forums][1] are extremely helpful. With people checking the forums every day, it won't take long to receive answer to your questions on the Support board, receive feedback on games you post in the Projects board, as well as have a chat about the LÖVE engine while learning tricks to use in the very active General board. If you need an immediate answer though, or just want to chat, there is a very active and helpful [IRC channel][2]. [1]: https://www.love2d.org/forums/ [2]: http://webchat.oftc.net/?channels=love
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Active and very friendly community
The LÖVE forums are extremely helpful. With people checking the forums every day, it won't take long to receive answer to your questions on the Support board, receive feedback on games you post in the Projects board, as well as have a chat about the LÖVE engine while learning tricks to use in the very active General board.
If you need an immediate answer though, or just want to chat, there is a very active and helpful IRC channel.
Pro Uses the fantastic Lua for scripting
Lua is an embeddable scripting language designed to be lightweight, fast yet powerful. It is used in major titles such as Civilization as well as a lot of indie games.
Lua is very popular because it provides "meta language" features. You can implement object-oriented structures, or pure procedural functions, etc. It has a very simple C interface, and gives the engine developer a lot of flexibility in the language itself.
Artists tend to love Lua too because it's very approachable, with plain and forgiving syntax.
Lua is free open-source software, distributed under a very liberal license (the well-known MIT license).
Pro Easy to understand and use
Lua2D handles loading the resources, reading input, playing sounds and displaying stuff on the screen. Only the logic is left for the developer to write. It also removes the overhead of having to use and learn a GUI game editor. All you need is a knowledge of Lua and your favourite text editor or IDE.
Pro Cross-platform
Supports Windows, Mac OS X, Linux, Android and iOS.
Pro Open source and free
The LÖVE engine is licensed under The zlib/libpng License (which is very short and human readable) which allows you to use the source code and even modify it as long as you do not claim that the original source code is yours.
You can obtain the code at this bitbucket repository and even help fix bugs and participate in the development of LÖVE.
Pro Many examples and libraries with source code
There are plenty of open source examples of games or components built by the community that are ready to use or learn from.
Pro Very good documentation
The LÖVE wiki provides full documentation of its easy to use Modules, which are conveniently located on the side bar of the wiki. It only takes seconds to find the module for love.keyboard, which provided a list of all functions along with arguments and examples where the function could be used.
Pro Great for prototyping
You can learn the basics very quickly and start making simple games in no time, even if you have no previous Lua knowledge. If you're a little experienced with LÖVE, you can prototype a 2D game with it in no time.
Pro Can develop within Android
It is possible to develop games directly on a tablet or cellphone with the Android system by using the experimental Android branch.
Pro Very good for education
That is a great tool for teaching novice programmers. Creating a game on LÖVE, you have to think about developing, not about the syntax of the language.
Pro Many tutorials on the internet
Has several tutorials in several languages on the internet, mainly on Youtube.
Pro C++ and Lua one of the best languages for gamedev
Because all professionals in gamedev use C++, and Lua the fastest scripting lang.
Pro Cute name
So much love.
Pro Lots of resources to learn from
Lots of references, tutorials and open source code to learn from.
Pro Great performance across devices
While it may not always have the best performance for a particular device or system, it's one of the few engines which consistently performs very well across different platforms.
Pro Fantastic UI toolkit (scene2d)
scene2d is a 2D scene graph, scene2d.ui is a UI toolkit on top of that. It enables very complex mobile and desktop UIs.
Pro Can use any JVM language
Since it's built with Java and runs on the JVM, any language that compiles to Java bytecode can be used to develop games with libGDX.
Pro Uses Box2D
A Java port of the Box2D physics engine is included in libGDX.
Pro Allows you to migrate from 2D to 3D within same framework
LibGDX supports both 2D and 3D game development. Allowing developers to migrate from 2D to 3D with ease without having to switch the engine they are using or having to learn a new API.
Pro Doesn't force a specific design
Unlike some engines, which only allow you to make your game in a few specific ways, libGDX allows you to design any type of game you wish as it is extremely customisable.
Pro Active and helpful community
The libGDX community, in the official libGDX forum is extremely helpful and approachable for any kind of question regardless of the its quality or difficulty.
The forums themselves are a very helpful resource for any issue or guide simply by searching past posts in there.
In addition to the forums, there's also the official #libgdx IRC channel on Freenode.
Pro Interfacing with platform specific code
Sometimes it is necessary to access platform specific APIs, e.g., adding advertisement services or leaderboard functionality provided by frameworks.
Pro Free, open source & permissive license
libGDX uses the Apache License 2.0.
Not only is libGDX free and open source but also it's license gives you a lot of power over the engine. As long as you provide a copy of the license, give credit, do not hold devs liable and do not use libGDX logo in any engine forks you can do pretty much anything you want.
Pro Kotlin support
It is written in Java so you can easily make games using Kotlin and Ktx project will help you get all advantages of this language.
Pro Very easy to customize
Pro Constantly improved
LibGDX itself is pretty mature, and get updates not quite frequently, but various libraries for it are actively updated.
Pro Across platform support
You can write once and run anywhere (Android, IOS, Desktop, Browser) also lately came with lib to deal with VR.
Pro Support for 3rd party tools
libGDX has built in support for many 3rd party tools, including (but not limited to) Bullet Physics, Box2DLights and the well-praised Tiled Map Editor.
Pro Lots of tutorials to get you going
Even though the official documentation might be lacking, there are many tutorials on YouTube for libGDX.
Pro Excellent font rendering support
Very good tools for rendering fonts.
Pro Similar to the Microsoft XNA framework
Old XNA users may like libGDX since it's API is actually very similar to XNA's.
Pro Focusing on object pool patterns, to control memory without pointers
Unlike Unity or other engine, it allows to optimize a language that uses garbage collector when using patterns of objects you can control the use of memory without needing a language like C / C ++, getting the same speed in a more productive language.
Cons
Con Not very powerful
The engine has very few modules and only the really required one, you'll have to do almost everything from scratch.
Con Game distribution is harder than it should
The process to create an executable could be streamlined: the dedicated wiki page is somewhat confusing, and the actual process either means relying on one of the various community-maintained tools or creating an executable manually for each platform.
Con More of an API than a game engine
It may come with graphical, audio and IO but it lack most features most game engines have such as UI system, pathfinding, etc. and you have to implement most of the stuff you might want manually.
Con Only for the very simple games
Con Documentation is very dry and technical
The site has plenty of tutorials, true, but they all read very technical, and explain very little. This might be too much for beginners, even for coding purposes, because of the fact that the specifics aren't explained well enough to learn effectively. The docs can be found frustrating to understand even the basics, such as tables or the like, because of how poorly they are explained, and how few examples are given before expecting you to be able to use them.
Con Game distribution for Android is a pain in the Arse
It is like you're doing a science experiment.
Con HTML5 support
Depends on love.js for HTML5 distribution which is old and incompatible with current Emscripten / LLVM version.
Con Absolutely no GUI (no graphical interface)
This has no graphical interface at all, you have to know how to read script in order to know what you're looking at. After you've written the script for everything, you compile it to see the result. It's a very poor way to create a game, given how even most professional tools out there give you a GUI to work with and debug on the go. The lack of a GUI slows down the work by ten-fold, and it's just an inefficient use of your time.
Con The community seems juvenile
For example, some of the library include names such as HUMP, LUBE, AnAL.
Con Not starter friendly
Even default applications fail to load in Android. It doesn't have any documentation on errors either.
Con Documentation could be better
Other than a brief installation / getting started overview, libGDX's documentation consists of an official wiki with several incomplete pages, and automated Javadocs. The community recognizes these shortcomings, and new users are encouraged to ask for help.
Con The project slowed down in development
The number of active developers has decreased, many open issues and pull requests.
Con Build system is clunky
LibGDX uses Gradle, which is very demanding of memory and makes IDEs freeze on anything if your computer is not powerful enough.
Con Does not create compiled code
LibGDX runs entirely on Java and does not create executable binaries.
Con A bit difficult to use
This engine is not well put together. Is made from various free modules each with their own peculiarities. At times it feels you need to learn a couple of libraries rather than just one. Is not an engine for beginners as it requires coding. Lots of coding. You need to be intermediate to advanced in Java to develop in LibGDX.