A 2D top-down dungeon crawler game developed in Java using Swing and AWT. Navigate through rooms, defeat enemies, collect items, and defeat the final boss.
- Fixed Save/Load System: Robust serialization that preserves game state, player attributes, and room configurations.
- Dynamic Dungeon Generation: Randomly generated room contents and enemy placements.
- Diverse Enemies: Multiple enemy types with unique movement and attack behaviors.
- Combat System: Projectile-based combat with upgrades and item interaction.
- Java JDK: 17 or newer (Fully compatible with Java 25).
- Gradle: 9.3.1 (Included via Gradle Wrapper).
Clone the repository to your local machine:
git clone https://github.com/woodj/finding-of-i-zack.git
cd finding-of-i-zackYou can run the game directly using the provided Gradle Wrapper:
./gradlew runGenerates an executable JAR in build/libs/.
./gradlew buildAfter building, you can run the standalone JAR:
java -jar build/libs/The-Finding-Of-I-Zack.jarExecutes the JUnit 4 test suite.
./gradlew testCheck code quality using Checkstyle.
./gradlew checkstyleMain| Action | Key |
|---|---|
| Movement | W, A, S, D |
| Shoot | Arrow Keys (Up, Left, Down, Right) |
| Menu / Pause | ESC |
| Interact | Collision-based |
src/main/java: Core game logic and engine.src/main/resources: Game assets (sprites, backgrounds, icons).src/test/java: Comprehensive JUnit test suite..github/workflows: Automated CI/CD pipelines.
This project is licensed under the MIT License - see the LICENSE file for details.