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.

Overview


Highlights


Previous
Previous

IdleBuilder