Description
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.
-
Cocos2d-x
Cocos2d-x is a suite of open-source, cross-platform, game-development tools utilized by millions of developers across the globe. Its core has evolved to serve as the foundation for Cocos Creator 1.x & 2.x. -
Panda3D
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU -
CRYENGINE
DISCONTINUED. CRYENGINE is a powerful real-time game development platform created by Crytek. -
Spring RTS game engine
A powerful free cross-platform RTS game engine. - Report issues at https://springrts.com/mantis/ -
Amazon Lumberyard
DISCONTINUED. Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch โ with full source. -
Axmol Engine
Axmol Engine โ A Multi-platform Engine for Desktop, XBOX (UWP) and Mobile games. (A fork of Cocos2d-x-4.0) -
Wolf Engine
DISCONTINUED. The Wolf is a comprehensive set of C/C++ open source libraries for realtime rendering, realtime streaming and game developing
InfluxDB high-performance time series database

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of nCine or a related project?
README
nCine
nCine is a cross-platform 2D game engine.
It is released under the MIT License, Copyright (c) 2011-2022 Angelo Theodorou.
For additional information: https://ncine.github.io
Information
Dependencies
- GLEW
- GLFW 3.x
- SDL 2
- libpng
- libwebp
- OpenAL-soft
- libogg, libvorbis, libvorbisfile
- Lua 5.4
- Dear ImGui
- Nuklear
Supported Platforms and Compilers
- Windows (MSVC, MinGW-w64 on MSYS2)
- macOS (Clang)
- Linux (GCC, Clang)
- Android (GCC, Clang)
- Emscripten
Development Tools
- git
- CMake
- Qt Creator
- Doxygen with GraphViz
- Valgrind
- Cppcheck
- clang-format
- Google Test and Gcovr
- Tracy frame profiler
- Google Benchmark
- RenderDoc graphics debugger
Development
Conventions
Coding Conventions
- 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 (
if
,do
,while
,for
,switch
) - Align pointer and reference operator to the variable or function name
inline
keyword always beforevirtual
andstatic
- Mark an override method with the
override
specifier and removevirtual
- Access specifiers order:
public
,protected
,private
- 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
explicit
keyword all the times it makes sense
Naming Conventions
- Pascal case for classes, enumerations, typedefs and constants
- Camel case for variables, functions and parameters
- All upper case for enumerators in an enumeration
Documenting Conventions
- 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.