Awesome
Awesome libGDX
<a href="https://libgdx.com/"><img src="https://libgdx.com/assets/images/logo.png" alt="libGDX Logo" align="right" style="margin-right: 25px" height=40></a>
libGDX is a relatively low level, free, open source cross platform game development framework written in Java.
This list is a curated collection of awesome resources, tools, tutorials, and projects using the libGDX game framework to help developers make awesome games, conforming to the Awesome Manifesto.
Contributions very welcome but first see Contributing.
Contents
Resources
Resources that can be used in libGDX code to boost the framework's capabilities.
Algorithms and AI
- gdx-ai - Artificial Intelligence framework featuring Steering Behaviors, Formation Motion, Pathfinding, Behavior Trees and Finite State Machines.
- Simple Graphs - A java library for graph data structures and algorithms (including fast pathfinding).
Controllers
- gdx-controllers - Adds support to gamepads and joysticks.
- gdx-controllerutils - Adds Scene2D button input support, user configurable button mappings and hotplugging for LWJGL2.
- sdl2gdx - Powerful gamepad implementation using SDL. Supports hundreds of controllers under the same mapping, rumble, and hotplugging.
Editors
- HyperLap2D - Visual editor for complex 2D worlds and scenes with a runtime for libGDX.
- Mundus - World/level editor for 3D worlds with a runtime for libGDX.
- Spine - Skeleton-based animation tool that focuses specifically on 2D animation for games.
Entity Component System (ECS)
- Artemis-odb - High performance java based Entity-Component-System framework.
- Ashley - A Java entity system inspired by Ash & Artemis.
Physics
- Box2D - One of the most popular physics libraries for 2D games.
- Bullet - 3D Collision Detection and Rigid Body Dynamics Library.
- jbump - Easy to implement AABB collision detection useful for platformers and other simple 2D games.
Services
- gdx-facebook - Provides cross-platform support for Facebook Graph API.
- gdx-fireapp - Cross-platform API for Firebase.
- gdx-firebase - Cross-platform (only Desktop/Android) API for Firebase.
- gdx-gameanalytics - Game Analytics REST API client implementation for libGDX. Works on all backends.
- gdx-gamesvcs - Easy integration of gameservices, such as Google Play Games, Apple Game Center, and more.
- gdx-pay - Provides a cross-platform API for InApp purchasing.
- steamworks4j - A thin wrapper which allows Java applications to access the Steamworks C++ API.
Setup and Deployment
- gdx-liftoff - A modern setup tool for libGDX that supports more backends and allows adding libraries with one click.
- libgdx-library-template - A skeleton project for making new libraries, since they need different config.
- Packr - Packages your JAR, assets and a JVM for distribution on Windows, Linux and macOS.
User Interface
- Freetype - Generate BitmapFonts of your desired size on the fly from lightweight .ttf font files.
- gdx-dialogs - Provides cross-platform support for native dialogs.
- gdx-skins - Free Scene2D GUI skins.
- InGameConsole - Allows a developer to add a console (similar to how it is featured in Source games) to their game.
- msdf-gdx - Provides lightweight utilities to draw high-quality MSDF (multi-channel signed distance field) text on libGDX.
- PieMenu - Radial menus for Scene2D that are highly flexible and easy to customize.
- Ray3K Skins - Free Scene2D.UI skins with example code, custom drawables, and experimental features.
- Skin Composer - Create skins for libGDX scene2d.ui with a graphical interface.
- TenPatch - An alternative to libGDX's 9patch implementation that implements multiple stretch regions.
- TextraTypist - Like TypingLabel (below), but also supports styles, emoji, multiple fonts, clickable links, etc.
- TypingLabel - A libGDX Label that appears as if it was being typed in real time.
- VisUI - Allows to create nice looking UI in libGDX using scene2d.ui. Note this is not a UI editor.
Visual Effects
- Box2DLights - 2D lighting framework that uses Box2D for raycasting and OpenGL ES 2.0 for rendering.
- colorful-gdx - Expands how tinting can affect colors; also has many pre-written shaders.
- HackLights - Lightweight framebuffer based lighting engine for libGDX.
- gdx-vfx - Flexible post-processing shader visual effects based on libgdx-contribs-postprocessing.
- libgdx-screenmanager - A screen manager for libGDX supporting various transition effects
- Particle Park - A showcase of downloadable particle effects with live previews.
- Shape Drawer - A performant alternative to ShapeRenderer that avoids Batch flushing.
- gdx-gltf - GLTF 3D file format support (import/export), PBR shaders, and others advanced rendering.
- gdx-graph - Provides a GUI to design your rendering pipeline and shaders, and a library to easily incorporate them into your games.
Audio
- TuningFork - Advanced 3D audio features for libGDX desktop users.
- gdx-miniaudio - Advanced Cross Platform Audio Engine for libGDX based on MiniAudio.
- gdx-sfx - Some goodies for better sound effects in libGDX.
- gdx-pd - Pure Data extension for libGDX.
Others
- anim8-gdx - Allows saving (animated) GIFs and PNGs from sequences of Pixmaps, with configurable dithering if needed.
- gdx-dbgagent - Java Agent for debugging common issues, like objects not being disposed and constants such as Color.WHITE being modified.
- gdx-jnigen - Small library that allows C/C++ code to be written inline with Java source code.
- gdxGifRecorder - A utility class that records a GIF and saves it automatically.
- KTX - Kotlin extensions and utilities for libGDX.
- noise4j - Simple map generators based on various procedural content generation tutorials.
- Texture Packer GUI - A simple way to pack and manage texture atlases for libGDX game framework.
- libGDX Plugin - A plugin for IntelliJ IDEA and Android Studio that adds a number of libGDX features and tools, such as color previews and additional inspections for common mistakes.
Tutorials
Tutorials for newbies and seasoned developers alike.
Getting Started
- Official libGDX Wiki - Official libGDX wiki that contains a huge amount of information.
- Tann's Hello libGDX - An excellent guide for beginners on how to create a game from scratch.
- Development Tutorial Playlist by Phillip Mod Dev - A series of videos going over the basics of libGDX.
- Brandon Grasley's Space Shooter Game - Video tutorial series on making a complete Android game from scratch.
- Creating a Launcher - Video tutorial on using libGDX to make a game launcher.
- Deploying with JPackage - A tutorial on deploying libGDX games with JPackage via Gradle commands.
- JSON in Game Dev - General tutorial on using JSON for storing data.
- Progress Bar Design - Discusses the pros and cons of different progress bar design techniques with examples.
- libGDX External Tutorials - Big list of official unofficial tutorials.
- Scene2D.UI From the Ground Up - Covers the basics of UI design in Scene2D, libGDX's premiere scene graph and layout toolkit.
Advanced
- Code Hotswapping - Video tutorial on enabling code hotswapping for libGDX projects to increase productivity.
- Dynamic Textures with Pixmap - Details how to create a mask using Pixmaps.
- iOS Deployment Tutorial - Deploying to iOS in 2019 using RoboVM.
- Sub-pixel Perfect Smooth Scrolling - Pixel-perfect smooth scrolling.
- Introduction to 3D Series - A tutorial series on libGDX 3D using gdx-gltf.
General Learning Material
- Book of Shaders - Step-by-step guide through the abstract and complex universe of Fragment Shaders. GLSL.
- Game Programming Patterns - Architecture and design patterns for games.
Assets
Collection of free and high quality assets to get your game to the next level.
- Kenney Assets - High quality assets for your game, from 2D and 3D art to sound effects.
- OpenGameArt.org - Repository offering a variety of open content assets.
- Game-Icons.net - Repository containing heaps of cool game related graphics.
- Jsfxr - Quickly create unique sound effects by pressing a few buttons, excellent for prototyping.
- freesound.org - Huge collaborative database of audio snippets, samples, recordings, bleeps.
Community
Get in touch with other libGDX developers to collaborate and get help.
- Discord - An active chat with various leaders from the community available every day. Recommended
- Reddit - Unofficial subreddit for libGDX. Not a lot of activity.
Other Lists
Other awesome lists that might be useful to libGDX developers.
- Game Networking - A Curated List of Game Network Programming Resources.
- Game Talks - A curated list of gaming talks (development, design, etc).
- Java - A curated list of awesome Java frameworks, libraries and software.
- Kotlin - A curated list of awesome Kotlin related stuff.
- Magic Tools - A list of Game Development resources to make magic happen.
- Game Accessibility Guidelines - A straightforward reference for inclusive game design, to ensure that games are just as fun for as wide a range of people as possible. Recommended
- Awesome Gamedev - A collection of free software and free culture resources for making amazing games.
Contributing
Contributions welcome! Read the contribution guidelines first.