30 open-source projects similar to jhasse/jngl, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
melonJS is a lightweight HTML5 game engine for building 2D games in the browser using JavaScript. It provides a complete framework for sprite animation, tilemap loading, physics simulation, input handling, and audio playback, with a unified rendering system that automatically switches between WebGL and Canvas2D backends without code changes. The engine distinguishes itself through several integrated capabilities. It features a per-sprite shader pipeline for custom fragment shader effects, a SAT-based collision engine with swappable physics adapters (including built-in SAT, Matter.js, and Plan
Cocos2d-x is a high-performance C++ game development framework designed for building and deploying interactive applications across mobile, desktop, and web platforms. It functions as a cross-platform game engine that utilizes an entity-component system to manage object lifecycles, behaviors, and spatial relationships within a unified codebase. The engine is distinguished by its specialized 2D graphics rendering pipeline, which is optimized for hardware-accelerated performance when displaying sprites, particle effects, and skeletal animations. It provides developers with low-level access to gr
Solar2D Game Engine main repository (ex Corona SDK)
Spring is a cross-platform game engine and framework designed specifically for the development and execution of multiplayer real-time strategy games. It provides a high-performance simulation environment for managing large-scale battles and unit movements across different operating systems using a shared codebase. The engine functions as a multiplayer game server and networking layer, coordinating real-time game state and match synchronization between remote players. It includes a dedicated lobby client system for multiplayer match coordination as well as the capability to execute single-play
Halley is a modular C++ game engine designed for building cross-platform interactive applications. Its core identity is defined by a hardware-abstraction graphics pipeline for consistent rendering across different operating systems and an entity-component-system architecture that separates game state from processing logic. The framework features a hot-reloading development environment that allows updating application logic and assets at runtime without requiring a full process restart. It also includes a multiplayer networking framework based on an asynchronous messaging system to manage real
Gameplay is a high-performance C++ game engine and cross-platform framework designed for developing 2D and 3D interactive games. It functions as both a 3D graphics engine for rendering environments and a 2D game development kit for creating sprite-based mechanics. The framework provides a cross-platform abstraction layer to ensure that game logic and graphics run across various hardware and software platforms using a shared codebase. The engine implements a hardware-accelerated rendering pipeline and component-based game logic to separate data from behavior. It utilizes a native C++ impleme
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
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
Macroquad is a Rust game engine and 2D graphics library designed for developing cross-platform games and graphical applications. It functions as a rendering engine that enables the deployment of a single codebase to desktop, mobile, and web targets. The engine utilizes an immediate mode rendering model, which allows for the creation of user interfaces and game worlds that render in a single pass within the main application loop. This approach is paired with hardware-accelerated 2D rendering and automatic draw call batching to optimize the display of geometry across different hardware devices.
EnTT is a C++ library designed for data-oriented design and entity component system architecture. It provides a framework for managing game objects and simulation states by separating entity data from logic, allowing for the efficient organization and manipulation of large collections of related data objects. The library utilizes sparse sets to store entities and components in contiguous memory, which facilitates cache-friendly iteration and constant-time lookups. It employs template metaprogramming for compile-time type reflection and type-erasure techniques to provide a unified interface fo
A completely free, open-source, 2D game engine built on proven torque technology.
Urho3D is a cross-platform 3D game engine written in C++. It uses a component-based scene graph to compose game objects from nodes and attached components, separating transforms from behaviors for modular design. The engine integrates AngelScript and Lua scripting for game logic, uses the Bullet library for physics simulation, and renders scenes with OpenGL or Direct3D through forward, deferred, or light pre-pass pipelines with customizable render passes and shadow mapping. The engine distinguishes itself with a built-in visual scene and UI editor for composing 3D worlds and interface layouts
KlayGE is a cross-platform open source game engine with plugin-based architecture.
Classic point and click adventure game engine and editor
Juno is a simple and lightweight 2D game framework written in TypeScript for making tiny pixel style HTML5 Games
This is a web-based 3D game engine designed for creating high-performance interactive experiences on web and mobile platforms. It functions as a real-time graphics renderer and physics engine, utilizing a component-based scene graph to organize entities and their properties for three-dimensional rendering. The engine includes a visual scene editor that allows for the design of environments through a graphical interface, which then exports these assets as executable code. Its broader capabilities cover real-time graphics rendering for 2D and 3D elements, physical world simulation for object c
Pygame is a framework for building interactive 2D applications and games using the Python programming language. It functions as a 2D graphics rendering engine, a game input and event manager, and a multimedia audio toolkit. The project serves as a wrapper for the Simple DirectMedia Layer, providing a Python interface for low-level access to graphics, audio, keyboard, mouse, and joystick hardware. Its capabilities cover 2D graphics rendering and image manipulation, digital audio playback and streaming, and the management of game entities and physics simulations. It also includes tools for rea
Free, cross-platform 2D game engine powered by Haxe and OpenFL
C++, SDL 2 and SFML game engine that allows to create games on Nintendo Switch, Web (HTML 5), Mobile and PC.
Polycode is a cross-platform framework for creative code.
Game engine for making 2d games on iOS, macOS and tvOS, with practical examples and tutorials
Phaser is a cross-platform 2D web game engine and framework designed for creating interactive experiences that run on desktop and mobile web browsers. It serves as a GPU-accelerated rendering library and WebGL graphics engine for building two-dimensional games using HTML5 Canvas and WebGL. The engine features a dual-backend rendering pipeline that allows developers to switch between rendering paths. It distinguishes itself through high-performance graphics capabilities, including GPU-driven sprite batching for large-scale image management, a dynamic lighting system with self-shadows, and the
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
I'm Ivan Polyacov and this is my code library which I'm making and using in my games and other projects since early 2000x at Apus Software. It is used in many games including Spectromancer, Astral Heroes and others. Most code I wrote myself, but some minor parts were taken from other sources.…
Tiled is a visual editor for creating two-dimensional game environments, functioning as a tile map editor and game level design tool. It allows for the construction of game worlds by arranging reusable tile sets and assets into maps. The system includes a tile set manager to organize and modify collections of tiles that can be shared across multiple project maps. It supports the creation of complex environments through layered map composition and the placement of objects at precise coordinates. The editor provides capabilities for grid alignment, coordinate-based layouts, and the attachment