Genre: Third-person Adventure Game
Project Role: Gameplay Programmer, System Designer
Team size: 9
Engine: Unreal Engine 4.22
What is it?
“Just Desserts” is a third-person action adventure game where the player takes the role of a cupcake on a journey through a candy land to foil the Muffin Man’s evil plan.
The goal of the game is to defeat the Muffin Man before he de-icings your fellow cupcakes.
If you’re interested in playing the game, the installer can be found here.
What did I do in this project?
On this project, I developed a custom interactive system consisting of two parts: triggers and receivers. When a trigger is triggered by a corresponding event, it will call any and all receivers assigned to it with the blueprint interface to execute the corresponding actions. This system is extremely flexible and expandable across multiple levels, allowing for easy addition of new kinds of triggers or receivers into the game.
The currently developed triggers include: an area trigger, enemy death triggers, interaction trigger, and several others. The receiver that was most commonly used for this project was the transform modifier. There are other kinds of receivers as well such as one that can call multiple receivers, one that requires multiple triggers to launch, a dialogue player, and others.
In addition, I also utilized Unreal’s built-in SaveGame class to design and implement the custom saving and loading functionality for this game. The saving not only stores the player’s position but also records the status of executed triggers and receivers. Once the game is loaded, all of the triggers, receivers, and their corresponding objects will act the same as they did when the player saved the game.
As the system designer for this project, I developed the combat systems. The player has access to three weapons by the end of the game, with each one having its own unique set of combos for light and heavy attacks, damage, attack range, and an ultimate attack. Each weapon has a candy appearance suited to its type and designed their attributes according to the associated weapon types.
The default weapon that the player receives first is a lollipop hammer. Its attributes are all average and an average number of attacks in each of its combos.
The next weapon that the player receives is a candy cane sword, which behaves similarly to a rapier in fencing. As a result, it has the highest attack speed and the highest number of attacks in its combos, while it does the least damage per attack.
The final weapon that the player can receive is a stick of rock candy. It is designed to be the game’s heavy weapon, having the longest attack range and the highest damage, but the lowest attack speed. Additionally, in order to make it more balanced, I also increased the amount of time it takes the player to return to an attack-ready state to prevent the weapon from becoming too powerful.
In addition to the weapons, I designed a sugar system. This system gives the player sugar each time they defeat an enemy which can then be used to execute an ultimate ability. However, since combat in our game isn’t continuous, it’d be too harsh for the player if they could only do the ultimate when their sugar is full. To mitigate this, I reduced the amount of sugar needed to execute the ultimate.
Finally, the sugar isn’t just used for the ultimate, but can also be used to heal the player. This was added because we do not have any items in the game to heal the player outside of the ovens the player encounters during their journey. To mitigate the inability to heal during the fight with the Muffin Man due to the doors closing behind the player on entering his arena, I set it so that the Muffin Man drops sugar every time its health decreases a certain amount.
What went wrong?
Due to the pandemic COVID-19, our production process was severely hindered, which limited our ability to complete the product. Some interactive objects still acted weirdly, which I wished I had more time to fix them.
What went right?
Despite a lack of artists, our game still had good and well-received visuals. Playtesters also enjoyed the levels and the puzzle systems. Throughout all of our testing, the save/load systems continued to be robust and flexible.