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. -
GamePlay
Open-source, cross-platform, C++ game engine for creating 2D/3D games. -
Torque3D
MIT Licensed Open Source version of Torque 3D from GarageGames -
Panda3D
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU -
CRYENGINE
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
Amazon Lumberyard is a free AAA game engine deeply integrated with AWS and Twitch โ with full source. -
KlayGE
KlayGE is a cross-platform open source game engine with plugin-based architecture. -
The MOAI Multi-platform Game Engine
This is the development repo of Moai SDK. -
Oxygine
Oxygine is C++ engine and framework for 2D games on iOS, Android, Windows, Linux and Mac -
Torque2D
A completely free, open-source, 2D game engine built on proven torque technology. -
Wolf Engine
The Wolf is a comprehensive set of C/C++ open source libraries for realtime rendering, realtime streaming and game developing
Collect and Analyze Billions of Data Points in Real Time
* 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.