How rufl/kookie works
KOOKIE is an experimental 3D shooter engine and game built around Kof, with authoritative multiplayer, a bounded content pipeline, persistence, and native platform adapters. The principal workflow runs player commands through client prediction and server authority, which resolves gameplay and returns snapshots and feedback; authored assets are validated and cooked into packages for runtime use. The README documents these boundaries and relationships, but most Kof implementation files were not sampled, so the graph uses documented relationships and directory paths for unsampled subsystems.
Main entry points: authoritative_session.kf Server authority · remote_endpoint.kf Client session · g1_arena.kf Arena world · cooker.kf Asset intake and cooker
Components 21
Game runtime
- Runtime entry
src/main.kf - Client session
src/session/remote_endpoint.kf - Server authority
src/session/authoritative_session.kf - Game presentation
src/ui/game_shell.kf
Gameplay systems
- Arena world
src/world/g1_arena.kf - Combat and rewards
src/core/combat.kf - Items and progression
src/core/item_inventory.kf - Movement and collision
src/core/movement.kf
Content and creator tools
- Asset intake and cooker
src/content/cooker.kf - Canonical packages
src/content/package.kf - Creator workspace
src/ui/creator_workspace.kf
Persistence and replay
- Save and migration
src/core/save_file.kf - Replay records
src/core/replay_file.kf
Native boundaries
- UDP transport
native/kookie_transport.c - SDL presentation
native/kookie_sdl_adapter.c - Pixel font
native/kookie_pixel_font.h - Durable publication
native/kookie_persistence_adapter.c - SIMD dispatch
native/kookie_simd_dispatch.c - Windows shell
scripts/kookie_windows_shell.c
Other components
- Player
- Asset authors
Connections 23
- Player → Client session: sends input
README.md - Client session → Server authority: sends commands
README.md - Server authority → Client session: returns snapshots
README.md - Server authority → Arena world: resolves world
README.md - Server authority → Combat and rewards: resolves combat
README.md - Server authority → Items and progression: awards progression
README.md - Client session → Movement and collision: predicts movement
README.md - Server authority → Movement and collision: reconciles movement
README.md - Client session → UDP transport: exchanges commands
README.md - Server authority → UDP transport: exchanges snapshots
README.md - Player → Runtime entry: starts runtime
README.md - Runtime entry → Game presentation: runs game UI
README.md - Game presentation → SDL presentation: renders and plays audio
README.md - SDL presentation → Pixel font: uses glyph data
native/kookie_sdl_adapter.c - Asset authors → Asset intake and cooker: submits assets
README.md - Creator workspace → Asset intake and cooker: edits and cooks
README.md - Asset intake and cooker → Canonical packages: emits products
README.md - Canonical packages → Arena world: loads runtime content
README.md - Server authority → Save and migration: persists state
README.md - Save and migration → Durable publication: publishes save
README.md - Server authority → Replay records: records replay
README.md - Arena world → SIMD dispatch: uses measured dispatch
README.md - Player → Windows shell: uses native shell
README.md