nCine is a multi-platform 2D game engine that runs on PC (Linux, Windows, macOS), Android and the web (Emscripten).
The project has been in active development since June 2011. Source code is released under the MIT license and available on GitHub.
nCine alternatives and similar libraries
Based on the "Game Engine" category.
Alternatively, view nCine alternatives based on common mentions on social networks and blogs.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of nCine or a related project?
nCine is a cross-platform 2D game engine.
It is released under the MIT License, Copyright (c) 2011-2020 Angelo Theodorou.
For additional information: https://ncine.github.io
- GLFW 3.x
- SDL 2
- libogg, libvorbis, libvorbisfile
- Lua 5.4
- Dear ImGui
Supported Platforms and Compilers
- Windows (MSVC, MinGW-w64 on MSYS2)
- macOS (Clang)
- Linux (GCC, Clang)
- Android (GCC, Clang)
- Qt Creator
- Doxygen with GraphViz
- Google Test and Gcovr
- Tracy frame profiler
- Google Benchmark
- RenderDoc graphics debugger
- Indent with tabs (4 spaces) but use spaces for continuation line alignment
- Allman brackets
- No brackets around one line conditional statements
- Padding space after parenthesis headers (
- Align pointer and reference operator to the variable or function name
inlinekeyword always before
- Mark an override method with the
overridespecifier and remove
- Access specifiers order:
- One half indent for access specifiers (2 spaces)
- Declarations order: typedefs and enums, data members, constructors, destructors, methods
- Friends defined in the private section of a class, after everything else
- One space padding around operators
- Use of the
explicitkeyword all the times it makes sense
- Pascal case for classes, enumerations, typedefs and constants
- Camel case for variables, functions and parameters
- All upper case for enumerators in an enumeration
- Put Doxygen brief descriptions in header files and additional documentation in implementation ones
- Use Qt style for Doxygen detailed descriptions (
/*! */) and end them with a period
*Note that all licence references and agreements mentioned in the nCine README section above are relevant to that project's source code only.