NCine
A cross-platform 2D game engine
Install / Use
/learn @nCine/NCineREADME
<p align="center"><a href="https://ncine.github.io" target="_blank" rel="noopener noreferrer"><img width="192" src="https://github.com/nCine/nCine-data/blob/master/icons/icon192.png" alt="nCine logo"></a></p>
nCine
News • Features • Gallery • Videos • Getting Started • Discord • Donate
Overview
nCine is a cross-platform 2D game engine with an emphasis on performance. It is written in C++11 but it can optionally be scripted with Lua.
It is released under the MIT License and it has been in active development since June 2011.
For additional information: https://ncine.github.io/.
Copyright (c) 2011-2026 Angelo Theodorou.
Screenshots
<table> <tr> <td align="center" width="50%"> <figure> <img src="https://ncine.github.io/img/gallery/SpookyGhost.png" alt="SpookyGhost" style="max-width:100%; height:auto;"> <figcaption><a href="https://encelo.itch.io/spookyghost">SpookyGhost</a>, a procedural sprite animation tool by <a href="https://github.com/encelo">Encelo</a></figcaption> </figure> </td> <td align="center" width="50%"> <figure> <img src="https://ncine.github.io/img/gallery/ncJump.png" alt="ncJump" style="max-width:100%; height:auto;"> <figcaption><a href="https://github.com/Fahien/ncJump">ncJump</a>, a platform game with Box2D physics and an ImGui editor by <a href="https://github.com/Fahien">Fahien</a></figcaption> </figure> </td> </tr> <tr> <td align="center" width="50%"> <figure> <img src="https://ncine.github.io/img/gallery/jazz2.png" alt="Jazz² Resurrection" style="max-width:100%; height:auto;"> <figcaption><a href="https://github.com/deathkiller/jazz2-native">Jazz² Resurrection</a>, the C++ version of the Jazz Jackrabbit 2 reimplementation project by <a href="https://github.com/deathkiller">DeathKiller</a></figcaption> </figure> </td> <td align="center" width="50%"> <figure> <img src="https://ncine.github.io/img/gallery/ncJugiMapFrameworkDemo.png" alt="ncJugiMapFrameworkDemo" style="max-width:100%; height:auto;"> <figcaption><a href="https://github.com/Jugilus/JugimapFramework">ncJugiMapFrameworkDemo</a>, a demo test for <a href="http://jugimap.com/">JugiMap</a> integration framework by <a href="https://github.com/Jugilus">Jugilus</a></figcaption> </figure> </td> </tr> </table>Documentation
- Build Instructions
- Getting Started
- C++ API Documentation (Doxygen)
- Lua API Documentation (LDoc)
- Lua Tutorial
Technical Information
Dependencies
- GLEW
- GLFW 3.x, SDL 2, Qt 5
- libpng, libwebp
- OpenAL-soft, libogg, libvorbis, libvorbisfile
- Lua 5.5
- Dear ImGui, Nuklear
Supported Platforms and Compilers
- Windows (MSVC, MinGW-w64 on MSYS2)
- macOS (Apple Clang)
- Linux (GCC, Clang)
- Android (GCC, Clang)
- Emscripten
Development Tools
- Git, CMake
- Qt Creator, Visual Studio Code
- Doxygen with GraphViz
- Valgrind, Cppcheck, clang-format
- Google Test and Gcovr, Google Benchmark
- Tracy frame profiler, RenderDoc graphics debugger

