← Back to my work 2024 / Solo Programmer / Unity & C#

DishDash

A cooking game inspired by Overcooked!, built solo as a one-week personal challenge.

A week in Unity

I built DishDash in Unity and C# in less than a week. Players prepare ingredients and assemble dishes against the clock. I developed the core interactions first, with my partner and friends playtesting as I added features.

Play DishDash in your browser on itch.io ↗

Project challenge

Keeping food rules in the game data

I needed reusable rules for preparing and combining ingredients within a one-week deadline. Each food's ScriptableObject defined its appearance, preparation result, and possible combinations.

Recipes were stored on one ingredient. Counter interactions checked both items for a matching recipe, allowing either combination order without duplicating the data.

A shared countertop class handled taking, placing, and combining items. Preparation stations added their own rules and timers. These shared behaviours supported both the burger and pizza kitchens.

Project challenge

Making room for pizza toppings

The original system combined two food objects into one result. Adding pizzas made defining every topping combination that way cumbersome.

I kept fixed recipes for creating the base and margherita, then added toppings to the existing pizza. A pizza-specific food type tracked the topping list, with the visuals attached to the kitchen object.

This supported different pizza orders without a separate food definition for every combination, and kept the implementation manageable within the deadline.

What I'd change

Keeping interaction logic on countertops restricted where items could be used. I'd move that responsibility onto the items themselves to support interactions beyond the counters.