How holynova/woool-survivor-game works
Woool Survivor is a browser-based 2.5D survivor RPG. The player chooses a class, chapter, and difficulty in the React lobby; the game engine runs combat, waves, progression, and win/loss state; Phaser renders the battle while the UI presents status and level-up choices. The README also documents six themed maps, original animated assets and equipment, and four difficulty curves. The graph follows the excerpts and SOURCE INDEX; unsampled UI and engine details are represented only at subsystem level.
Main entry points: App.tsx Lobby and HUD · renderer.ts Phaser Renderer · game.ts Game Engine · audio.ts Audio Manager
Components 16
Browser Client
- React Entry
src/main.tsx - Lobby and HUD
src/App.tsx
Game Runtime
- Game Engine
src/game.ts - Phaser Renderer
src/renderer.ts - Audio Manager
src/audio.ts - Asset URL Helper
src/utils.ts
Game Rules
- Chapter Rules
src/config/chapters.ts - Difficulty Curves
src/config/curves.ts - Skills and Relics
src/config/skills.ts - Game State Types
src/types.ts
Game Assets
- Chapter Maps
public/assets/woool/maps - Character Sprites
public/assets/woool - Skill Animations
public/assets/woool/skills_fx - Sound Effects
public/assets/sound
Other components
- Player
- Browser
Connections 20
- Browser → React Entry: loads app
src/main.tsx - React Entry → Lobby and HUD: renders
src/main.tsx - Player → Lobby and HUD: chooses and navigates
- Lobby and HUD → Game Engine: reads and controls
src/App.tsx - Lobby and HUD → Phaser Renderer: boots
src/App.tsx - Lobby and HUD → Chapter Rules: presents choices
src/App.tsx - Lobby and HUD → Difficulty Curves: presents choices
src/App.tsx - Lobby and HUD → Skills and Relics: presents upgrades
src/App.tsx - Lobby and HUD → Audio Manager: uses
src/App.tsx - Game Engine → Chapter Rules: reads chapter rules
src/game.ts - Game Engine → Difficulty Curves: evaluates waves
src/game.ts - Game Engine → Skills and Relics: applies abilities
src/game.ts - Game Engine → Audio Manager: plays effects
src/game.ts - Phaser Renderer → Game Engine: renders game state
src/renderer.ts - Phaser Renderer → Asset URL Helper: resolves asset URLs
src/renderer.ts - Audio Manager → Asset URL Helper: resolves sound URLs
src/audio.ts - Phaser Renderer → Chapter Maps: loads maps
src/renderer.ts - Phaser Renderer → Character Sprites: loads sprites
- Phaser Renderer → Skill Animations: loads animations
- Audio Manager → Sound Effects: loads samples
src/audio.ts