libGDX offers a single API to target: Windows, Linux (including the Raspberry Pi), macOS, Android, iOS and Web. Developers can use various backends to access the capabilities of the host platform, without having to write platform-specific code. Rendering is handled on all platforms through Open GL ES 2.0/3.0.
The libGDX project was started over 10 years ago. Over the years, libGDX and its community matured: nowadays, libGDX is a well proven and reliable framework with a sound base and documentation. Furthermore, there are plenty of games built on top of libGDX, many of which are open source.
Extensive third-party ecosystem
libGDX offers a very extensive third-party ecosystem. There are numerous tools and libraries that take a lot of work off the hands of developers. Awesome-libGDX is a curated list of libGDX-centered libraries and a good starting point for anyone new in the libGDX world.
Do whatever you want
Unlike many popular editor-based platforms, libGDX is entirely code-centric, offering developers fine-grained control over every aspect of their game.
- Freedom: While libGDX gives you access to various different tools and abstractions, you can still access the underlying base. libGDX acknowledges that there is no one-size-fits-all solution, so it doesn’t force you to use certain tools or coding styles: you are free to do whatever you want!
- Open Source: libGDX is licensed under Apache 2.0 and maintained by the community, so you can take a look under the hood and see how everything works.
- Java: Since libGDX uses Java, you can profit from the wide Java ecosystem – Powerful IDEs, out-of-the-box support for Git, fined-tuned debuggers, performance profilers, and an abundance of well-tried libraries and frameworks, as well as many resources and extensive documentation.
libGDX comes with batteries included. Write 2D or 3D games and let libGDX worry about low-level details.
Math & Physics
- Matrix, vector and quaternion classes; accelerated via native C code where possible (if you are interested in that, also note our gdx-jnigen project)
- Bounding shapes and volumes as well as a Frustum class for picking and culling
- Intersection and overlap testing
- Steering Behaviours, Formation Motion, Pathfinding, Behaviour Trees and Finite State Machines
- Common interpolators, different spline implementations, concave polygon triangulators and more
- 2D physics: JNI wrapper for the popular Box2D physics (see also Box2DLights). Alternatively, you can take a look at jbump for a simpler physics implementation.
- 3D physics: JNI Wrapper for Bullet physics
Integration of Services
- Rendering through OpenGL ES 2.0/3.0 on all platforms
- Low-Level OpenGL helpers:
- High-level 2D APIs:
- A Powerful UI Solution:
- High-Level 3D APIs:
- Third-party post-processing shader effects
…a Great Community! Get support from a very friendly community of game and application developers or use any of the libraries and tools created by members of our community. Join us today and get started with your very first libGDX game!