Dungeonball

This project is a demake of the Sokpop game Dungeonball. It is a dodgeball, dungeon crawler, and roguelike game. The player uses dodgeballs and other objects to survive and descend through the dungeon. They are able to pick up and throw these objects at the enemies in order to defeat them and interact with the environment like breaking doors to continue. There are some items that have specific purposes like a key to open locked doors and health potions to regain health after taking damage. Additionally, after every level the player can choose between different upgrades or items to assist them on the following levels.

 

Here are some of the more interesting things implemented. Hit, grab, and throw receivers which handled most of the interaction between objects as then I did not have to specify every unique interaction for all the different enemies and objects. Improved upon this by making grabbable and throwable scripts that could then be added to any object, which in conjunction with the receivers allows for many new objects to be added with the major limiter being the modeling. I also used breakable objects that had multiple components, specifically an original and the broken version. I then used a parent object to enable and disable them based on different interactions, mainly being hit by a thrown object. The broken part would then flash by calling a coroutine which would quickly activate and deactivate the broken object for a time creating a nice visual effect. Additionally, I created a minimap by adding a new orthographic camera directly above the player and rendering the output to a texture that was then displayed on the UI canvas. Furthermore I used the navigation mesh and agent system built into Unity to calculate the enemies path to take, and then created state machines that controlled the actual different enemy behavior and movement.