How kaguyo/blitz works
Blitz appears to be a canvas-based action game wrapped as a Wails desktop application. Its visible runtime loop initializes a player and character, loads default scenery, then repeatedly handles input, generates the stage, updates and draws the character, and renders the HUD. The tree suggests separate character movesets, animations, attributes, and HUD widgets, but their detailed wiring is not fully sampled. The README describes the Wails template rather than game features, so the game map is based on the sampled entry point and source names.
Main entry points: main.ts Game Loop · player.ts Player · character.ts Character · listeners.ts Input Listeners
Components 14
Gameplay
- Player
frontend/src/scripts/players/player.ts - Input Listeners
frontend/src/scripts/listeners/listeners.ts - Game Properties
frontend/src/scripts/options/gameProperties.ts - Game Loop
frontend/src/main.ts
Character System
- Character
frontend/src/scripts/characters/character.ts - Character Movesets
frontend/src/scripts/characters/movesets - Character Animations
frontend/src/scripts/characters/animations - Character Attributes
frontend/src/scripts/characters/properties/attributes.ts
Presentation
- Stage 1
frontend/src/scripts/scenery/stage1.ts - HUD Renderer
frontend/src/scripts/hud/hud.ts - Character HUD Widgets
frontend/src/scripts/hud/characterHud
Desktop Shell
- Wails App
main.go - Go App Binding
app.go
Other components
- Player
Connections 10
- Game Loop → Player: creates and updates
- Game Loop → Input Listeners: loads defaults
- Game Loop → Stage 1: generates stage
- Game Loop → Player: draws player
- Game Loop → HUD Renderer: generates HUD
- Game Loop → Game Properties: sets contexts
- Player → Character: uses active character
- Character → Character Attributes
- Player → Input Listeners: provides input
- Wails App → Go App Binding: starts and binds