How ulfben/kotte works
This is a C++ Bomberman-style game built on the Kotte foundations. The player-facing runtime starts in main, creates an Application, and runs frames that collect input, update gameplay, resolve timed bomb/blast events, apply world mutations, and render. The sampled code supports the central entity, spatial-query, and presentation responsibilities; the README is still an assignment template, so controls, objectives, extensions, and validation claims are undocumented. Some subsystem links are omitted where excerpts do not show the call.
Main entry points: application.cpp Frame orchestration · entity_store.cpp Entity store · main.cpp Game entry · spatial_grid.cpp Spatial index
Components 14
Game runtime
- Game entry
kotte/src/main.cpp - Frame orchestration
kotte/src/application.cpp - Bomb and blast rules
kotte/src/application.cpp - Enemy movement
kotte/src/application.cpp
World and entities
- Tile map generation
kotte/src/tile_map.cpp - Entity model
kotte/include/kotte/entity.hpp - Entity store
kotte/src/entity_store.cpp - Entity handles
kotte/include/kotte/entity_handle.hpp - Spatial index
kotte/src/spatial_grid.cpp - Seeded randomness
kotte/include/kotte/random.hpp
Presentation and platform
- Camera transform
kotte/src/camera.cpp - Render command queue
kotte/src/renderer.cpp - Window and frame
kotte/src/window.cpp
Other components
- Player
Connections 15
- Player → Game entry: starts game
kotte/src/main.cpp - Game entry → Frame orchestration: runs
kotte/src/main.cpp - Frame orchestration → Window and frame: owns frame loop
- Frame orchestration → Tile map generation: initializes world
- Frame orchestration → Entity store: creates entities
kotte/src/application.cpp - Frame orchestration → Spatial index: indexes entities
kotte/src/application.cpp - Frame orchestration → Bomb and blast rules: updates timed gameplay
kotte/src/application.cpp - Frame orchestration → Enemy movement: updates enemies
kotte/src/application.cpp - Frame orchestration → Camera transform: uses camera
- Frame orchestration → Render command queue: submits and draws
kotte/src/application.cpp - Entity store → Entity model: stores values
- Entity store → Entity handles: validates identity
- Spatial index → Entity handles: indexes references
- Frame orchestration → Entity model: reads entity state
kotte/src/application.cpp - Frame orchestration → Seeded randomness: chooses enemy heading
kotte/src/application.cpp