nCine / Ncine
Licence: mit
A cross-platform 2D game engine
Stars: ✭ 372
Labels
Projects that are alternatives of or similar to Ncine
Lighthouse2
Lighthouse 2 framework for real-time ray tracing
Stars: ✭ 542 (+45.7%)
Mutual labels: game-engine, gamedev, opengl, rendering, real-time
Rabbittoolbox
🤸🏾♀️👗开源的动画渲染软件,提倡以简单、易用,高质量的物理演算以及渲染质量和性能,为喜爱二次元动画的用户降低视频制作门槛
Stars: ✭ 309 (-16.94%)
Mutual labels: emscripten, game-engine, gamedev, opengl, cross-platform
Panda3d
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
Stars: ✭ 3,035 (+715.86%)
Mutual labels: game-development, game-engine, gamedev, opengl, cross-platform
Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-51.34%)
Mutual labels: game-engine, gamedev, opengl, rendering, imgui
Blue Flame Engine
A 3D/2D game engine that supports both DirectX11 and OpenGL 4.5
Stars: ✭ 129 (-65.32%)
Mutual labels: game-development, game-engine, gamedev, opengl
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+902.15%)
Mutual labels: emscripten, game-engine, gamedev, opengl
Limonengine
3D FPS game engine with full dynamic lighting and shadows
Stars: ✭ 331 (-11.02%)
Mutual labels: game-development, game-engine, opengl, cross-platform
Glchaos.p
3D GPUs Strange Attractors and Hypercomplex Fractals explorer - up to 256 Million particles in RealTime
Stars: ✭ 590 (+58.6%)
Mutual labels: emscripten, opengl, rendering, imgui
Duality
a 2D Game Development Framework
Stars: ✭ 1,231 (+230.91%)
Mutual labels: game-development, game-engine, gamedev, opengl
Alimer
Cross-platform game engine.
Stars: ✭ 172 (-53.76%)
Mutual labels: game-development, game-engine, gamedev, cross-platform
Ouzel
C++ game engine for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers
Stars: ✭ 607 (+63.17%)
Mutual labels: emscripten, game-development, game-engine, opengl
Overload
3D Game engine with editor
Stars: ✭ 335 (-9.95%)
Mutual labels: game-engine, gamedev, opengl, imgui
Ava
A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.
Stars: ✭ 287 (-22.85%)
Mutual labels: game-engine, gamedev, opengl, imgui
Obengine
2D Game Engine with Lua Scripting made on top of SFML !
Stars: ✭ 335 (-9.95%)
Mutual labels: game-development, game-engine, gamedev, cross-platform
Cryengine
CRYENGINE is a powerful real-time game development platform created by Crytek.
Stars: ✭ 580 (+55.91%)
Mutual labels: game-development, game-engine, gamedev, cross-platform
Magnum Bootstrap
Bootstrap projects for Magnum C++11/C++14 graphics engine
Stars: ✭ 69 (-81.45%)
Mutual labels: emscripten, game-engine, gamedev, opengl
Ultralight
Next-generation HTML renderer for apps and games
Stars: ✭ 3,585 (+863.71%)
Mutual labels: game-development, gamedev, opengl, cross-platform
Engine
A basic cross-platform 3D game engine
Stars: ✭ 208 (-44.09%)
Mutual labels: emscripten, game-engine, opengl, cross-platform
Rizz
Small C game development framework
Stars: ✭ 428 (+15.05%)
Mutual labels: game-development, game-engine, gamedev, opengl
Simpleton Engine
What a stupid name for a library
Stars: ✭ 42 (-88.71%)
Mutual labels: game-development, game-engine, gamedev, opengl
nCine
nCine is a cross-platform 2D game engine.
It is released under the MIT License, Copyright (c) 2011-2021 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 the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].