Shrimp Fried Rice

Prove cannibalism isn’t so bad after all by cooking your siblings to create fabulous delicacies! Break the limit and set high scores, and unlock new cosmetics in Shrimp Fried Rice!

Roles: Creative Director - Lead Programmer
Timeframe: Ongoing since August 2024 - Currently in Pre-Alpha
Team Size: 5 people
Genre: Infinite Runner
Scope: Mobile game with an infinite game mode, and cosmetic items
Repository: Github
Download Link

responsibilities


  • Gameplay

  • Progression

  • UI

minigames


The core of our game is around different small minigames. These minigames each feature the same interaction, but have different models loaded into provide variety.

Minigames were created using ScriptableObjects, so that we can load all required assets at runtime and not hardcode references for assets. It also allowed us to set data for these minigames, like how many points are given and how many taps it takes to finish it.

gameplay


Shared between these minigames is the Wok itself, that is controlled by a touchscreen analog stick. Moving the stick rotates the Wok over different parts of the fire, distributing heat across the pan. This control is the heart of our game since too much heat in one area results in a loss.

The wok moves and rotates slightly forward, backward, left, and right, depending on an analog stick.

We had attempted to use Gyro, but it ended up being too buggy and unstable to push for our final build.

Progression


Progression is made by completing “runs”, or each time you load a new game and complete it. Hats unlock in order and are equippable in the main menu.

The hats use ScriptableObjects as an abstraction layer. The game pulls the number of hats from the save file, then iterates through all the hats in the resources and displays up to the number unlocked.

Ui


UI uses Unity’s UMG system as a layout base, the GameObject hierarchy is defined by the menus, available, and swapping between the menus and responses to input were handled by C# Scripting.

Reflection


Shrimp Fried Rice was a chance for me to practice data abstraction to simplify code and asset management, and to practice casual games as a side project.

I feel I gained a lot of experience in designing systems around this data abstraction in my implementation of Minigames and Hats, which I further demonstrated in Frest.

As for casual games, I found a passion for working on silly small-scope game projects as a way to practice new techniques and refresh my memory of constructing lower-level systems.