Ricky's Adventure is an interactive 2D side-scrolling platformer game built from scratch using Java, the libGDX framework, and the Box2D physics engine. Designed with a structured Object-Oriented Programming (OOP) architecture, this project features accurate physics collisions, dynamic Tiled Map integration, and custom game state management.
Want to test the game directly without cloning or building the source code?
- Ensure you have Java (JRE/JDK 8 or higher) installed.
- Download the pre-built executable Ricky.jar.
- Double-click
Ricky.jaror run it via terminal:java -jar Ricky.jar
-
Box2D Physics Engine: Accurate character movement, jump physics, gravity handling, and sensor collision detection using a calibrated Pixels Per Meter (PPM = 16) ratio.
-
Tiled Map Integration: Dynamic
.tmxlevel loading handling layers for terrain, sensors, player spawn points, and interactive objects. -
Sprite Management & Animation: Smooth frame-based character animations for idle, running, jumping, and enemy sprites.
-
Varied AI Enemy System:
-
SnakeEnemy: Standard patrol enemy. -
BaldEnemy: Advanced enemy with dual HP and dynamic animation rendering. -
Implemented wall & edge detection so enemies automatically turn around at platform ends.
-
Parallax Background System: Multi-layered background rendering that moves dynamically with the orthographic camera.
-
Complete Game Loop & Flow: Features a heads-up display (HUD) tracking lives & scores, smooth level transitions, and game states (Main Menu, Game Over with Continues, Win Screen).
- Language: Java (JDK 8 / 11 / 17)
- Framework: LibGDX
- Physics Engine: Box2D
- Map Editor: Tiled Map Editor
- Build Tool: Gradle
| Layer Name | Layer Type | Technical Function |
|---|---|---|
| Ground | Object Layer | Solid physics platform for player and enemy collisions |
| Ladder | Object Layer | Sensor object enabling climbing mechanics |
| DeadZone | Object Layer | Danger zone sensors triggering Game Over events |
| Finish | Object Layer | Level completion trigger sensor |
| Chest | Object Layer | Collectible chest / coin objects |
| Spawn | Object Layer | Player start location coordinate |
| Enemies | Object Layer | Dynamic enemy spawn points with custom properties (snake, bald) |
- Java Development Kit (JDK 8 / 11 / 17)
- Git installed on your system
- Clone the repository:
git clone [https://github.com/anugrahiman5/Ricky_Adventure.git](https://github.com/anugrahiman5/Ricky_Adventure.git)
- Navigate to directory:
cd Ricky_Adventure
- Run the desktop launcher:
# On Windows
gradlew.bat desktop:run
# On macOS / Linux
./gradlew desktop:run
- Left / Right Arrows: Move character Left / Right
- Up / Down Arrows: Climb ladders
- Spacebar: Jump
- Enter: Continue to next level / Retry on Game Over
- Escape: Return to Main Menu
- Character & Tilemap Assets created by Buch.
- Assets are licensed under Free for Personal / Educational Use.