


Details
The Game
The Slimetastic Adventure is a single-player platformer for PC and laptop. You play as a slime inside a cave environment, presented in a 2D pixel art style. To reach the goal, you must catapult yourself upward and cling to walls along the way. Ice blossoms and slippery ice walls, as well as salt surfaces, constantly try to prevent your ascent, while checkpoints allow you to recover and continue your run.
The game relies on skill-based movement, combining a unique jumping mechanic with the ability to grab onto specific surfaces in order to climb all the way to the top. Unlike most platformers, the core progression is vertical rather than horizontal, focusing entirely on upward movement.
Key Features and Elements:
-
Movement by pulling back and releasing the slime to control jump force
-
Ability to cling to specific walls and surfaces
-
Hazards such as salt pillars/surfaces and shooting ice blossoms
-
Checkpoints for progression and recovery
-
Rising water as a constant pressure mechanic
-
Timer that tracks completion time upon reaching the goal
-
Firefly lighting elements to enhance environmental atmosphere

Process and Insights into my Work

Pull and Catapult
When the left mouse button is pressed on the player while the game is active, a drag action is initiated, provided the cursor is within the player’s collider. The mouse position is converted into world coordinates, and a LineRenderer is used to visualize both the direction and strength of the pull. The maximum drag distance is clamped.
On releasing the mouse button, an impulse force is calculated based on the opposite drag direction and the drag distance, and applied to the player via Rigidbody2D.AddForce. This results in a controlled, physically consistent launch movement.
.png)

Ice Shard Damage and Regeneration at the Checkpoint
The player has five lives, visually represented through a GameObject array. Upon collision with objects tagged as “Danger” or “Bullet”, the life counter is reduced. The corresponding heart in the array is deactivated, removing it from the UI.
When the player enters an area tagged as “Checkpoint”, all hearts are reactivated—provided this has not already occurred—and the life counter is reset to 5. In addition, a checkpoint animation is triggered.


Fireflys
At the start, the movement boundaries (topLeftEdge, bottomRightEdge) are calculated. A random target position within a small radius is then assigned, and a coroutine is started to define the firefly’s lifetime, randomly ranging between 10 and 20 seconds.
In Update(), the firefly continuously moves toward its current target position using MoveTowards. Once it gets close enough, a new target position is generated, creating the appearance of natural, random drifting movement. After its lifetime expires, a new firefly is spawned within the defined area.
.png)

