big cheese

/the great mouse escape/

project summary

Over the course of ten weeks, I collaborated with a team of four to design and develop BIG Cheese, a cooperative multiplayer escape game for 2-5 players. Players take on the roles of lab-bred mice seeking freedom from captivity, navigating procedurally-generated environments filled with hazards, enemies, and emergent chaos. We built a fully functional 3D game in Unity with real-time multiplayer networking, procedural generation systems, and character progression mechanics.

project details

Project Type: Stanford CS 194 Project

Role: Developer

Dates: April 2025 - June 2025

Tools: Unity, C#

Deliverables: Hi-Fi Prototype Demo

Impact: 1st Place Meta Judge Pick

problem

In the midst of constant bad news and everyday stress, people need an outlet to take a break from their anxieties: video games. However, gamers have come across critical gaps in the current industry. We identified three key problems: there's a lack of chaotic co-op games that reward coordination but embrace imperfection; many multiplayer games are either too structured or heavily skill-based, leaving little room for goofy, emergent chaos.


How might we create a multiplayer experience that balances chaotic fun with meaningful teamwork, while keeping every session fresh and unpredictable?

solution

BIG Cheese is a cooperative escape game where 2-5 players work together as mice trying to reach the mythical Cheeseland. Each session offers dynamic adventures through procedurally-generated layouts, randomized obstacles, and unpredictable enemy encounters. Players scavenge for food, grow in size to unlock new abilities, and coordinate chaotic escapes while avoiding cats, babies, and deadly traps. With unique character customization, upgradeable abilities, and proximity chat for immersive communication, no two games feel the same.

code specifications

procedural map generation

The procedural generation system was one of the main features of BIG Cheese, ensuring every playthrough felt fresh and unpredictable. I led the development of this system using Unity's scene management and custom C# scripting.

Scene-Based Architecture

Each room (labs, vents, kitchen, server rooms, corridors) was built as an individual Unity scene, designed as modular tiles with specific hazards (traps or cats) and goals (food or shelter). A central hallway scene served as the connective "hub".

Dynamic Door System

I implemented a door transition system that connected rooms to each other by loading and unloading scenes on the fly. Each door had a script that tracked which room it connected to and handled seamless scene transitions when players interacted with it.

Randomization Logic

At the start of each day cycle, a procedural generation algorithm randomized the hallway connections. The script shuffled available room scenes and assigned them to door connection points, ensuring the layout changed every round. This created natural exploration and prevented players from memorizing routes.

Spawn Point System

Beyond room layouts, I developed spawn point systems for dynamic content placement. Using C# scripts, I tagged spawn locations throughout each room and wrote algorithms to randomly generate food items, traps (mousetraps, glue, spray poison), and enemies (cats, babies, snakes) at the start of each day. The spawn density scaled based on difficulty and player count.

Example Room

procedural map generation

We integrated Fish-Networking (FishNet) to enable real-time multiplayer for 2-5 players. FishNet's client-server architecture allowed us to synchronize critical game state across all players, including movement, inventory interactions, item pickups, and the fat growth mechanic. We also implemented lobby and room creation systems so players could easily host or join sessions.

First Person View of Another Player

myan ngo

all design/assets created by me, myan

myan ngo

all design/assets created by me, myan

Create a free website with Framer, the website builder loved by startups, designers and agencies.