Maze Runner is a captivating and challenging top-down pixel-themed game, developed using Java and LibGDX framework, where players have to navigate through complex mazes. With a limited number of lives (3 to be exact), players must strategically maneuver their character, collecting a key and finding their way to the exit to claim victory. The game presents an exciting blend of exploration and strategy, set in a visually appealing pixel world.
This game is my Project for the first semester at TUM Campus Heilbronn, BIE.
- Players have to guide their character through complex mazes using the
arrow
keys. - The ultimate goal is to collect a key and reach the exit point.
- Players can also attack by pressing
A
on the keyboard.
- Players start with three lives.
- The maze is filled with dangers, including deadly traps and hostile mobs.
- Static traps pose a threat only when their fire is released; timing is key to avoid damage.
- Dynamic mobs roam the maze and can be defeated in combat. (They also have 3 lives)
- Speed Buff: Temporarily increases the player's speed, aiding in navigation and escape.
- Collectable Hearts: Scattered throughout the maze, these hearts provide additional lives, extending the player's chances of survival.
Players have a chance to construct their own maps. Maps are stored in Java properties
files format in the map
folder,
allowing easy customization and creation of new mazes.
Each file contains key-value pairs representing the maze's layout:
Values | Object Types | Properties |
---|---|---|
0 | Wall | Blocks the path |
1 | Player Spawn Point | Starting point for the player |
2 | Exit | Exit point of the maze |
3 | Static Trap | Stationary hazard |
4 | Dynamic Mob | Moving enemy |
5 | Key | Required to open the exit |
6 | Additional Hearts | Grants extra life |
7 | Speed Buff | Temporarily increases player's speed |
Each key in the properties file represents a coordinate in the format x,y
, while the value determines the type of object present at that location.
Maze Runner is built using a combination of robust technologies and frameworks, ensuring a seamless and immersive gaming experience. Here's a breakdown of the key technologies used:
- Java: The game is developed using Java, a versatile and powerful programming language. Specifically, Java Version 17.0.9 and JDK 17 were used during development.
- LibGDX: This is a comprehensive game development framework used to build Maze Runner. LibGDX simplifies the game development process, offering utilities for rendering, input handling, and more.
- Version: 1.12.1
- gdx-nativefilechooser: For file selection dialogs within the game. Version: 2.3.0
- Gradle: Used for automating the build process, managing dependencies, and setting up the project environment.
- Integrated with tools like IntelliJ IDEA through the Gradle plugin, facilitating a smooth development workflow.
- The Class structure of the project can be found here.
To get started with Maze Runner, you'll need to set up your development environment. This section guides you through the prerequisites and steps required to run the game on your machine.
Before you can run Maze Runner, ensure you have the following installed:
- Java: The game is developed in Java, so you will need Java installed to run it. You can download the latest version of Java from Oracle's Java Download Page.
- IDE of Your Choice: While Maze Runner can be built and run using any Java-compatible IDE, we recommend using an IDE such as IntelliJ IDEA (community edition suffices), Eclipse, or NetBeans for a smoother experience.
Once you have these prerequisites installed, you're ready to clone the repository and start exploring Maze Runner.
To import the Maze Runner game project into your IDE, follow the instructions specific to your development environment:
- Open IntelliJ IDEA or Android Studio.
- Select
File -> Open
and navigate to thebuild.gradle
file in your project. - Choose
Open as Project
.
- Open Eclipse.
- Choose
File -> Import... -> Gradle -> Existing Gradle Project
. - Make sure that your freshly generated project is not located inside your workspace.
- Open NetBeans.
- Select
File -> Open Project
.
After importing the project, you might need to refresh the Gradle project if some dependencies weren't downloaded yet:
- Click the
Reimport all Gradle projects
button, which is represented by a pair of circling arrows at the top left in the Gradle tool window. This window can be accessed viaView -> Tool Windows -> Gradle
.
- Right-click on your project and select
Gradle -> Refresh Gradle Project
.
If you want to execute your freshly imported project, you have to follow different steps, depending on your IDE and the platform you are targeting.
- Extend the Gradle tab on the right sight of your window
- Expand the tasks of your project and then select and run:
desktop -> Tasks -> other -> run
.
Alternatively, you can create a run configuration:
- Open the
DesktopLauncher
class. - Follow the steps described in the picture below.
- Make sure to set up the configuration as below.
Note: The VM Option
XstartOnFirstThread
is only required if you are running on macOS. Otherwise, delete this option.
Apply
the changes andRun
the project.
-
TileSets and Animated Entites
-
Background Music