Engine
The MEDIAN engine
A C++20 engine written for side-view action games. It owns its scene, renderer and simulation.
- C++20, built with CMake; runs on Windows and Linux
- SDL3 for the window, input, audio and GPU access; everything above that is ours
- One simulation shared by the game, the editor and the server
- Offline play needs no account and no server
- Headless test suites and scripted graphical scenarios check each change
Tools
The editor
Rooms, animation, prefabs, the world map and cutscenes are authored in one program, and played in place.
- Five workspaces: Level, Animator, Prefab, World and Sequence
- Play a room from inside the editor
- Rooms are drawn in stone exactly where they collide
- Recovery files are kept apart from authored scenes
Pipeline
Characters from parts
Characters are modelled and rigged in 3D, baked to layered sprites, then coloured and assembled by the game.
- One rig for every human; bodies, faces, hair and costumes are separate layers
- Each layer carries shade, colour channel and depth, so parts overlap correctly
- Colours come from palettes at run time: one bake, many looks
- The figures on this site are composed by the same rules the game uses
Experiment
Authoritative duels
A server-owned network session with two-player duels, built as a risk probe.
- The server owns the simulation; clients send input
- Tested over loopback, including injected faults
- Experimental: substantial work remains before it is a feature
Web
Medium Hub
This site and its web games: accounts, friends, a coin economy and an authoritative game server.
- TypeScript throughout: Next.js, a tRPC API and Colyseus game rooms
- A pure rules engine for Board, shared by bots, the simulator and the server
- Every coin change is a ledger row with an idempotency key