Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Development
  3. JNGL

JNGL

ZlibC++v1.9.0

An easy-to-use cross-platform 2D game library for C++ supporting desktop, mobile, console, and web platforms.

Visit WebsiteGitHubGitHub
316 stars26 forks0 contributors

What is JNGL?

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.

Target Audience

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.

Value Proposition

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.

Overview

Easy to use cross-platform 2D game library for C++

Use Cases

Best For

  • Creating 2D indie games that need to run on both desktop and mobile platforms
  • Educational projects teaching C++ game development fundamentals
  • Prototyping game ideas quickly with minimal setup overhead
  • Porting existing 2D games to Nintendo Switch or other console platforms
  • Building web-based games using WebAssembly without learning web-specific APIs
  • Developing games that require deployment across Windows, macOS, and Linux simultaneously

Not Ideal For

  • Projects requiring 3D graphics, advanced shaders, or complex visual effects
  • Teams needing built-in physics engines, networking, or AI systems without third-party integrations
  • Large-scale productions dependent on visual editors or extensive asset pipelines
  • Developers who prefer visual scripting over writing C++ code for game logic

Pros & Cons

Pros

Broad Platform Compatibility

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.

Minimalist API Design

Offers a straightforward scene-based architecture with step() and draw() overrides, simplifying game loop implementation and lowering the learning curve.

Integrated Multimedia Support

Includes built-in handling for fonts, text rendering, images, and audio via libvorbis, minimizing external dependencies for core game features.

CMake Build System

Uses CMake with clear configuration examples for each platform, making cross-platform builds manageable and consistent.

Cons

Dependency-Heavy Setup

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.

Missing Advanced Features

Lacks built-in physics, networking, or GUI tools, forcing developers to implement or integrate third-party solutions, which adds complexity.

Sparse Documentation

Documentation is split across a wiki, website, and tutorial links, with no single comprehensive guide, making it harder to find specific information quickly.

Frequently Asked Questions

Quick Stats

Stars316
Forks26
Contributors0
Open Issues7
Last commit2 days ago
CreatedSince 2011

Tags

#mobile-games#ios#webassembly#sdl2#gamedev#opengl#console-development#android#openal#cmake#c-plus-plus#game-development#xbox#linux#cross-platform#nintendo-switch#game-engine#macos#windows#2d-graphics

Built With

l
libwebp
S
SDL2
l
libvorbis
F
FreeType
C
CMake
F
Fontconfig
C
C++

Links & Resources

Website

Included in

Game Development16.4kGame Engine Development1.3k
Auto-fetched 1 day ago

Related Projects

C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars71,405
Forks8,295
Last commit2 days ago
ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,259
Forks16,130
Last commit1 day ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars49,756
Forks7,400
Last commit2 days ago
BlazorBlazor

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

Stars37,941
Forks10,666
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub