How elliottwahl/steel-blossom-psp works
Steel Blossom is a controller-driven 2D action game for PSP and PS Vita. The intended play loop begins at the main menu, proceeds through waves of enemies, and ends when the player or wave progression reaches a terminal state. The source excerpts show player combat against enemies, enemy AI attacking the player, and wave definitions; however, they do not expose the screen-transition or wave-spawning code, so those connections are left out. The graph focuses on sampled runtime behavior and the principal gameplay subsystems.
Main entry points: Player.cpp Player combat · AssetManager.cpp Asset manager · Main.cpp Game loop · Ghoul.cpp Ghoul AI
Components 16
Game runtime
- Game loop
src/core/Main.cpp
Screens and waves
- Screen state
src/screens/GameState.h - Main menu
src/screens/main menu/MainMenu.cpp - Wave screen
src/screens/wave/WaveScreen.cpp - Wave definitions
src/screens/wave/WaveManager.cpp
Combat entities
- Player combat
src/entities/player/Player.cpp - Enemy behavior
src/entities/Enemy.cpp - Ghoul AI
src/entities/ghoul/Ghoul.cpp - Spitter AI
src/entities/spitter/Spitter.cpp - Blood King
src/entities/blood king/BloodKing.cpp - Hoarder
src/entities/hoarder/Hoarder.cpp - Widow
src/entities/widow/Widow.cpp - Other enemies
src/entities - Health tracking
src/components/HealthComponent.cpp
Shared resources
- Asset manager
src/core/AssetManager.cpp
Other components
- Game controller
Connections 20
- Game controller → Game loop: sends input
- Game loop → Main menu: starts screen
- Game loop → Screen state: dispatches events
- Game loop → Screen state: draws current
- Game loop → Asset manager: preloads assets
- Main menu → Asset manager: uses assets
- Player combat → Enemy behavior: damages enemies
- Player combat → Health tracking: updates health
- Enemy behavior → Health tracking: tracks health
- Ghoul AI → Player combat: attacks player
- Ghoul AI → Asset manager: gets resources
- Spitter AI → Player combat: fires at player
- Spitter AI → Asset manager: gets resources
- Blood King → Player combat: attacks player
- Blood King → Asset manager: loads texture
- Hoarder → Player combat: attacks player
- Hoarder → Asset manager: gets resources
- Widow → Player combat: attacks player
- Widow → Asset manager: gets resources
- Wave definitions → Wave screen: provides wave data