Level is a puzzle game. The player acts on the environment to move a ball, collect tokens, and advance through three different levels.
The player can use three skills: move, jump, and attack. Victory means collecting tokens and/or defeating enemies, then reaching the exit. Failure is losing all HP or falling off the ground.
The first level teaches movement. The second teaches jump. The third introduces health and attack with a small mini-boss. Mechanics stay simple so level design can carry the experience.
- Teach-by-space design: no heavy tutorial walls
- Core loop: tilt, jump, attack, collect, exit
- Three playable levels focused on progressive mastery
History
The utilisation of computers is not intuitive to humans. We must learn how to use it. — Sjoerd “Hourence” de Jong
The project began after studying level design through games and books. A line from “The How’s and Why’s of Level Design” stuck: tools are not intuitive — people must learn them.
That raised a question: could a game be intuitive enough that someone plays it naturally without frustration — the way Mario Bros. often feels?
That question became the beginning of Level.
Design goals
Two precepts guided the work: stay simple enough that players can learn without being taught every mechanic, and force players to use every mechanic that is introduced.
The core mechanic: move the ball by tilting the ground so it travels through the world.
Early stage — prototypes
Unity physics was unfamiliar territory after mostly 2D tutorial work. The goal was a ball that feels recoverable after mistakes — small initial acceleration, later terminal velocity.
The first prototype was a free-falling ball used to feel velocity and collisions. Targets like “magnitude 4 from rest on a 10° plane within 5 seconds” became reference feel, then adjusted by play.
Wall collisions needed custom bounce logic (reverse pre-impact velocity with AddForce, then correct angles with vector math) before the ground and walls felt natural enough to build levels.
Hardest challenge — tilting planes
Because Update runs every frame, vertical displacement from Quaternion.Slerp depends on plane size. If per-frame motion stays smaller than the ball collider, the ball follows. If the plane is too large, displacement exceeds the collider and the ball falls through.
Fast left/right tilting near edges makes it worse. Jumping near an edge can reset the plane to identity while the player still holds tilt.
The fix: limit plane length and max rotation, and raise physics refresh rate — which is why long paths in Level 0-2 are successions of small planes instead of one long slab.
Mid stage — teaching in the world
With mechanics in place, the next goal was forcing players to use them without a separate tutorial. World panels say “exit” or “jump.” Controls stay familiar: WASD/arrows and space.
Rotating tokens with sound invite curiosity; UI confirms collection. Exit animation and ground color cue which platforms can move.
Level 1 teaches tokens, exit, and changing planes. Level 2 teaches jump and falling. Level 3 introduces health and attack.
Retrospection
Playtests with gamers and non-gamers showed the design was not as intuitive as hoped — almost nobody finished without help. Gamers usually learned faster.
Common stuck points: not realizing velocity carries when leaving a tilted plane (~70% of testers), and jumping without building speed first. Non-gamers often repeated the same failing action; gamers tried new options.
The takeaway: exploration habits from games help, but tools still need to be taught before players can invent solutions.
Conclusion
Level was meant to keep game design simple so level design could own difficulty, surprise, and fun — introducing mechanics only after earlier ones felt earned.
The foundation is complete enough to grow: new puzzles, enemies, and maybe a story. Thank you for playing.

