https://github.com/supernovaengine/supernova
Game engine for 2D and 3D projects with entity component system (ECS) and data-oriented design
https://github.com/supernovaengine/supernova
cross-platform data-oriented-design directx ecs entity-component-system game-dev game-development game-engine gamedev metalapi opengl opengl-es
Last synced: 4 months ago
JSON representation
Game engine for 2D and 3D projects with entity component system (ECS) and data-oriented design
- Host: GitHub
- URL: https://github.com/supernovaengine/supernova
- Owner: supernovaengine
- License: mit
- Created: 2016-07-29T23:49:42.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T17:22:49.000Z (over 1 year ago)
- Last Synced: 2024-10-29T18:46:57.940Z (over 1 year ago)
- Topics: cross-platform, data-oriented-design, directx, ecs, entity-component-system, game-dev, game-development, game-engine, gamedev, metalapi, opengl, opengl-es
- Language: C++
- Homepage: http://www.supernovaengine.org
- Size: 148 MB
- Stars: 288
- Watchers: 14
- Forks: 28
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-game-engine-dev - Supernova - Cross-platform for 2D/3D projects. (Libraries / C++)
- awesome-entity-component-system - supernova - Game engine for 2D and 3D projects with ECS and data-oriented design. [⭐ 376](https://github.com/supernovaengine/supernova) ([Applications powered by ECS](#contents) / [Game Engines](#contents))
README




[](https://discord.gg/yXXDyJf3gT)
**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.

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
- Building for Windows: https://docs.supernovaengine.org/getting-started/building/building-for-windows
- Building for Linux: https://docs.supernovaengine.org/getting-started/building/building-for-linux
- Building for macOS: https://docs.supernovaengine.org/getting-started/building/building-for-macos
- Building for iOS: https://docs.supernovaengine.org/getting-started/building/building-for-ios
- Building for Android: https://docs.supernovaengine.org/getting-started/building/building-for-android
- Building for HTML5: https://docs.supernovaengine.org/getting-started/building/building-for-html5
## Third party libraries
* sokol - https://github.com/floooh/sokol - Zlib License
* Lua - https://www.lua.org - MIT license
* LuaBridge 3.0 - https://github.com/kunitoki/LuaBridge3 - MIT License
* Soloud - https://github.com/jarikomppa/soloud - Zlib/LibPng license
* stb - https://github.com/nothings/stb - MIT license
* json - https://github.com/nlohmann/json - MIT license
* tinygltf - https://github.com/syoyo/tinygltf - MIT license
* tinyobjloader - https://github.com/tinyobjloader/tinyobjloader - MIT license
* tinyxml2 - https://github.com/leethomason/tinyxml2 - Zlib License
* Box2D - https://github.com/erincatto/box2d - MIT license
* JoltPhysics - https://github.com/jrouwe/JoltPhysics - MIT license
## License
Licensed under MIT license, you can use freely for whatever you want, including commercial projects.