CHAO BIAN / SELECTED WORKAll projects ↗

INDEPENDENT GAME DEVELOPMENT / UNITY

Shadow RunnerOne input. Two worlds.

A split-screen puzzle game in which the same movement input controls both characters simultaneously. I designed, programmed, tested, and released five levels built around the consequences of that shared input.

Play on itch.io ↗
RELEASE TRAILER / EDITED BY ME Watch on YouTube ↗

From an idea to a released game.

Developed as a game course project, Shadow Runner took me through proposal, proof of concept, prototype, Alpha and Beta testing, and release. I handled game design, programming, level design, testing, publishing, and trailer production.

Art and music use external assets. My work includes selecting and arranging those assets to support the levels and their visual communication.

01 / CORE MECHANIC

Same movement.
Different consequences.

Shared input does not keep the characters in the same relative position. When a wall stops one character, the other can keep moving. The environment becomes a tool for changing their alignment.

EARLY GRAYBOX / SHARED MOVEMENT, WALLS, AND LINKED SWITCHES

Test how far one rule can go.

I used the graybox to test whether shared controls, asymmetric walls, and linked switches could support a complete puzzle. Simple geometry kept the focus on the spatial relationships.

02 / LEVEL DESIGN

Five levels around one rule.

The levels explore shared movement through different combinations of space, switches, teleportation, boxes, and enemies.

Level 1: shared controls across the warm real world and blue shadow world
LEVEL 01

Shared controls

Different walls and linked switches introduce the need to watch both worlds.

Level 2: changing alignment across the warm real world and blue shadow world
LEVEL 02

Changing alignment

Teleportation changes the relationship between the two characters.

Level 3: planning a sequence across the warm real world and blue shadow world
LEVEL 03

Planning a sequence

Boxes, switches, and teleportation bring multiple actions into one puzzle.

Level 4: reading the space across the warm real world and blue shadow world
LEVEL 04

Reading the space

Different wall lengths create a safe position while the other character operates a trap.

Level 5: combining constraints across the warm real world and blue shadow world
LEVEL 05

Combining constraints

Moving boxes in one world must account for enemies and space in the other.

A CLOSER LOOK / LEVEL 04

Make the difference visible.

The fourth level asks the player to use unequal wall lengths to protect one character while the other operates a switch and traps an enemy. The solution depends on noticing a small but meaningful spatial difference.

Walls & safe position

01 / PROTOTYPE REAL WORLD / SHADOW WORLD

AAB
Select image to enlarge.

02 / RELEASE REAL WORLD / SHADOW WORLD

AAB
Select image to enlarge.
A / WALL ENDS
Unequal wall lengths let one character keep moving while the other is blocked, changing their relative positions.
B / SAFE POSITION
The shadow character stays behind the longer wall.

The player uses the longer wall to block the shadow character while the same movement input carries the other character toward the switch. This keeps one side safe while the other controls the enemy enclosure.

Switch & enemy enclosure

01 / PROTOTYPE REAL WORLD / SHADOW WORLD

CD
Select image to enlarge.

02 / RELEASE REAL WORLD / SHADOW WORLD

CD
Select image to enlarge.
C / SWITCH
The other character operates the linked gate.
D / ENEMY ENCLOSURE
The gated enclosure contains the enemy, clearing the route forward.

What testing revealed

A tester reported spending around fifteen minutes before noticing that the walls had different lengths. The wall-length difference needed to be easier to notice.

My response

I used environment assets to make the walls more distinct. The aim was to help players notice the information needed to reason about the puzzle.

Watch the finished fourth level 28 sec

03 / PLAYTESTING & ITERATION

Feedback changed the decisions.

Peer reviews on macOS and Windows helped distinguish unclear information, awkward interaction, and changes that weakened the puzzle itself.

01

MOVEMENT & PUZZLE CONSTRAINTS

Remove a shortcut that bypassed the challenge.

In the Alpha review, a tester found that Shift sprint let them outrun enemies in levels four and five and ignore the puzzles. A feature intended to improve movement had changed the conditions those levels relied on.

Decision: I removed sprint and reduced enemy speed. The aim was to preserve the need to solve the puzzle while giving players more time to act.

02

SUCCESS FEEDBACK

Make completion recognizable.

Players could solve a puzzle and still be unsure whether they had completed the level. I added a distinct completion sound and effects around the characters.

Design lesson: The sound and effects let players know they have triggered level completion.

04 / SCOPE & RELEASE

Commit to the
core mechanic.

Early ideas included changing shadow size through lighting and a multi-light boss encounter. I narrowed the scope because synchronized control already offered enough room for a complete game.

That decision let me concentrate on five levels, scene presentation, feedback, testing, and a playable release. Taking the project through publishing and producing its trailer was part of the work, alongside building the game itself.

Knowing the solution made it easy for me to overlook the clues a new player might miss. Playtesting taught me that designing the puzzle also means making its key rules and spatial differences discoverable.

Play Shadow Runner ↗