For a java game engine for desktop development, the strongest matches are jmonkeyengine/jmonkeyengine (This is a comprehensive 3D game engine written in), libgdx/libgdx (LibGDX is a comprehensive, cross-platform Java framework that provides) and almasb/fxgl (FXGL is a comprehensive 2D game engine built for). playn/playn and okamstudio/godot round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best java game engines”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
jMonkeyEngine is a Java-based 3D game engine and cross-platform graphics framework. It provides the core tools necessary for developing three-dimensional games and interactive simulations, focusing on real-time rendering and the management of spatial environments. The engine includes a dedicated 3D physics simulation toolkit for handling rigid body dynamics and collision detection. It also features a game asset pipeline for importing and managing 3D models, textures, and audio files during runtime. The framework covers broad capability areas including 3D scene rendering, physics-based simula
This is a comprehensive 3D game engine written in Java that provides a full suite of tools including a scene graph, physics integration, and asset management, making it a flagship solution for Java-based game development.
LibGDX is a Java-based framework designed for cross-platform game development, enabling the creation and deployment of 2D and 3D games across desktop, mobile, and web environments from a single codebase. It functions as a comprehensive library that abstracts hardware-accelerated graphics, audio, input, and file system access, providing a unified interface for developers to manage game logic and application lifecycles. The framework distinguishes itself through a high-performance architecture that prioritizes efficiency and native interoperability. It utilizes a batch-oriented graphics pipelin
LibGDX is a comprehensive, cross-platform Java framework that provides the essential rendering, asset management, and input handling required to build both 2D and 3D games.
FXGL is a 2D game engine and development framework designed for Java and Kotlin. It provides a structured environment for building cross-platform desktop games, integrating a central game loop with an entity component system and a JavaFX-based scene graph for rendering. The toolkit distinguishes itself by providing a comprehensive suite of integrated libraries for game AI pathfinding, physics collision resolution, and multiplayer networking via TCP and UDP protocols. It includes specialized systems for adaptive user interface design using global stylesheets and a data-driven asset management
FXGL is a comprehensive 2D game engine built for the Java ecosystem that provides a robust suite of integrated features like physics, scene management, and asset handling, making it a strong choice for Java-based game development.
PlayN is a cross-platform game development framework that allows you to write your game once in Java and deploy it across desktop, web, and mobile platforms, providing the core structure for asset management and rendering needed for game development.
Godot is a multi-platform game engine and a suite of tools used to develop 2D and 3D interactive games and applications across multiple operating systems. It provides specialized development environments for both two-dimensional and three-dimensional design, including tools for sprite animation, tilemaps, lighting, meshes, and physics simulations. The engine includes a cross-platform export tool that packages projects for deployment to desktop, mobile, web, and console hardware targets from a single codebase. The system covers broad capabilities for interactive experience design and game dev
While this is a comprehensive, cross-platform game engine that covers all the required features, it is built primarily in C++ rather than being a Java-based framework or engine.
PhysicsJS is a JavaScript physics engine and 2D rigid body simulator designed to calculate the collisions, constraints, and dynamics of physical bodies. It functions as a modular physics library for simulating the movement and interaction of circular bodies and convex polygons. The engine implements constraint-based dynamics to enforce distance and angle constraints between objects, enabling the creation of articulated structures and linked physics. It utilizes impulse-based resolution to handle collisions and prevent objects from passing through one another. The library provides capabilitie
This is a JavaScript-based physics library for 2D simulations, which serves as a building block for game development rather than a Java-based game engine.
Flame is a 2D game engine and framework for Flutter. It provides a component-based architecture to organize scene entities and manage their lifecycles through a structured hierarchy of game objects, coordinated by a consistent game loop. The engine includes a graphics library for rendering animated sprites, particle effects, and external textures. It features a 2D physics integration layer that supports rigid body dynamics and collision detection between entities. The framework covers additional capabilities for game engineering, including user input capture for gestures and gamepads, audio
This is a 2D game engine and framework, but it is built for the Dart language and the Flutter ecosystem rather than for Java.
planck.js is a 2D rigid body physics engine for JavaScript and HTML5, based on Box2D. It provides a framework for simulating physical interactions and calculating the motion of solid objects within a two-dimensional virtual environment. The engine is designed for cross-platform web gaming, enabling the implementation of rigid body dynamics across different web browsers and devices. The library manages simulation through a constraint-based physics solver and rigid body state management. It utilizes iterative impulse resolution, semi-implicit Euler integration, and dynamic AABB tree partitioni
This is a 2D physics library for JavaScript and TypeScript rather than a Java-based game engine, making it a building block for web-based games instead of the requested framework.
Godot is a comprehensive, node-based game engine designed for building interactive 2D and 3D applications. It provides an integrated development environment that utilizes a hierarchical scene system to organize objects, propagate spatial transformations, and manage lifecycle events. The engine functions as a cross-platform development suite, allowing developers to author, test, and export software to desktop, mobile, and web environments from a single, unified codebase. The engine distinguishes itself through a modular, component-based architecture that relies on signals-based decoupling for
Godot is a powerful, full-featured game engine, but it is built primarily in C++ and uses its own proprietary scripting language rather than being a Java-based framework or engine.
Kaiju is a general purpose 2D and 3D game engine built with the Go programming language and the Vulkan graphics API. It serves as a cross-platform game framework for deploying interactive applications to Windows, Linux, Mac, and Android. The engine includes an integrated game editor for composing scenes, managing assets, and designing shaders within a visual workspace. It provides a dedicated shader designer workspace that supports real-time hot-reloading, allowing visual changes to be seen instantly without restarting the application. The framework covers a broad range of production systems
This is a cross-platform game engine, but it is built with the Go programming language rather than Java, making it a mismatch for your specific language requirement.
Bullet3 is a professional physics simulation engine designed for calculating rigid body, soft body, and collision dynamics within 3D environments and robotics applications. It functions as a computational framework for determining complex geometric intersections and contact manifolds between objects in simulated space. The library distinguishes itself through a distributed rendering framework that scales heavy graphical workloads and scene generation tasks across large clusters of machines. This capability enables the production of massive datasets by distributing complex scene generation acr
This is a specialized physics and collision detection library written in C++ rather than a Java-based game engine, serving as a building block you would integrate into a larger framework.
Cyclone Physics is a three-dimensional rigid body physics engine designed for game development. It provides a framework for simulating the motion, rotation, and physical interactions of solid objects by applying fundamental laws of mechanics. The library utilizes discrete time integration to update object positions and velocities across fixed intervals. It manages complex scenes through a bounding volume hierarchy and employs impulse-based collision resolution to maintain momentum during contact. To handle simultaneous interactions, the engine uses an iterative velocity solver that repeatedly
This is a specialized 3D physics library written in C++ rather than a comprehensive Java-based game engine, making it a building block you would integrate into a larger project rather than the framework itself.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| jmonkeyengine/jmonkeyengine | 4.2K | Java | bsd-3-clause | |
| libgdx/libgdx | 24.8K | Java | apache-2.0 | |
| almasb/fxgl | 4.8K | Kotlin | MIT | |
| playn/playn | 0 | — | — | — |
| okamstudio/godot | 112.7K | C++ | MIT | |
| wellcaffeinated/physicsjs | 3.7K | JavaScript | MIT | |
| luanpotter/flame | 10.6K | Dart | MIT | |
| shakiba/planck.js | 5.3K | TypeScript | MIT | |
| godotengine/godot | 112.6K | C++ | MIT | |
| kaijuengine/kaiju | 4.6K | Go | NOASSERTION |