When comparing Esenthel vs libGDX, the Slant community recommends libGDX for most people. In the question“What are the best 3D game engines?” libGDX is ranked 9th while Esenthel is ranked 19th. The most important reason people chose libGDX is:
Lots of references, tutorials and open source code to learn from.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Quicker development by using the integrated code editor
Esenthel has a built-in code editor which drastically simplifies the programming process.
Programming with Esenthel is based on C++, however, when using the code editor there's no need to make separate .cpp or .h files. Code can be written once and the editor will be separating definitions and declarations automatically in the background allowing for quicker development.
Pro Can be easily extended
Built in pure C++ so it is easy to use and extend however needed.
Pro Available on Steam
Pro Can be used for collaborative development
Esenthel comes with tools allowing for multiple developers to work on one project at the same time in collaborative mode. Every change made is instantly visible by other team members.
Pro Engine issues are resolved quickly
The author is very device minded and able to handle any problem quickly and effectively and he has a good track record of listening to requests.
Pro Access to full source code
Having easy access to the full source makes it possible for any skilled developer to add features that a project requires.
Pro Attractive licensing
Free to try, with license as cheap as 9.50$/month (with yearly subscription), 11.40$/month (monthly subscription) or full source code license 228$/year.
Pro Incredibly stable
The engine is rock solid and stable which, considering its extensive feature set, is a huge plus for game developers
Pro Helpful and responsive forum
Pro Good support for Android and iOS
Android and iOS support is pretty stable and easy to develop on. It's possible to, for example, develop the entire game on Windows or Mac and then easily compile for Android and iOS.
Pro Can import a wide variety of formats
- 3D - FBX, DAE, OBJ, 3DS, B3D, MS3D, BVH, ASE, PSK/PSA
- 2D - BMP, PNG, JPG, TGA, DDS, TIF, WEBP, PSD, ICO
- Videos - VP9, Theora
- Sounds - OGG, WAV, MP3 (once decoding patents expire)
Pro Constant development and progress
New features or update to features are provided monthly.
Pro Supports in-app purchases
IAP support for both mobile and desktop devices.
Pro Supports multiple compression libraries
LZMA, LZHAM, LZ4, ZLIB, Snappy, RLE
Pro Oculus Rift native support
Oculus Rift API integrated into the engine platform.
Pro Supports modern graphics and sound APIs
- Graphics - DirectX 9/10/11, OpenGL, OpenGL ES, WebGL
- Sound - DirectSound, OpenAL, OpenSL
Pro Rock solid
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 One-man developer
Although the complete engine is maintained by a single, highly-skilled individual, he can be limited to what he is able to see or perceive, and sometimes he doesn't recognize broken or incomplete features until he sees it firsthand and sometimes doesn't recognize valid reports from his users. But when he does recognize the gap in the engine's feature-set, he is quick to make adjustments and updates.
Con Lack of in-depth tutorials
There are plenty of beginner coding tutorials which serve as a basic introduction for a new user to get up to speed, but once having passed that stage there is a real lack of free more advanced tutorials/examples/code snippets demonstrating the finer details of the vast and varied API functions.
Con Slow roadmap implementation
Bugs are fixed promptly, but the developer maintains a growing 'roadmap' of features with no indication to users of time frame and priority of feature implementation.
Con Lack of editing tools
Con Web support practically non-existing
Web support exists only on paper. The way it works is that Emscripten is used to convert an entire project to unreadable Javascript. That practically only works for very simple demos, no real-world projects.
Con Expensive
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.