An easy-to-use cross-platform 2D game library for C++ supporting desktop, mobile, console, and web platforms.
JNGL is a cross-platform 2D game library for C++ that simplifies game development across desktop, mobile, console, and web platforms. It provides an easy-to-use API for graphics, input, audio, and window management while handling platform-specific details automatically. The library enables developers to write game logic once and deploy to multiple targets including Windows, Linux, macOS, Android, iOS, Nintendo Switch, and web browsers.
C++ developers creating 2D games who need to target multiple platforms without rewriting platform-specific code. Ideal for indie game developers, hobbyists, and educators looking for a straightforward game development framework.
JNGL offers a simpler alternative to heavier game engines while providing true cross-platform support that includes consoles and web targets. Its minimal API reduces learning curve compared to more complex engines, and the CMake-based build system simplifies multi-platform deployment.
Easy to use cross-platform 2D game library for C++
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports Linux, Windows, macOS, Android, iOS, Xbox, Nintendo Switch, and web with the same codebase, as detailed in the platform-specific setup instructions, reducing porting effort.
Offers a straightforward scene-based architecture with step() and draw() overrides, simplifying game loop implementation and lowering the learning curve.
Includes built-in handling for fonts, text rendering, images, and audio via libvorbis, minimizing external dependencies for core game features.
Uses CMake with clear configuration examples for each platform, making cross-platform builds manageable and consistent.
Requires installing multiple external libraries like SDL2, libvorbis, and freetype per platform, which can be time-consuming and error-prone, as seen in the lengthy apt-get/dnf/pacman commands.
Lacks built-in physics, networking, or GUI tools, forcing developers to implement or integrate third-party solutions, which adds complexity.
Documentation is split across a wiki, website, and tutorial links, with no single comprehensive guide, making it harder to find specific information quickly.