How danhladeia/ef-verso works
EF Verso is a browser-based 3D active-city learning game. The player enters through the main scene, creates or customizes a student, explores a modeled city, and can engage missions and sports minigames whose progress/rewards are persisted locally. README and excerpts establish the city, avatar, basketball, football, volleyball, and shared reward workflows; additional listed product modules are retained where their role is evident, but unsampled wiring is not asserted.
Main entry points: main.js Game Scene · student-character.js Student Character · hoops-match.js Basketball Match · soccer-match.js Football Match
Components 32
Game Runtime
- Game Scene
src/main.js
City Exploration
- City World
src/city-world.js - City Layout
src/city-layout.js - Navigation
src/navigation.js - Flight
src/flight.js - Adventure
src/adventure.js - Traffic
src/traffic.js - Travel
src/travel.js - Sky
src/sky.js - City Crowd
src/crowd.js
Student Identity
- Student Character
src/student-character.js - Wardrobe
src/customizer.js - Wardrobe Thumbnails
src/wardrobe-thumbnails.js
Learning Activities
- Onboarding
src/onboarding.js - Basketball Mission
src/mission.js - Theory
src/theory.js
Sports Games
- Basketball Match
src/hoops-match.js - Basketball Simulation
src/hoops-sim.js - Basketball Bots
src/hoops-bots.js - Football Match
src/soccer-match.js - Football Simulation
src/soccer-sim.js - Football Bots
src/soccer-bots.js - Volleyball Match
src/volley-match.js - Volleyball Simulation
src/volley-sim.js - Volleyball Bots
src/volley-bots.js - Skate Match
src/skate-match.js - Skate Simulation
src/skate-sim.js - Skaters
src/skaters.js
Progress State
- Counter Missions
src/quests.js - Cloud Save
src/cloud-save.js - Reward Wallet
src/quests.js
Other components
- Player
Connections 42
- Player → Game Scene: starts
src/main.js - Game Scene → City World: builds
src/main.js - City World → City Layout: reads roads
src/city-world.js - Game Scene → Navigation: creates
src/main.js - Game Scene → Flight: creates
src/main.js - Game Scene → Adventure: creates
src/main.js - Game Scene → Traffic: creates
src/main.js - Game Scene → Travel: creates
src/main.js - Game Scene → Sky: creates
src/main.js - Game Scene → Student Character: creates
src/main.js - Game Scene → Wardrobe: creates
src/main.js - Wardrobe → Student Character: configures
src/customizer.js - Wardrobe → Wardrobe Thumbnails: renders previews
src/customizer.js - Game Scene → Onboarding: creates
src/main.js - Game Scene → Basketball Mission: creates
src/main.js - Game Scene → Theory: creates
src/main.js - Game Scene → City Crowd: creates
src/main.js - City Crowd → Student Character: uses
src/crowd.js - Basketball Mission → Student Character: creates
src/mission.js - Basketball Mission → Reward Wallet: awards
- Game Scene → Basketball Match: creates
src/main.js - Basketball Match → Basketball Simulation: steps
src/hoops-match.js - Basketball Match → Basketball Bots: gets inputs
src/hoops-match.js - Basketball Bots → Basketball Simulation: reads state
src/hoops-bots.js - Basketball Match → Student Character: creates players
src/hoops-match.js - Game Scene → Football Match: creates
src/main.js - Football Match → Football Simulation: steps
src/soccer-match.js - Football Match → Football Bots: gets inputs
src/soccer-match.js - Football Bots → Football Simulation: reads state
- Football Match → Student Character: creates players
src/soccer-match.js - Game Scene → Volleyball Match: creates
src/main.js - Volleyball Match → Volleyball Simulation: steps
src/volley-match.js - Volleyball Match → Volleyball Bots: gets inputs
src/volley-match.js - Volleyball Match → Student Character: creates players
src/volley-match.js - Game Scene → Skate Match: creates
src/main.js - Skate Match → Skate Simulation: uses simulation
- Game Scene → Skaters: creates
src/main.js - Basketball Match → Counter Missions: creates missions
src/hoops-match.js - Football Match → Counter Missions: creates missions
src/soccer-match.js - Volleyball Match → Counter Missions: creates missions
src/volley-match.js - Counter Missions → Reward Wallet: persists rewards
src/quests.js - Game Scene → Cloud Save: initializes
src/main.js