CHAO BIAN / SELECTED WORKAll projects ↗

GAME DEVELOPMENT / 2024–25GAUCHO GAME LAB

OdysseiaA world of connected puzzles.

A myth-inspired 3D adventure. As Puzzle Lead, I turned tides, time, and light into reusable mechanics and levels in Unity.

Explore the systems ↓
Odysseia title artwork showing a ship sailing through a mountainous coastal landscape
ODYSSEIA / A MYTH-INSPIRED ADVENTURE · GAUCHO GAME LAB

00 / OVERVIEW

Overview

My work on Odysseia focused on designing reusable puzzle systems that could grow in complexity while remaining readable to the player.

I developed the mechanics, implemented them in Unity, designed levels around their interactions, and collaborated with the art team to improve visual communication and puzzle readability.

My Contributions

  • Designed and implemented the dynamic tidal system and time acceleration mechanic.
  • Built a modular light puzzle system supporting redirection, dispersion, color fusion, and filtering.
  • Designed two tidal levels and multiple light puzzle levels.
  • Developed the layout, puzzle dependencies, and traversal flow of the Minotaur’s Labyrinth.

01 / TIDES & TIME

Tides & Time

The right route. At the right moment.

Water rises and falls with the day-night cycle. A route is no longer just a place to discover; it is a condition to create.

High tide in the coastal puzzle environment
FIG. 01 / HIGH TIDE — WATER COVERS OBSTACLES
Low tide exposing terrain and passages
FIG. 02 / LOW TIDE — TERRAIN BECOMES ACCESSIBLE
THE RULE

Different obstacles, different tides

Low water lets a ship’s mast pass beneath a low-clearance channel. High water lets the ship cross rocks and reefs. Players must plan both where to go and when to act.

THE ITERATION

Make the state readable

Early levels left players guessing whether the tide had peaked. We added a tidal indicator so they could judge the water level and decide when to move.

FIG. 03 / TIME ACCELERATION IN ACTION

PLAYER AGENCY

Change time.
Don’t just wait for it.

I implemented time acceleration so players could deliberately advance the day-night cycle. The environment becomes something to manipulate, turning passive waiting into an active puzzle decision.

02 / THE LIGHT SYSTEM

Modular Light Puzzle System

One simple rule. Many ways to combine it.

Start with a beam and a receiver. Introduce one new operation at a time, then build depth through combinations of familiar rules.

  1. 01 →

    Emission

    Connect a source to a receiver.

  2. 02 →

    Redirection

    Build a path through relay nodes.

  3. 03 →RGB

    Dispersion

    Split white light into RGB channels.

  4. 04 →RGR+G

    Fusion

    Recombine channels into new colors.

  5. 05 →G

    Filtering

    Pass only the required channels.

Redirection turns a simple source-to-receiver connection into a routing problem. Dispersion creates branching paths, while fusion and filtering introduce dependencies between them, allowing more complex puzzles to emerge from familiar rules.

Colored surface filtering a beam in a light puzzle
FIG. 04 / FILTERING — SELECT WHICH CHANNELS PASS
Multi-room light puzzle with beams and receivers
FIG. 05 / COMPOSITION — CONNECT RULES ACROSS ROOMS

03 / MINOTAUR’S LABYRINTH

Minotaur’s Labyrinth

A mechanic becomes the map.

I wanted players to explore the labyrinth without either skipping most of it or following one long, prescribed route. I used three interconnected color regions to balance local puzzle solving with dependencies across the larger space.

Minotaur’s Labyrinth: RGB routes and cross-region dependenciesAn enlarged crop of the original design sketch. Red routes occupy the left region, green routes the lower middle, and blue routes the right. A green beam enters the red region near the upper left and combines into yellow. The Minotaur is drawn in the central chamber.ABCDE
FIG. 06 / LABYRINTH DESIGN SKETCH — COLOR ROUTES & CROSS-REGION DEPENDENCIES
  • ARed region
  • BGreen region
  • CBlue region

DCross-region dependency

Green light enters the red region and combines with red to produce yellow, unlocking a route.

ECentral goal

The Minotaur’s chamber anchors the maze’s connected regions.

Open original sketch & handwritten notes ↗

Each region offers focused puzzles without forcing one long, linear solution.

Solved beams remain visible, recording progress in the environment and suggesting routes still to explore.

Playable labyrinth graybox showing corridors, gates, and light puzzle nodes
FIG. 07 / PLAYABLE GRAYBOX PROTOTYPE

I built this playable graybox to explore the labyrinth’s layout, light-node placement, and puzzle dependencies. It let teammates experience the intended traversal and puzzle flow before the level’s final implementation.

04 / UNDER THE HOOD

Light System Architecture

Propagate light. Decouple the reaction.

A modular, event-driven C# architecture keeps the light system independent from the gameplay objects it activates.

Component references and event flow: LightReceiver invokes DoorEvent and LightEvent; LightEvent controls LightBeam, which activates another GameObject’s receiver. RotationTrigger separately controls relay rotation and prompt visibility.
FIG. 08 / COMPONENT REFERENCES & EVENT FLOW OPEN FULL SIZE ↗

Events connect the systems

Receivers emit activation and deactivation events. Independent components respond by opening doors, rotating objects, or activating secondary beams.

Shared logic, specialized rules

A shared LightReceiver handles dependencies, color aggregation, activation state, and downstream propagation. FilterLightReceiver and SpecificLightReceiver derive from LightReceiver and override its virtual methods to filter color channels and activate on a target-color match, respectively.

WORKING WITH THE TEAM

Team Collaboration

Build. Review. Play. Refine.

Planning & Scope

Before implementation, I wrote proposals outlining the approach and files I planned to modify. I broke the work into steps and time estimates for approval by the Game Lead and Tech Lead, making scope and implementation decisions explicit before coding.

Review & Integration

My pull requests were reviewed by both leads, and I addressed their feedback before merging. Working in one-week Scrum sprints, we integrated completed work into the game and used the team’s discussion to set tasks for the next sprint.

Across Disciplines

I shared the labyrinth’s playable graybox with teammates to gather feedback on layout, puzzle dependencies, and traversal flow before final implementation. I also worked with artists to improve mechanic readability and environmental cues, connecting gameplay logic, level design, and visual presentation.

WHAT THIS PROJECT TAUGHT ME

Designing reusable puzzle systems taught me to connect mechanics, level structure, and player understanding. Adding the tidal indicator showed how clear feedback helps players decide when to act. Team reviews and playable prototypes helped me communicate design decisions and refine them with others.