All Projects → nCine → Ncine

nCine / Ncine

Licence: mit
A cross-platform 2D game engine

Programming Languages

lua
6591 projects
cpp11
221 projects

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

Linux macOS Windows MinGW Emscripten CodeQL

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 before virtual and static
  • Mark an override method with the override specifier and remove virtual
  • 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].