How cerkal/wookster works
Wookster is a Java 2D adventure game. The player starts the game, explores tile-based levels, interacts with characters and objects, and progresses through quests and combat. Runtime responsibilities span the Swing game entry point, level and tile world, entities and combat, and inventory/progression and presentation. The tree and excerpts establish several interactions, but GamePanel and most subsystem source were not sampled; uncertain wiring is omitted rather than inferred.
Main entry points: EventHandler.java World events · objects World objects · Player.java Player entity · KeyHandler.java Keyboard handler
Components 19
Game runtime
- Game startup
src/main/java/main/Main.java - Game panel
src/main/java/main/GamePanel.java - Keyboard handler
src/main/java/main/KeyHandler.java
World and levels
- Level manager
src/main/java/main/LevelManager.java - Level base
src/main/java/levels/LevelBase.java - Level content
src/main/java/levels - Tile manager
src/main/java/tile/TileManager.java - World events
src/main/java/main/EventHandler.java
Actors and combat
- Player entity
src/main/java/entity/Player.java - NPCs and animals
src/main/java/entity - Weapons and projectiles
src/main/java/objects/weapons - Projectile manager
src/main/java/objects/projectiles/ProjectileManager.java
Progression and items
- World objects
src/main/java/objects - Spells
src/main/java/spells - Quest manager
src/main/java/main/QuestManager.java
Player interface
- Game UI
src/main/java/main/UI.java - Vendor screen
src/main/java/main/VendorScreen.java - Sprite animation
src/main/java/entity/SpriteManager.java
Other components
- Player input
Connections 19
- Player input → Keyboard handler: presses keys
- Game startup → Game panel: creates and starts
- Keyboard handler → Game panel: changes game state
- Keyboard handler → Game UI: opens inventory
- Level manager → Level base: loads, updates, draws
- Level base → Level content: loads level
- Level manager → Game panel: saves config
- World events → Tile manager: chooses hazard tiles
- World events → Player entity: checks collision; applies effects
- World events → Game UI: displays dialogue
- World events → Spells: applies random spell
- Level content → Quest manager: adds and completes quests
- World objects → Player entity: updates inventory
- World objects → Tile manager: updates walkability
- World objects → Game UI: stops dialogue
- World objects → Vendor screen: opens vendor
- Player entity → Spells: stores active spells
- Projectile manager → Weapons and projectiles: draws projectiles
- Sprite animation → Player entity: selects animation from state