Awesome
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.