![](https://static.wixstatic.com/media/85cc2a_8fbcd572af7649f7bcf33a9337494d10~mv2.png/v1/fill/w_1250,h_800,al_c,q_90,enc_avif,quality_auto/85cc2a_8fbcd572af7649f7bcf33a9337494d10~mv2.png)
Two teams of 2 astronauts need to compete to deliver recipes to the apex predator that claims this planet. Players need to prepare ingredients, shoot their opponents, and activate buffs to be the first to deliver their recipes and claim the planet.
![KeyShot_H-min.png](https://static.wixstatic.com/media/85cc2a_2a61529096924289ae653764a1fe5840~mv2.png/v1/crop/x_0,y_765,w_7680,h_2790/fill/w_980,h_356,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/KeyShot_H-min.png)
Outerplates
Outerplates Trailer
Video Breakdown
For this project, I led the full life cycle management of the project by coding in Unreal Engine using Blueprints while collaborating with team of 20 SCAD students. I managed entire scope of technical development and executed game design outcomes of team. Additionally, I organized training sessions to guide students through pipeline and management of additional technical tasks.
Outerplates won 6 awards in SCAD’s game design competition, including Best 3D Game for a Large Team and Best of Show awards. My contributions of incorporating features into game and delivering impactful game design had a big hand to play in these awards.
Overview
Outerplates is a local co-op game in which 2 teams of 2 compete to be the first team to deliver recipes to the monster of the land.
​
Each recipe is composed of four ingredients. Players must bring their ingredients to the correct zoo-chef to prepare each ingredient.
​
Once all 4 ingredients have been prepared, the recipe will appear in that team’s finisher. The recipe then needs to be delivered to the monster for that team to score a point. After each point, the round resets until one team has 2 points, in which case that team will win the game.
![](https://static.wixstatic.com/media/85cc2a_9d6ac25f1375457383dea928fd3bb2db~mv2.png/v1/fill/w_348,h_269,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_9d6ac25f1375457383dea928fd3bb2db~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_4f1c19adab894b25b2b698a179ca471f~mv2.png/v1/fill/w_468,h_263,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_4f1c19adab894b25b2b698a179ca471f~mv2.png)
![Screenshot 2024-06-27 192341.png](https://static.wixstatic.com/media/85cc2a_5f3ac5116ad842c0a9409c306a9613d9~mv2.png/v1/fill/w_475,h_267,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screenshot%202024-06-27%20192341.png)
![](https://static.wixstatic.com/media/85cc2a_972d4a7753b64ef1b81a8093d9fac8b6~mv2.png/v1/fill/w_475,h_267,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_972d4a7753b64ef1b81a8093d9fac8b6~mv2.png)
Player Interactions
There’s one input button that we set up for most interactions with the environment. Initially, a long series of actions were all set up into one event graph to manage all these possible interactions. I split these off into several functions that returned whether or not they were successful. If the function wasn’t successful, then the next one was tried. This setup allowed for the order to be rearranged, and reduced clutter in the main event graph
![](https://static.wixstatic.com/media/85cc2a_7567e5b1de1c4684bb42003c11291de2~mv2.png/v1/fill/w_820,h_54,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_7567e5b1de1c4684bb42003c11291de2~mv2.png)
The first action that it would attempt to take is removing an ingredient from an appliance. This would happen if a player isn’t holding anything, and is near an appliance with an ingredient or recipe that is finished and can be removed.
![](https://static.wixstatic.com/media/85cc2a_bc88fbeae53041628c5cf4842cd5c300~mv2.png/v1/fill/w_937,h_268,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_bc88fbeae53041628c5cf4842cd5c300~mv2.png)
The next action that it would attempt to take is adding an ingredient to an appliance. This would occur if a player is holding an ingredient near an appliance that can take that ingredient
![](https://static.wixstatic.com/media/85cc2a_82f3a653ada246588d4b4ca6d71d6e2f~mv2.png/v1/fill/w_949,h_192,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_82f3a653ada246588d4b4ca6d71d6e2f~mv2.png)
The next action that the button would attempt to take is picking up an item. This would happen if the player isn’t holding anything and is nearby an item. Initially this also allowed for players to pick up items held by other players, which would steal the item from other players. Although this was initially a bug, this was kept in as a feature since it resonated well with players during playtesting.
![](https://static.wixstatic.com/media/85cc2a_1e5de403a5b345e3b4ed76ba565bc259~mv2.png/v1/fill/w_940,h_276,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_1e5de403a5b345e3b4ed76ba565bc259~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_32f783bc744f41f59a27d6494fddcd12~mv2.png/v1/fill/w_938,h_176,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_32f783bc744f41f59a27d6494fddcd12~mv2.png)
The next action it would attempt to take would be to deliver a recipe to the monster. This occurred if the player is holding a recipe nearby the monster in the level, and that recipe is the one that player’s team needs to deliver.
![](https://static.wixstatic.com/media/85cc2a_fe51efe1df5f4339bc1e73444fba51ac~mv2.png/v1/fill/w_932,h_169,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_fe51efe1df5f4339bc1e73444fba51ac~mv2.png)
The last action this would attempt to take is dropping the item the player is holding. If this fails, then nothing else happens.
![](https://static.wixstatic.com/media/85cc2a_cada375b67e645e798d6cd8fde453c5f~mv2.png/v1/fill/w_565,h_283,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_cada375b67e645e798d6cd8fde453c5f~mv2.png)
This event manages removing the player’s held item. This event is called from various places inside and outside the player blueprint, so it needed to be versatile to different uses. ​
First, the item itself removes the player's reference. Next, the highlight for the corresponding appliance is removed. The item then detaches from the player skeleton which is used for animation syncing. The physics for the item are turned on if the input for that parameter is true. The item is destroyed if the input for that parameter is true. The reference for the item will be removed from the player if the input for that parameter is true. Finally, the arrow leading to the item’s next location is turned off.
![](https://static.wixstatic.com/media/85cc2a_8f5ffaf2aa0b44f795bc3ec68030e486~mv2.png/v1/fill/w_947,h_464,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_8f5ffaf2aa0b44f795bc3ec68030e486~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_65637a0cbeb640bb90d50fe1976dba49~mv2.png/v1/fill/w_652,h_291,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_65637a0cbeb640bb90d50fe1976dba49~mv2.png)
Appliances/Zoo-Chefs
Appliances, also known as Zoo-Chefs, are what the players deliver ingredients to. When a player delivers an ingredient to a Zoo-Chef, that ingredient gets checked off that player's list and their team gets closer to completing their recipe.
A parent blueprint for all appliances was made in order so that all appliances could derive from the same base functions, but have their own unique functionalities as well if desired. The finisher is the most different from all the other appliances since it prepares the finished recipe. The other appliances initially had their own mechanics, but this was removed since it was continuously not appealing to the playtesters.
![](https://static.wixstatic.com/media/85cc2a_df743d7bd3af4389b40cb80e33178204~mv2.png/v1/crop/x_292,y_0,w_1017,h_919/fill/w_216,h_195,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_df743d7bd3af4389b40cb80e33178204~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_694b73a9a7f04cc5a105d9f4388e4795~mv2.png/v1/crop/x_203,y_0,w_1181,h_919/fill/w_233,h_181,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_694b73a9a7f04cc5a105d9f4388e4795~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_e83f205bbf834202a8c4f68806172942~mv2.png/v1/crop/x_346,y_0,w_1077,h_919/fill/w_218,h_186,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_e83f205bbf834202a8c4f68806172942~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_51c2c98aa53f499b9a3bece215c26eea~mv2.png/v1/crop/x_226,y_0,w_1140,h_919/fill/w_242,h_195,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_51c2c98aa53f499b9a3bece215c26eea~mv2.png)
This function is called mainly from the player blueprint when inserting an ingredient. The appliance gathers whether or not this ingredient is viable and begins preparing it if it is. This starts playing the animation for the appliance preparation. Once that animation completes, then the ingredient is checked off the list of ingredients that need to be prepared for this team.
![](https://static.wixstatic.com/media/85cc2a_ab298e051f8e4904afde577ca126caaf~mv2.png/v1/fill/w_944,h_338,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_ab298e051f8e4904afde577ca126caaf~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_493d3dd4944744e5b189b05ef2d4ccea~mv2.png/v1/fill/w_939,h_215,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_493d3dd4944744e5b189b05ef2d4ccea~mv2.png)
This function gathers whether or not the ingredient is viable. This was taken out as its own function to reduce clutter in the ingredient interaction function.
![](https://static.wixstatic.com/media/85cc2a_733611b7eb1b4717a3ef8c6d6d2b4ca3~mv2.png/v1/fill/w_942,h_277,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_733611b7eb1b4717a3ef8c6d6d2b4ca3~mv2.png)
This manages ingredients that are thrown into the range of appliances. If a player throws an ingredient from far away, this makes sure that this ingredient can still be prepared in the appliance. At one point only one appliance worked this way, but this was preferred a lot of the time so it was made a feature for all appliances.
![](https://static.wixstatic.com/media/85cc2a_85774d0bd1464e21b5bb91d481e4339f~mv2.png/v1/fill/w_941,h_362,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_85774d0bd1464e21b5bb91d481e4339f~mv2.png)
Finisher
For most appliances, the ingredient is added to that appliance and added to the list of prepared ingredients for that team. Instead of working like this, the finisher gives the player the completed recipe.
​
Once all ingredients have been prepared, then the finisher plays its animation, and makes that team’s recipe available.
![](https://static.wixstatic.com/media/85cc2a_51c2c98aa53f499b9a3bece215c26eea~mv2.png/v1/crop/x_226,y_0,w_1140,h_919/fill/w_242,h_195,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_51c2c98aa53f499b9a3bece215c26eea~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_9d6ac25f1375457383dea928fd3bb2db~mv2.png/v1/fill/w_202,h_156,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_9d6ac25f1375457383dea928fd3bb2db~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_125d607682e54ce4a4b592c4e38f3b6f~mv2.png/v1/fill/w_940,h_177,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_125d607682e54ce4a4b592c4e38f3b6f~mv2.png)
Monster of the Land
The monster is the being that the players are trying to satisfy by delivering recipes. Once a team has prepared all four of their ingredients, they can deliver their final recipe to the monster. Once one team has delivered 2 recipes, then that team wins.
![](https://static.wixstatic.com/media/85cc2a_972d4a7753b64ef1b81a8093d9fac8b6~mv2.png/v1/fill/w_475,h_267,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_972d4a7753b64ef1b81a8093d9fac8b6~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_7bded55343034f7488433b2e0c89fe4c~mv2.png/v1/crop/x_401,y_201,w_1192,h_618/fill/w_475,h_246,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_7bded55343034f7488433b2e0c89fe4c~mv2.png)
This function is for when the monster receives a recipe from the player. ​
First, it checks if this recipe is the correct one for this team. Second, it spawns the recipe in the mouth of the monster, or wherever makes sense for the monster of that level. Next, it plays the eating animation for that monster and removes the glow around itself. It then disables player movement. Next, it destroys the initial recipe actor from the world if it's still in the level. It then returns whether or not it received the correct recipe. This is used for returning information back to the player blueprint.
![](https://static.wixstatic.com/media/85cc2a_6dbf644a266c466e99d3f743712f40f7~mv2.png/v1/fill/w_938,h_186,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_6dbf644a266c466e99d3f743712f40f7~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_d633721a34144995ba66af10c22282b3~mv2.png/v1/fill/w_724,h_417,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_d633721a34144995ba66af10c22282b3~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_06bbf6f896f24e47999f162718c950b7~mv2.png/v1/fill/w_654,h_321,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_06bbf6f896f24e47999f162718c950b7~mv2.png)
Guns
Players have guns that they can use to shoot the other team. This can be used to slow the other team’s progress, and to advance their own team's progress towards delivering the recipe.
​
Guns have a short cooldown for after they are shot, and there is a short cooldown for replenishing ammo. This can be seen in the UI above the player's head, with the number of capsules representing how many bullets the player has, and the saturation representing if the player can shoot.
![](https://static.wixstatic.com/media/85cc2a_3c43135203d74e52ad4388d1f4bc4f51~mv2.png/v1/fill/w_548,h_308,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_3c43135203d74e52ad4388d1f4bc4f51~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_26e91207dbe749458d1c879e824106ba~mv2.png/v1/fill/w_303,h_204,al_c,q_85,enc_avif,quality_auto/85cc2a_26e91207dbe749458d1c879e824106ba~mv2.png)
Buffs
When a team prepares an ingredient, all the players from that team receive a buff. These buffs can be activated to gain an advantage in the gameplay. There are four buffs: Speed, Fire Rate, Stun, and Immunity.
![](https://static.wixstatic.com/media/85cc2a_e481377d961b4b13988daab48db5d4dc~mv2.png/v1/fill/w_103,h_103,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_e481377d961b4b13988daab48db5d4dc~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_2c8d23af24f44702a7e6a85951fb970c~mv2.png/v1/fill/w_103,h_103,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_2c8d23af24f44702a7e6a85951fb970c~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_b50fc9b5e0fb45d490170dd53bf43ac0~mv2.png/v1/fill/w_103,h_103,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_b50fc9b5e0fb45d490170dd53bf43ac0~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_4062759f6b264508ad7e1f9231a294cb~mv2.png/v1/fill/w_103,h_103,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_4062759f6b264508ad7e1f9231a294cb~mv2.png)
The speed buff allows for that player to move very quickly.
![](https://static.wixstatic.com/media/85cc2a_02f349b7238345cbabb3575712981a83~mv2.png/v1/crop/x_505,y_211,w_1183,h_483/fill/w_413,h_169,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_02f349b7238345cbabb3575712981a83~mv2.png)
The fire rate buff allows for players to shoot rapidly with unlimited ammo.
![](https://static.wixstatic.com/media/85cc2a_b59e9d1a2ec64ce4bc2b572df4affe31~mv2.png/v1/crop/x_374,y_269,w_723,h_548/fill/w_226,h_171,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_b59e9d1a2ec64ce4bc2b572df4affe31~mv2.png)
The Stun buff activates a sphere of electricity that stuns nearby players.
![](https://static.wixstatic.com/media/85cc2a_7c10a21babc74ce7b6d2e0bab3fb8f68~mv2.png/v1/crop/x_745,y_192,w_697,h_560/fill/w_218,h_175,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_7c10a21babc74ce7b6d2e0bab3fb8f68~mv2.png)
The immunity buff makes it so that a player can no longer be hit.
![](https://static.wixstatic.com/media/85cc2a_7ec1995d9dee45ad8a8d0c6520af58a1~mv2.png/v1/crop/x_636,y_359,w_752,h_423/fill/w_235,h_132,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_7ec1995d9dee45ad8a8d0c6520af58a1~mv2.png)
Hazards
There are hazards in the environment which can slow the players’ progress if they don’t account for them. Each environment has 2 hazards.
Shootable Rocks
One of the hazards in the Tangy Tides environment is the shootable rocks. Players can shoot these rocks to make them fall. If they hit a player, then that player gets stunned. These rocks can also be shot out of the way once they have fallen in order to clear the path.
Meateors
The other hazard in Tangy Tides is the meateors. A meateor shower starts up at random intervals. They can hit players to stun them, and hit ingredients to destroy them.
The Hands
One of the hazards in the Freeze Dried level is the hands. These come up at random intervals. If a player is in range, then that player gets stunned. If an ingredient or recipe is in range of the hand, then it will get taken and destroyed. Hands can be shot to force them to move back down.
Moving Walls
The other hazard in Freeze Dried is the moving walls. When a pressure plate is stepped on, the walls with the corresponding colors move. These walls can block the paths of the players, forcing them to take another route.
​
This Hazard was made using two blueprints, the wall itself, and the trigger for the wall. When a trigger is stepped on, all corresponding walls will move.
![](https://static.wixstatic.com/media/85cc2a_1ad68d1469ab4926a739cd2b0cef00f0~mv2.png/v1/fill/w_147,h_223,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_1ad68d1469ab4926a739cd2b0cef00f0~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_01a495b825674f9caabfd8899ba34f0b~mv2.png/v1/fill/w_276,h_122,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_01a495b825674f9caabfd8899ba34f0b~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_ab04eb6ad2c04351b4c5039f7f0065c8~mv2.png/v1/fill/w_441,h_248,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_ab04eb6ad2c04351b4c5039f7f0065c8~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_45ac2e70d36d4db292420b880e972a1f~mv2.png/v1/fill/w_441,h_248,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_45ac2e70d36d4db292420b880e972a1f~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_464c224ef1ae49bbb0a4b23a7d6879a4~mv2.png/v1/crop/x_412,y_4,w_905,h_1075/fill/w_299,h_355,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_464c224ef1ae49bbb0a4b23a7d6879a4~mv2.png)
These events manage when players or ingredients come in or out of the range of the pressure plate. When players or ingredients come into range, the step on funcion is called. Once all players or ingredients have exited the range, the step off function is called.
![](https://static.wixstatic.com/media/85cc2a_90bb2cd59640444aad33f6f0cbf09f82~mv2.png/v1/fill/w_942,h_435,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_90bb2cd59640444aad33f6f0cbf09f82~mv2.png)
When a player or ingredient comes into range, the plate checks if all other plates of the same type are up. If all other pressure plates are up, this moves them all down. If the walls of this type aren’t moving, then they will all move to their second location.
When all players or ingredients have moved off the pressure plates of the same type, this checks if all other pressure plates have players or ingredients. If no plates of the same type have ingredients or players on them, this moves them all up.
![](https://static.wixstatic.com/media/85cc2a_89f60e813f8c4cd8b8189a27870ebc87~mv2.png/v1/fill/w_944,h_456,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_89f60e813f8c4cd8b8189a27870ebc87~mv2.png)
This moves the physical location of the pressure plate.
![](https://static.wixstatic.com/media/85cc2a_7e13c2883cae4661a53f2bf54f6c8ac0~mv2.png/v1/fill/w_628,h_138,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_7e13c2883cae4661a53f2bf54f6c8ac0~mv2.png)
This function checks if this pressure plate has any ingredients or players on it. This was made into a separate function to reduce clutter, as this is called from several places.
![](https://static.wixstatic.com/media/85cc2a_e1192e1a6287447888fd07ad49d8244c~mv2.png/v1/fill/w_637,h_223,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_e1192e1a6287447888fd07ad49d8244c~mv2.png)
Time Attack Mode
There is a time attack mode, which was made for if there is only one player, or if multiple players want to be on the same team and work together. In this game mode, the player or players have to deliver recipes to the monster to try to make it past the most amount of rounds. Each round has less and less time to complete the recipe, so players need to strategize as the time constraint makes the delivery more challenging. The goal is to try to beat the most amount of rounds and deliver the most amount of recipes before the player(s) run out of time. ​
![](https://static.wixstatic.com/media/85cc2a_6abf5b643bb3486bb6bd1b70a123c66c~mv2.png/v1/fill/w_446,h_251,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_6abf5b643bb3486bb6bd1b70a123c66c~mv2.png)
![](https://static.wixstatic.com/media/85cc2a_959b0ca5b7ea41f9b2c0977cba0b265e~mv2.png/v1/fill/w_446,h_251,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_959b0ca5b7ea41f9b2c0977cba0b265e~mv2.png)
At the beginning of the game, and at the beginning of every round, this function is called which starts the next round, and starts the timer with less time than the round before.
![](https://static.wixstatic.com/media/85cc2a_30ce5ce096ae44be8067e959b9da9245~mv2.png/v1/fill/w_934,h_185,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_30ce5ce096ae44be8067e959b9da9245~mv2.png)
This function returns how much time is remaining in seconds, which is primarily used for the visual timer in the HUD. If the timer is cleared or invalid, then this returns the last amount that was valid. This keeps the visual timer looking consistent.
![](https://static.wixstatic.com/media/85cc2a_36644cade3f34c0cba6cff9574f54525~mv2.png/v1/fill/w_939,h_257,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_36644cade3f34c0cba6cff9574f54525~mv2.png)
This function adds more time to the timer. This is mainly used when ingredients are prepared.
![](https://static.wixstatic.com/media/85cc2a_746018941e9341319bfdafc73768fb1a~mv2.png/v1/fill/w_637,h_178,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_746018941e9341319bfdafc73768fb1a~mv2.png)
In the Time Attack Mode, there are falling rocks. These are similar to the shootable rocks in the Tangy Tides level, but instead these rocks fall down once a player gets close. Like with the other rocks, these rocks can also be shot to be cleared from the path again.
![](https://static.wixstatic.com/media/85cc2a_3be54a32e1ae47f194f84f80258f28ab~mv2.png/v1/fill/w_248,h_214,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_3be54a32e1ae47f194f84f80258f28ab~mv2.png)
In the Time Attack Mode, buffs are given out a bit differently than they are in the main game mode. Buffs have a random chance of being given out each time a player prepares an ingredient. When given out, the players will receive either the speed or immunity buff. The speed buff is beneficial to help players quickly move across the map when they start running low on time. The immunity buff can help players protect themselves from hazards in the level.
![](https://static.wixstatic.com/media/85cc2a_959b0ca5b7ea41f9b2c0977cba0b265e~mv2.png/v1/crop/x_508,y_73,w_641,h_490/fill/w_248,h_190,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/85cc2a_959b0ca5b7ea41f9b2c0977cba0b265e~mv2.png)