
Here's a progress update since the previous post about my game engine. A full description of what and why it is is here.
That post was ~400 commits and a full LDJAM game ago. Since then, a lot has changed — some systems were refactored, others rewritten, and more than a few bugs were put out of their misery.
Clap is a low-level, minimal-dependency, C-based game engine, and it just hit its v0 milestone. It didn't have any version before, but at a 5-year mark and 1863 commits, I figured it's time.
Highlights since the previous post
- Color grading via LUTs, including procedural LUT generation
- Variance Shadow Maps (VSM): no more aliasing and peter-panning
- SSAO (screen-space ambient occlusion) — because subtle shadows matter
- PBR-style lighting with metallic + roughness support
- Distance-based LOD and entity scaling (using
meshoptimizer)
- Dynamic resolution scaling for shadow maps
- Touch events → mouse input conversion for WebAssembly
- Towards the Light can now be completed on a smartphone
- Debug UI is now usable with a touchscreen
- Real-time render debugger / controller via ImGui
- Entity inspector as well as light, character etc controls via ImGui
The WASM/"HTML5" build remains (and will continue to remain) a first-class citizen and not an afterthough.
Live demo: http://ash.works/clap/main/ldjam57test/
There's also a full list of live demos and executables.
Also, v0 release.
What's probably going to happen next
- Metal renderer: because MacOS's OpenGL is on life support
- Various rendering tricks/eye candy
- Procedural geometry/playspace/etc
- Scene serialization / saving changes from the in-place editor
- UI overhaul
- Boring things like entity system/multithreading/specialized memory allocators
What's not going to happen
- A standalone editor with "Run" and "Export" buttons
- Scripting language integration (lua or homespun) in which to write gameplay logic
Screenshots
SSAO (screen space ambient occlusion)
Somebody said that it's one of those features that you didn't know you needed, until you got it.

"Comic red" color grading
The inspiration for this was Sin City, and maybe it doesn't quite get to the cinematographic quality of it, it definitely does bring out comic book vibes.

"Matrix green" color grading with matching UI
This is just a must have. Also shows scene control, entity inspector, render passes in the pipeline and a debug preview of the edge detection pass that generates extra thick outlines in the scene.

If you like what you see, come give us a star: 
If you're interested in low-level multi-platform no-nonsense 3D game engine development in C — come take a look:
https://github.com/virtuoso/clap
And thanks again to the folks who commented on the previous post and our LD57 game, including, but not limited to, @geckoo1337.