Game Project
Dinosaur Run
Dinosaur Run: Journey in Design
Game Engine: Unreal Engine
Team Size: 3
Role: Level Design + Mechanics Coding
Design Goals
Teach players mechanics without tutorials
Create a sense of momentum and discovery
Balance challenge and approachability
Use visual design to guide player behavior
Key Mechanics
Jump — Basic movement
Dash — Cross bigger gaps or dodge threats
Jump + Dash — Extend distance or fix mid-air errors
Glide — Control how you fall and when you land
My goal was to introduce each mechanic so naturally that players discover it on their own.
Level Design Walkthrough
Part One: Escape From Danger
Ability: Jump only
Goal: Incoming enemy forces player to move
I wanted players to feel pressure naturally, so I introduced a slow enemy
Wide platforms and small gaps let players build confidence in jumping while staying safe
Slow moving enemies ahead give room to experiment with timing
Part Two: You Fly
Ability: Glide
Goal: Show that you can’t get pass without gliding
Players face a gap too wide to cross by jumping alone, so it forced them to discover glide through failure
Falling reveals monsters below, adding urgency without punishing restarts
A climbable path lets players retry quickly, turning frustration into hope
Part Three: 1+1=3?
Ability: Jump + Glide + Dash
Goal: This part player have to combine what they learned
This level is the first time players have to use jump, dash, and glide together
Tight walls and tiny landing spots push them to chain moves mid air
Dash too early and you’ll fall, glide too late and you’ll miss the wall
"This was the moment it felt like a real game, where players stopped learning and started performing."
Balancing
In Easy Mode, players can jump 20% higher (300cm/s & 360cm/s) and their dash travels 10% further than in Normal Mode. These subtle boosts help new players without removing the challenge
Part Four: The Real Test
Ability: All abilities unlocked
Goal: Push players to combine everything they've learned under pressure
Complex sequences that require jump → dash → glide without pause
Every section is a remix: tighter spaces, faster pacing, higher stakes
Muscle memory into sense of accomplishment
Physics Scaling Between Modes
Easy Mode includes checkpoints, it allow players to respawn midlevel. This greatly reduces frustration for less experienced players, while Normal Mode offers no such safety net
Checkpoint System
I personally enjoy designing levels that require perfect execution like jumps that land on the final pixel. But not all players find that fun. So I introduced dash as an optional safety tool, you can beat the level without it, but it’s there if you need it.
Designing for Perfection, But…
In early levels, the enemy dinosaur is placed so that players have about 0.5 seconds to respond (250cm/s, so technically they are slower than the player) before it hits you. That quick window adds a sense of urgency without making things too overwhelming. In Easy Mode, I space out the enemies more to give players a bit of breathing room between each challenge.
Other Adjustments
Decrease player hitbox by 20%
made movement feel smoother and less clunky
Increase basic movement speed by 185%
early versions felt unengaging
Increased lives from 1 to 3
A single life was too punishing and discouraged learning through trial
Removed flying dinosaur enemies temporarily; will reintroduce them in future advanced levels.
Increased dash cooldown from 0.1s to 0.5s to prevent dash spamming.
Repositioned camera to center
Original top-heavy angle made it difficult for players to anticipate what's below
Removed attack mechanic
Initially, players could kill enemies, but it shifted focus away from timing and movement