How 350312/rpg-game works
Monpura Tales is a 2D action RPG, documented as a Java game and also represented by a web client. The player starts or loads a game, explores maps, fights monsters and the boss, collects keys and loot, improves gear through inventory and merchant interactions, and can save progress. The Java runtime centers on GamePanel; the web runtime centers on App and the game engine. The graph includes both implementations and the documented combat, exploration, and progression branches. Edges are limited to shown calls, source-index references, or README statements; unsampled connections are omitted.
Main entry points: engine.ts Game Engine · GamePanel.java Game Loop and Runtime · App.tsx Web App · MON_SkeletonLord.java Monsters and Boss
Components 24
Java Game Runtime
- Pathfinding
src/ai/PathFinder.java - Events and Cutscenes
src/main/EventHandler.java - Lighting and Cycle
src/environment/EnvironmentManager.java - Save and Load
src/data/SaveLoad.java - Game Loop and Runtime
src/main/GamePanel.java - Keyboard Input
src/main/KeyHandler.java - Java Launcher
src/main/Main.java
Java World and Progression
- Player and Combat
src/entity/Player.java - Entities and Projectiles
src/entity/Entity.java - Monsters and Boss
src/monster/MON_SkeletonLord.java - Maps and Tiles
src/tile/TileManager.java - Items and Interactives
src/object/OBJ_Key.java
Web Game Runtime
- Game Engine
web/game/engine.ts - Map Data
web/game/maps.ts - Item System
web/game/items.ts - Asset Loading
web/game/assets.ts - Audio
web/game/sound.ts - Canvas Renderer
web/game/renderer.ts
Web Interface
- Web App
web/App.tsx - HUD and Map
web/components/HUD.tsx - Inventory Screen
web/components/CharacterModal.tsx - Merchant Shop
web/components/MerchantShop.tsx - Virtual Controls
web/components/VirtualControls.tsx
Other components
- Player
Connections 33
- Java Launcher → Game Loop and Runtime: creates
src/main/Main.java - Game Loop and Runtime → Keyboard Input: registers input
src/main/GamePanel.java - Keyboard Input → Game Loop and Runtime: changes game state
src/main/KeyHandler.java - Game Loop and Runtime → Maps and Tiles: updates and draws
src/main/GamePanel.java - Game Loop and Runtime → Entities and Projectiles: updates and draws
src/main/GamePanel.java - Game Loop and Runtime → Lighting and Cycle: draws lighting
src/main/GamePanel.java - Game Loop and Runtime → Events and Cutscenes: owns events
src/main/GamePanel.java - Game Loop and Runtime → Pathfinding: uses pathfinder
src/main/GamePanel.java - Player and Combat → Entities and Projectiles: extends
src/entity/Player.java - Player and Combat → Monsters and Boss: attacks
- Player and Combat → Items and Interactives: uses items
src/entity/Player.java - Monsters and Boss → Entities and Projectiles: extends
src/monster/MON_SkeletonLord.java - Monsters and Boss → Items and Interactives: drops loot
src/monster/MON_SkeletonLord.java - Events and Cutscenes → Monsters and Boss: starts boss scene
- Game Loop and Runtime → Save and Load: delegates saves
src/main/GamePanel.java - Save and Load → Entities and Projectiles: serializes state
src/data/SaveLoad.java - Player → Web App: starts game
- Web App → Game Engine: initializes and controls
web/App.tsx - Web App → Asset Loading: preloads assets
web/App.tsx - Web App → HUD and Map: renders HUD
web/App.tsx - Web App → Inventory Screen: renders inventory
web/App.tsx - Web App → Merchant Shop: renders shop
web/App.tsx - Web App → Virtual Controls: renders controls
web/App.tsx - Game Engine → Map Data: loads map grids
web/game/engine.ts - Game Engine → Item System: creates items
web/game/engine.ts - Game Engine → Asset Loading: uses assets
web/game/engine.ts - Game Engine → Audio: plays effects
web/game/engine.ts - Canvas Renderer → Game Engine: reads game state
web/game/renderer.ts - HUD and Map → Game Engine: reads game state
web/components/HUD.tsx - Inventory Screen → Game Engine: updates inventory
web/components/CharacterModal.tsx - Merchant Shop → Game Engine: updates purchases
web/components/MerchantShop.tsx - Virtual Controls → Game Engine: dispatches controls
web/components/VirtualControls.tsx - Game Engine → Canvas Renderer: renders frame
web/game/renderer.ts