A game engine prototype loosely inspired by the Acknex A8 engine.
- bone animation
- Convenient custom shaders
- collider
- plugin support
- terrain rendering (large scale, LOD, multitexturing)
wait(1)
default.c
- cef (chromium embedded)
- custom resource files
- debug drawing
- entity update logic ("action")
- primitives audio (snd_play, …)
- I/O
- virtual file system
- BLOBs (binary files, support for deflate/inflate)
- Serializer APIs for binary files
- flexibles rendering
- "Standard" PBR-Renderer
- Custom Materials
- Arbitrary Geometry
- OpenGL Wrapper
- Logging
- Metatagging of engine objekten (pass info to shader etc.)
- Event Handling
- Input
- Keyboard
- Mouse
- VIEWs for layered rendering
These instructions are only for building the core of the engine. Building the tools requires a complex setup yet to be simplified.
- Latest master Zig in
$PATH
- glslangValidator, available in most package managers
- gnu make
- gnu binutils
- 7-zip command line util (
7z
) - qt5-base for
rcc
SDL2
SDL2_mixer
- Prepare the resource environment (
make -C resource
) - Build the engine (
zig build
) - Test it (
./zig-cache/bin/rotating-cube
)
Acknext is published under the zlib licence.
The following libraries are used and have the following licences:
Library | Licence | Static Linking | Dynamic Linking | Requires Credits |
---|---|---|---|---|
SDL2 | zlib | ✓ | ✓ | ✗ |
SDL_mixer | zlib | ✓ | ✓ | ✗ |
ODE | BSD 3-Clause | ✓ | ✓ | ✓ |
gl3w | Public Domain | ✓ | ✓ | ✗ |
glm | MIT | ✓ | ✓ | ✓ |
imgui | MIT | ✓ | ✓ | ✓ |
json | MIT | ✓ | ✓ | ✓ |
physfs | zlib | ✓ | ✓ | ✗ |
stb | MIT | ✓ | ✓ | ✓ |
zlib | zlib | ✓ | ✓ | ✗ |