Runs on windows & linux, macos port abandonded last year, ios abandoned many years ago.
Minimal launcher.exe + reloadable game.dll. reacts on disk change. Wrote my own system, then replaced it with CR and started contributing to that.
C++ full-game hot-reloadable code, even when run from Visual Studio. No global variables, virtual functions or function pointers for callbacks. This is to allow easy DLL code reload.
No classes or class methods, except for a few tiny containers. In the rare cases an API requires any of these, a minimal wrapper is put in the launcher exe, and is accessable via a passed context to the game.dll.
Debug stepping of sim frames, i.e. pause the game on all clients, then progress one sim-update.
Render thread and sim thread decoupled, each can be using different framerates. Renderinfo is pushed from sim thread to render thread and interpolated just in time to render. App can be set to serially coupled 1:1 mode for easier debugging.
Custom buildsystem compile.cpp starts by first rebuilding itself, then generating a Tup Tupfile which avoids unnecessary rebuilding and custom dependency rules.
Content compiler for Unity3d-scenes with referenced textures and models, spawnpoints and fbx-models (read with Assimp). Planning to use Godot or Blender for level design, but it was fun reverse-engineering Unity.
Arena/stack-based allocation for serialization of data. All content from the scene, sound files, animations, etc, are put in .pack-files with relative offsets in a TOC. These packs can be used as is in-game.
3d-positional Sound effects and music using SoLoud.