engine/docs
2025-08-10 18:31:20 -05:00
..
assets nicer VXGI settings, updated reference screenshot 2025-08-01 23:58:25 -05:00
bin.md barebones documentation, commit in case I butcher code migration 2025-08-10 18:31:20 -05:00
client.md barebones documentation, commit in case I butcher code migration 2025-08-10 18:31:20 -05:00
engine.md barebones documentation, commit in case I butcher code migration 2025-08-10 18:31:20 -05:00
ext.md barebones documentation, commit in case I butcher code migration 2025-08-10 18:31:20 -05:00
README.md barebones documentation, commit in case I butcher code migration 2025-08-10 18:31:20 -05:00

Engine Docs

Features

To be filled.

  • a Unity-like ECS + scene + asset system
    • entities stores components and behaviors
    • scenes load a tree of entities
    • entities are defined through JSON files which can reference assets or other JSON files, and can instantiate other entities
  • Lua to extend the engine
  • Garry's Mod-like hook system for dispatching events
    • events are dispatched through the hook system by sending objects hooks tied to a given name + payload type
  • Vulkan (or OpenGL) as the rendering backend
    • the Vulkan backend heavily makes use of an almost-GPU driven deferred rendering system
      • "G-buffer" can consist solely of IDs and depth, and all geometry information is then reconstructed during the deferred compute pass
        • optionally can fall back to a quasi-traditional setup of IDs, UVs, normals, and depth
      • shadow maps are rendered to each light's shadow maps
        • point lights are treated as a cubemap
      • optional light map baking
      • basic PBR shading
      • a sovlful (sloppy) VXGI for GI and reflections
      • hardware RT support via VK_KHR_ray_query
        • "full" VK_KHR_ray_tracing mode is partially broken
      • bloom and additional post processing
      • FSR2 or something cringe
    • OpenGL uses a very, very naive OpenGL 1.2 API with a homebrewed command recording system
      • pre-baked light maps can be loaded for lighting
  • ReactPhysics3D for physics
    • very loosely integrated
    • basic shapes and triangulated mesh collision and some form of ray queries
  • OpenAL for audio
    • Loads from .ogg or .wav files
      • Supports loading in full and streaming
    • very loosely integrated
  • Speech synthesis using vall_e.cpp
    • win64.gcc.vulkan binaries can be found here, if compiled with -DUF_USE_VALL_E
    • asynchronously synthesizes speech and plays back the PCM audio

Supported Systems

  • Windows
    • technically also Linux under Proton
  • Sega Dreamcast

Notices and Citations

Unless otherwise credited/noted in this repo or within the designated file/folder, this repository is licensed under AGPLv3 (I do not have a master record of dependencies).