Platform:
Windows PC
Engine:
Unity Engine 2021.3.14f1
Language:
C#
Tools Used:
Git, Visual Studio, Photoshop
Duration:
2 days
Completed:
July 2023
Role:
Lead programmer/designer
Team Size:
Total: 6
Design/Engineering: 3
Art: 3
A Shrimp Fried This Rice? is a cooking simulation arcade game similar to Overcooked. It was created in two days for the GMTK game jam 2023 with the help some of my fellow developers on Cross The Sea. It hosts an overhead oblique view where the player runs around and has to complete cooking tasks in a specified order to transform ingredients into a multitude of different dishes that are requested randomly by customers.
Project Goals
Create a fun and engaging experience to showcase our skillsets to employers.
Test our skills and see what we could complete in the short duration of the jam.
Foster team cohesion.
Create a game like Overcooked.
My Contributions
I lead the programming/design on this project. I set up and managed the source control for this game through Github. I directed my members to use Github Desktop.
My contributions to the project include:
Source control management
Dish/Ingredient mechanics and scriptable object structure
Player movement
Player interaction system
Ingredient storage containers
Basic work/storage station
Rice cooker station
Frying station
Particle effects
and much more!
Player Interaction System
Interactable Interface (Github)
Player Interaction Code (Github)
Interaction Targeting Outcome
To manage player interaction with stations I used a physics sphere overlap to get a list of colliders within that sphere, I made a list of collided objects that implemented the interactable interface, and then checked which of those interactable objects was closest to the player. These things combined to create a system with adjustable interaction distance that also targets stations in a pleasing way.
Cooking Stations
Rice Cooker Code (Github)
Fry Station Code (Github)
Outcome
The game included two different types of cooking station, the rice cooker and the frying station. Under the hood, these systems work the same way. While an ingredient is present on these stations, a progress bar fills for an assignable amount of time, then transforms that ingredient into a new ingredient dictated by it’s scriptable object. The only difference between the stations is that one produces the “rice cooker output” and one produces the “fried output.”
Scalable Ingredient/Dish List With Scriptable Objects
Ingredient SO Definition (Github)
Dish SO Definition (Github)
Project Directory of ingredient SOs.
Scriptable objects were utilized to store read-only information, including dish ingredient lists and ingredient information such as sprites, models, and the output of various interactions that can be performed on them at the stations. Scriptable objects are great for instances like this where relationships between objects are consistent and you want to have the flexibility to add more members of a group later.