- Free, MIT open sourced..
- Use as a standalone engine or as a drop in component (e.g. with SFML)..
- Entity component system (ECS) based.
- Physics (Discrete element method):
- collision primitives (circles, rects).
- collision meshes built from primitives (rigid and soft).
- configurable friction, gravity, drag, and restitution.
- super-sampling.
- (good) multithreading.
- Cell list collision detection.
- Quad tree collision detection.
- Object-object and object-world collisions.
- collision islands and other optimisations.
- Rendering (provided by jGL, Vulkan is a WIP):
- OpenGL.
- Vulkan.
- sprites (atlasing, and animateable atlases).
- collision primitives (circles/rects).
- Freetype fonts.
- shapes (it is in jGL).
- lightmaps and shadows.
- msaa.
- particle effects (it is in jGL).
- texture management.
- (compressed) texture asset packs.
- Engine UI (Dear ImGui).
- Window management:
- Single window creation.
- Multi-window.
- Key and mouse events.
- Frame limiting.
- Snapping and resizing.
- Screenspace bbs.
- Worlds:
- Perlin (marching squares).
- Tile maps.
- object-world collisions.
- editable.
- saveable.
- tile textures.
- Lua console
- ECS bindings (object management).
- Compressed script asset archive support.
- Live in game console
- Cross platform:
- Linux.
- Windows.
- macOS.
- Android.
- IOS (mostly held up by jGL rendering).
- Tooling
- mesh editor.
- Lua script packer.
- World editor.
- Texture packer.
Checkout the docs here, and also the jGL docs here
- clone, and init the submodules (you can use
submodules.sh
) - the
build.sh
can be used to build
- Freetype is licensed under the The FreeType Project LICENSE
- GLEW is licensed under aModified BSD License, the Mesa 3-D License (MIT) and the Khronos License (MIT).
- GLFW is licensed under the zlib/libpng
- GLM is licensed under the MIT License (but also, no bunnies have been made unhappy)
- Lua is licensed under the MIT license
- Miniaudio is licensed under the MIT-0 license
- stduuid is licensed under the MIT license
- vorbis and ogg is licensed under a BSD license
- zlib is licensed under the zlib license
Thanks to all the OSS developers: David Turner, Robert Wilhelm, and Werner Lemberg (Freetype), Milan Ikits <milan ikits[]ieee org>, Marcelo E. Magallon <mmagallo[]debian org>, and Lev Povalahev Brian Paul, The Khronos Group Inc (GLEW), Marcus Geelnard and Camilla Löwy (GLFW), G-Truc Creation (GLM), Lua.org, PUC-Rio (Lua), David Reid (Miniaudio), Marius Bancila https://github.com/mariusbancila/stduuid#MIT-1-ov-file (stduuid), Xiph.org Foundation (vorbis, ogg), and Jean-loup Gailly and Mark Adler (zlib).