Single-player top-down 2D graphical adventure RPG game made with Java and Swing. The game follows a man waking up in a dream-like world trying to find his way back to Earth. Implemented A* pathfinding for hostile entities and object-oriented programming principles in building the game.
- ESC - Open exit menu
- ENTER - Interact with menus and options
- WASD - Move up, left, down, and right.
- J - Attack
- K - Swing sword/Use tool
- L - Cast fireball attack
- T - display FPS and in-game coordinates
- E - Open inventory
- C - Open status and upgrades menus
- adventureGame2D: handles game creation, refreshing, UI creation and sound effects.
- entity: define player, passive/hostile entity and particle interactions within the game
- enums_and_constants: defines enum to be used for programming
- events: handles player interactive events
- monster: define hostile entities
- npc: define passive entities
- object: define in-game objects and tools usable by the player
- projectile: generate in-game projectiles and particle effects
- quotes: generate quotes for in-game usage
- tile: load graphics for game tiles and floors
- Character storyline
- Graphics rendering enhancements
- New game mechanics - knockback, special effects
- New attack and animation mechanics
- New monsters and bosses
- Additional sound effects