How holynova/mafa-survivor-game works
Mafa Survivor is a browser-based, single-player roguelite survivor game. The player configures a character and chapter, fights escalating monster waves, builds skills and equipment, and finishes a run whose results contribute to persistent progression. The graph separates the UI, simulation and rules, rendering and assets, and saved progression. The README documents the game’s classes, skills, waves, and bosses; unsampled implementation details are represented only where documented, and edges are limited to visible references or documented behavior.
Main entry points: renderer.ts Game Renderer · App.tsx Game UI · assetLoader.ts Asset Preloading · game.ts Run Simulation
Components 17
Game Play
- Browser Entry
src/main.tsx - Game UI
src/App.tsx - Run Setup
src/App.tsx - Run Controls
src/App.tsx - Build Choices
src/App.tsx
Simulation
- Run Simulation
src/game.ts - Combat and Waves
src/game.ts - Game Rules
src/rules.ts - Classes and Content
src/content.ts
Presentation and Assets
- Game Renderer
src/renderer.ts - Asset Preloading
src/assetLoader.ts - Sound System
src/audio.ts - Asset Cache
src/cache.ts - Mir Game Assets
public/assets/mir
Progression
- Profile Progression
src/save.ts - Run History
src/save.ts
Other components
- Player
Connections 20
- Browser Entry → Game UI: renders
src/main.tsx - Browser Entry → Run Simulation: boots
src/main.tsx - Browser Entry → Asset Preloading: preloads
src/main.tsx - Browser Entry → Game Renderer: boots
src/main.tsx - Player → Game UI: configures and plays
README.md - Game UI → Run Simulation: uses
src/App.tsx - Game UI → Profile Progression: loads and unlocks
src/App.tsx - Game UI → Run History: saves results
src/App.tsx - Run Simulation → Classes and Content: reads definitions
src/game.ts - Run Simulation → Game Rules: uses calculations
src/game.ts - Game Renderer → Run Simulation: renders state
src/renderer.ts - Game Renderer → Classes and Content: reads equipment
src/renderer.ts - Game Renderer → Sound System: plays sounds
src/renderer.ts - Game Renderer → Asset Preloading: receives manifest
src/renderer.ts - Asset Preloading → Sound System: prepares audio
src/assetLoader.ts - Asset Preloading → Asset Cache: fetches assets
src/assetLoader.ts - Sound System → Asset Cache: fetches audio
src/audio.ts - Asset Preloading → Mir Game Assets: loads manifests and atlases
src/assetLoader.ts - Profile Progression → Classes and Content: reads talents
src/save.ts - Run History → Profile Progression: grants progression
src/save.ts