How ominousindustries/opusskate works
OpusSkate is a single-file C++ street-skating game. The principal workflow is keyboard input into free-skate or timed-session play, where the player rides and performs tricks in a generated city, builds a combo and score, and sees game state through the HUD. The file also contains procedural world, shader, character/NPC, and presentation code. Excerpts are partial, so the graph omits uncertain wiring and does not imply separate modules.
Main entry points: skate.cpp 3D rendering
Components 16
Skating and scoring
- Player controls
skate.cpp - Ride and tricks
skate.cpp - Combo scoring
skate.cpp - Session modes
skate.cpp
Game world
- City generation
skate.cpp - Collision world
skate.cpp - Skate obstacles
skate.cpp - NPC paths
skate.cpp
Rendering and presentation
- Scene shaders
skate.cpp - 3D rendering
skate.cpp - HUD screens
skate.cpp - Generated assets
skate.cpp
Runtime
- Application entry
skate.cpp
Other components
- SDL2
- OpenGL
- Player
Connections 16
- Player → SDL2: provides input
- SDL2 → Player controls: input events
- Player controls → Ride and tricks: controls
- Ride and tricks → Combo scoring: adds tricks
- Session modes → Combo scoring: tracks score
- City generation → Collision world: adds geometry
- City generation → Skate obstacles: places features
- NPC paths → Collision world: samples paths
- 3D rendering → Scene shaders: uses
- 3D rendering → Collision world: renders scene
- 3D rendering → OpenGL: draws with
- Generated assets → 3D rendering: supplies assets
- HUD screens → Session modes: shows score
- Application entry → SDL2: uses
- Application entry → 3D rendering: runs
- Application entry → HUD screens: updates screens