How okmanbro2/taro2-pvz works
This repository is a customized Taro-based HTML5 multiplayer game runtime, configured around a game.json, with browser gameplay and a Node server. A player joins a game, receives networked game state, interacts with entities and game systems, and sees the world through a renderer. The client excerpt confirms component setup, map loading, physics setup and network connection; sampled server code confirms auth, skin and leaderboard endpoints. The tree and README document editor, badge and account capabilities, but their full runtime wiring was not sampled.
Main entry points: server.js Web server · client.js Client startup · Unit.js Game entities · TaroNetIoComponent.js Network transport
Components 23
Runtime and game data
- Game configuration
- Server entry
server/taro.js - Web server
server/server.js - Client startup
src/client.js - Taro engine
engine/core/TaroEngine.js
Gameplay systems
- Game component
src/gameClasses/components/GameComponent.js - Map and regions
src/gameClasses/components/MapComponent.js - Region manager
src/gameClasses/components/RegionManager.js - Game entities
src/gameClasses/Unit.js - Inventory and shop
src/gameClasses/components/InventoryComponent.js - Quests and scripts
src/gameClasses/components/quest/QuestComponent.js - Physics
engine/components/physics/box2d/Box2dComponent.js
Client presentation
- Client renderer
ts/src/renderer/phaser/PhaserRenderer.ts - Three renderer
ts/src/renderer/three/Renderer.ts - In-game editor
ts/src/renderer/phaser/classes/devmode/DevModeTools.ts
Multiplayer services
- Network transport
engine/components/network/net.io/TaroNetIoComponent.js - Server game events
server/ServerNetworkEvents.js - Client game events
src/gameClasses/ClientNetworkEvents.js
Accounts and progression
- Firebase auth
server/firebaseAdmin.js - Player data
server/playerData.js - Badges
server/badges.js - Skin service
server/skins.js
Other components
- Player
Connections 27
- Player → Web server: opens game
- Game configuration → Web server: loads game
- Web server → Client startup: serves client
- Server entry → Web server: starts
- Client startup → Taro engine: configures
- Client startup → Game component: adds component
- Client startup → Map and regions: loads map
- Client startup → Region manager: adds component
- Client startup → Physics: configures
- Client startup → Network transport: connects
- Game component → Game entities: manages gameplay
- Map and regions → Region manager: creates regions
- Game entities → Physics: uses physics
- Game entities → Client renderer: renders entities
- Game entities → Three renderer: renders entities
- Player → Client game events: interacts
- Client game events → Inventory and shop: dispatches actions
- Client game events → Network transport: receives messages
- Network transport → Server game events: delivers events
- Server game events → Network transport: sends updates
- Web server → Firebase auth: verifies tokens
- Web server → Player data: loads leaderboard
- Web server → Skin service: equips skins
- Web server → Badges: serves badges
- In-game editor → Map and regions: edits map
- Player → In-game editor: edits game
- Quests and scripts → Game component: extends gameplay