A Java-based Game Engine and Arcade Game.
BurgerMan is a custom game engine and arcade game implementation developed in Java inspired by the classic arcade game Pac-Man. It features a robust object management system, collision detection, and a behavior-based entity architecture.
Note: This project was developed as a group assignment for the Object Oriented Programming (POO) course at the University of Algarve (UALG). The Game Engine was custom-built specifically for this game to demonstrate core OOP principles. It's not perfect, but it works.
- Custom Game Engine: Dedicated engine implementation for efficient management of game objects, rendering, and updates.
- Collision Detection: Precise collision handling for solid objects and intersections.
- Behavior System: Modular behavior logic for players, enemies, and interactive objects.
- GUI Integration: Built-in graphical user interface for rendering and input handling.
- Sound Integration: Built-in sound handling for sound effects.
- Score System: Modular score logic for player.
- High Score System: Modular high score logic for player.
Use W A S D to move the player.
- Java Development Kit (JDK) 21 or higher.
- Git (to clone the repository).
-
Clone the repository:
git clone https://github.com/rodrigolinhas/burgerMan.git cd burgerMan -
Run the game:
./run.sh
-
Clone the repository:
git clone https://github.com/rodrigolinhas/burgerMan.git cd burgerMan -
Run the game: Double-click
run.bator run it from the command prompt:run.bat
These scripts automatically:
- Download necessary dependencies.
- Compile the source code.
- Copy assets (images, sounds, fonts).
- Launch the game.
If you prefer to run it manually:
-
Create build directories:
mkdir -p bin lib
-
Download dependencies: Download
annotations-24.0.0.jarfrom Maven Central and place it in thelibfolder. -
Compile:
javac -d bin -cp "lib/*" -sourcepath Game/src Game/src/gameEngine/Client.java -
Copy Assets:
cp -r Game/src/images Game/src/sounds Game/src/fonts bin/
-
Run:
java -cp "bin:lib/*" gameEngine.Client
-
Create build directories:
mkdir bin mkdir lib
-
Download dependencies: Download
annotations-24.0.0.jarfrom Maven Central and place it in thelibfolder. -
Compile:
javac -d bin -cp "lib/*" -sourcepath Game/src Game/src/gameEngine/Client.java -
Copy Assets:
xcopy "Game\src\images" "bin\images" /E /I /Y xcopy "Game\src\sounds" "bin\sounds" /E /I /Y xcopy "Game\src\fonts" "bin\fonts" /E /I /Y
-
Run:
java -cp "bin;lib/*" gameEngine.Client
Game/src/gameEngine: Core engine logic and main entry point.Game/src/collisions: Collision detection utilities.Game/src/gameEngine/object: Game entity definitions.Game/src/gameEngine/behaviour: Entity behavior logic.docs/: Project documentation and UML diagrams.assets/: Game assets and images.
Version: March 27, 2025
