How louisjham/bardstalevrnew works
The Bard’s Tale VR is a Three.js/WebXR role-playing game whose player journey moves from a retro-computer intro into the tavern, party outfitting, Skara Brae exploration, combat, and town services. src/main.js coordinates scene/state transitions and connects input, world time, and game systems. Combat, advancement, and service systems supply the RPG rules; UI and spatial interfaces expose them. The README documents several product capabilities whose internal wiring is not established by the sampled source, so those are shown as capabilities without speculative links.
Main entry points: main.js Game Coordinator · SkaraBraeStreetScene.js Skara Brae · FullVRTavern.js Tavern · GarthsShop.js Garth’s Shop
Components 23
World Experience
- Game Coordinator
src/main.js - Retro Intro
src/world/retro-room/RetroRoom.js - Tavern
src/world/FullVRTavern.js - Garth’s Shop
src/world/garths-shop/GarthsShop.js - Skara Brae
src/world/skara-brae/SkaraBraeStreetScene.js - City Grid
src/world/skara-brae/SkaraBraeGrid.js - Combat Arena
src/world/combat-zone/CombatArena.js - Bard Audio
src/audio/BardSinger.js
RPG Systems
- Combat Rules
src/core/combat/CombatEngine.js - Encounter Generation
src/core/encounter/EncounterGenerator.js - Monster Data
src/data/MonsterDatabase.js - Spell Compendium
src/data/SpellDatabase.js - Shop Inventory
src/data/ItemDatabase.js - World Clock
src/core/time/WorldTimeEngine.js - Advancement Rules
src/core/review-board/ReviewBoardEngine.js
Player Interfaces
- Grimoire
src/ui/spatial-hud/PalmBookMenu.js - Review Board UI
src/ui/ReviewBoardUI.js - Temple Services
src/ui/TempleUI.js - Roscoe’s Emporium
src/ui/RoscoeUI.js
XR Platform
- XR Manager
src/xr/XRManager.js - XR Rig
src/xr/XRRig.js - Locomotion
src/xr/FreeLocomotion.js
Other components
- Player
Connections 24
- Player → Game Coordinator: plays
- Game Coordinator → Retro Intro: starts intro
- Game Coordinator → Tavern: transitions to
- Game Coordinator → Garth’s Shop: opens
- Game Coordinator → Skara Brae: enters
- Game Coordinator → Combat Arena: opens combat
- Game Coordinator → City Grid: references
- Tavern → Bard Audio: plays performance
- Skara Brae → City Grid: uses map
- Skara Brae → Encounter Generation: requests encounters
- Encounter Generation → Monster Data: reads bestiary
- Combat Arena → Combat Rules: runs turns
- Combat Rules → Spell Compendium: looks up spells
- Garth’s Shop → Shop Inventory: uses inventory
- Game Coordinator → World Clock: updates clock
- Game Coordinator → Grimoire: controls grimoire
- Game Coordinator → Review Board UI: opens board
- Review Board UI → Advancement Rules: queries advancement
- Game Coordinator → Temple Services: opens services
- Game Coordinator → Roscoe’s Emporium: opens emporium
- Game Coordinator → XR Manager: initializes XR
- Game Coordinator → XR Rig: creates rig
- Game Coordinator → Locomotion: creates locomotion
- Locomotion → XR Manager: uses XR manager