/supernova

Game engine for 2D and 3D projects with entity component system (ECS) and data-oriented design

Primary LanguageC++MIT LicenseMIT

Logo

Entity component system (ECS) and data-oriented design engine using object oriented for API.

Supernova is a free and open-source, cross-platform game engine for creating 2D and 3D projects with Lua or C++. It is lightweight and promotes the simplest way to use the best performance of a data-oriented design.

Screenshot1

Live samples: https://samples.supernovaengine.org/

Supports

  • Web (with Emscripten - OpenGL ES)
  • Android (OpenGL ES)
  • iOS (Metal, OpenGL ES)
  • macOS (Metal, OpenGL)
  • Linux (OpenGL)
  • Windows (DirectX, OpenGL)

Features

  • 2D and 3D scenes
  • GLTF and OBJ models load
  • Model skin and morph targets
  • PBR shaders
  • Lights
  • Dynamic shadows
  • Particle system
  • Animations
  • Sprites
  • Fog and sky
  • UI
  • Terrain LOD
  • Textures and shaders pool
  • 3D audio
  • Cross-platform persistence system
  • Multithreading support
  • 2D and 3D physics
  • Instancing

Upcoming features

  • More UI components
  • Water
  • Editor
  • Networking

Samples

For all samples source code:

https://github.com/supernovaengine/supernova-samples

Documentation

(in development)

For tutorials and all engine information:

https://docs.supernovaengine.org/

Building

Third party libraries

License

Licensed under MIT license, you can use freely for whatever you want, including commercial projects.