- EchoSteps is a 2D Java-based arcade game built using the Swing library. In this game, the player navigates a grid-based map to collect coins while avoiding ghosts. With each level, the difficulty increases by introducing more ghosts and faster challenges. The game features smooth animations, sound effects, and a clean retro UI.
├── src/
│ └── echosteps/
│ ├── Main.java # Entry point of the game
│ ├── GamePanel.java # Main game panel and logic
│ ├── GameWindow.java # Game window management
│ ├── Player.java # Player character implementation
│ ├── Ghost.java # Ghost entity implementation
│ ├── Coin.java # Collectible items
│ ├── SoundManager.java # Sound system management
│ └── GameConstants.java # Game constants and configurations
├── assets/ # Game assets and resources
├── sounds/ # Sound files
└── .gitignore # Git ignore configuration
- 🎵 Interactive gameplay with sound-based mechanics
- 🎯 Player movement and controls
- 👻 Ghost entities with unique behaviors
- 💰 Coin collection system
- 🔊 Sound management system
- 🖼️ Custom game window and panel implementation
-
Manual game loop using Timer and event-driven updates
-
Custom rendering using Graphics2D and double buffering
-
Object-oriented structure with encapsulated game entities
-
Simple and extendable architecture for future enhancement
- Java Development Kit (JDK) 8 or higher
- Java Runtime Environment (JRE)
This project includes a Makefile to simplify common tasks. Below are the available commands:
The Makefile automates building, running, and cleaning the project.
-
make build
Compiles all Java source files fromsrc/into thebuild/directory and copies all assets fromresources/intobuild/. -
make run
Runs the main classechosteps.Mainusing the compiled files and resources inbuild/. -
make clean
Deletes thebuild/directory and all compiled files. -
make restart
Runsclean, thenbuild, thenrunin sequence to rebuild and start the project fresh.
From the project root, run any of the commands, for example:
make restartThe game is built using Java Swing for the graphical interface and includes custom implementations for:
- 🎮 Game mechanics
- 🔊 Sound management
- 👾 Entity behaviors
- 💥 Collision detection
- 🖥️ Window management
Thanks to these amazing people for their contributions:
- [Ahmed Nagy]
- [Abdelrahman Elaraby]
- [Mohamed Abdullah]
- [Ali Maher]
- [Fekry Ahmed]
- [Abdelrahman Mostafa]
- [Mazen Abdelrasheed]



