Slime Busters

Game
Genre: Action


The project
This project was developed during my masters in game development. It was made with 2 other colleagues and development took about 4 months.
In this project I was the main designer and programmer. The environment and player models come from an asset pack while the slimes were modelled and animated by a colleague, who also animated the player character.

You can download the game on the Itch.io page
Game overview
A slime infestation has occurred, and it's up to you to stop it! Armed with a special vacuum cleaner, the player must find and catch all of the various types of slimes hiding in the various levels throughout the game.
With a Twin stick Controller layout, the player moves around the level, followed by a top-down looking camera. By using the mouse or right analog stick, they can point the vacuum cleaner in their desired direction and suck in the slimes.
Technical Stuff
To make the slimes jump, we used a at the time experimental package called "nav mesh link" which allows navmesh agents to jump from navmesh to navmesh.
the slimes also have an AI programmed by me that makes them move around the map by default, and run away to one of the furthest pre-placed waypoints when they spot the player.
This Ai, together with the navmesh link, makes the slimes much more challenging and engaging to catch as they can easily outmaneuver the player by quickly jumping from place to place.

This game contains dialog. To better flesh this out. I developed a "gibbish voices" system, much like the one we see in animal crossing.
by using the singing synthesizer software Neutrino, I generated 2 sets of AEIOU sounds , one with the "Nakumo" library and another with the "Kiritan" library, for male and female.
These sounds are then played then every 100 milliseconds while text is rolling with randomized pitch shifts.

Another important factor about this project was the implementation of a sound middleware called Wwise. The game contain 44 sound clips and they were all implemented through Wwise, which allowed us to implement sounds with various effects much better than the default unity's sound engine.
Gameplay
The main gameplay loop is finding and catching slimes in an open map. Each map has a set number of slimes that will be spawned for the player to catch.
Game over happens either when the player catches all remaining slimes or dies by reaching 0 health.
The Player
The main character is controlled with twin stick controls, the left stick(or wasd) controls movement while the right stick(or mouse) controls where to aim and use the vacuum cleaner at. The player is also able to jump to overcome obstacles.
The player has 3 health in total. When the player touches a slime, they are launched back, lose health and are granted 3 seconds of invincibility. Health can be recovered with health pickups.
The vacuum cleaner has energy that is spent when the player uses it and must be recharged in stations
The Slimes
Slimes come in various colours and formats, blue slimes being the basic one
Slimes spawn in fixed locations and roam the area, when the player gets close, they will enter an alert state and start running away. The slimes are able to jump on top of certain objects or jump from platform to platform to quickly escape the player.
The slimes each have their own health value, that runs out when they are being vacuumed by the player. If their health is not full, then they will start regenerating health if not being vacuumed.