How nikhil0074-dev/interactive-ai-rpg-worldbuilder-game-master works
This is a browser-based, single-player AI-narrated RPG: players create a world and character, take actions, and receive rule-checked outcomes and narration that persist as campaign state. The frontend store and API client connect the UI to FastAPI routes; the application service orchestrates world generation, deterministic game rules, narration, and persistence. The README documents additional capabilities such as quests, combat, checkpoints, codex, and audio. Some subsystem links rely on README or SOURCE INDEX references rather than inspected implementations; uncertain links are omitted.
Main entry points: service.py Game service · combat_engine.py Combat · store.ts Game store · world_generator.py World generation
Components 26
Browser experience
- Game screens
frontend/components/GameLayout.tsx - Campaign setup
frontend/app/campaigns/new/page.tsx - Game store
frontend/lib/store.ts - API client
frontend/lib/api.ts - Procedural audio
frontend/lib/audio-manager.ts
Backend orchestration
- HTTP routes
backend/app/api/routes.py - Game service
backend/app/service.py - App setup
backend/app/main.py
World and narration
- World generation
backend/app/ai/world_generator.py - Game Master
backend/app/ai/game_master.py - Action interpretation
backend/app/ai/action_interpreter.py - LLM provider
backend/app/ai/provider.py - World template
backend/app/data/world_template.py
Deterministic game rules
- Rules content
backend/app/data/content.py - Action resolver
backend/app/game_engine/action_resolver.py - Scene and travel
backend/app/game_engine/scene.py - Combat
backend/app/game_engine/combat_engine.py - Inventory
backend/app/game_engine/inventory_engine.py - Progression
backend/app/game_engine/progression_engine.py - Quest rules
backend/app/game_engine/quest_engine.py - Shared rule helpers
backend/app/game_engine/common.py
Campaign persistence
- Game state
backend/app/models/state.py - Game events
backend/app/models/events.py - Campaign records
backend/app/db/models.py - Database session
backend/app/db/session.py
Other components
- Player
Connections 30
- Player → Campaign setup: configures world
README.md - Player → Game screens: plays
README.md - Game screens → Game store: dispatches actions
frontend/components/GameLayout.tsx - Campaign setup → API client: requests generation
- Game store → API client: calls
frontend/lib/store.ts - Game store → Procedural audio: controls playback
frontend/lib/store.ts - API client → HTTP routes: HTTP requests
- HTTP routes → Game service: delegates
backend/app/api/routes.py - App setup → HTTP routes: registers
backend/app/main.py - App setup → Game service: constructs
backend/app/main.py - Game service → World generation: generates worlds
backend/app/service.py - Game service → Game Master: requests narration
backend/app/service.py - Game service → Action interpretation: interprets actions
backend/app/service.py - World generation → LLM provider: generates stages
backend/app/ai/world_generator.py - Game Master → LLM provider: requests completion
backend/app/ai/game_master.py - Action interpretation → LLM provider: interprets text
backend/app/ai/action_interpreter.py - World generation → World template: uses template
backend/app/ai/world_generator.py - Game service → Action resolver: resolves actions
backend/app/service.py - Game service → Scene and travel: starts scenes
backend/app/service.py - Action resolver → Combat: dispatches combat
- Action resolver → Quest rules: updates quests
- Combat → Inventory: uses items
backend/app/game_engine/combat_engine.py - Combat → Progression: awards experience
backend/app/game_engine/combat_engine.py - Combat → Shared rule helpers: uses helpers
backend/app/game_engine/combat_engine.py - Inventory → Shared rule helpers: uses helpers
backend/app/game_engine/inventory_engine.py - Progression → Shared rule helpers: uses attributes
backend/app/game_engine/progression_engine.py - Game service → Game state: loads and saves
backend/app/service.py - Game service → Campaign records: persists campaigns
backend/app/service.py - Database session → Campaign records: initializes tables
backend/app/db/session.py - Combat → Rules content: reads rules data
backend/app/game_engine/combat_engine.py