Skip to content

TeamRetro/acknext

 
 

Repository files navigation

acknext

A game engine prototype loosely inspired by the Acknex A8 engine.

Features

  • 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

Building (Linux)

These instructions are only for building the core of the engine. Building the tools requires a complex setup yet to be simplified.

Dependencies

  • 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

Build Steps

  1. Prepare the resource environment (make -C resource)
  2. Build the engine (zig build)
  3. Test it (./zig-cache/bin/rotating-cube)

Licence

Acknext is published under the zlib licence.

External libraries

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

About

A game engine prototype loosely inspired by the Acknex A8 engine.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.6%
  • C 17.1%
  • GLSL 5.4%
  • HTML 3.0%
  • QMake 2.7%
  • Zig 1.0%
  • Other 1.2%