Level Design Process

My level design process is rooted in a deep understanding of how bodies move through space. My background as a choreographer and performer in immersive theater has profoundly shaped the way I design digital environments. I always maintain a visceral connection between the player and their surroundings.

I guide the player by giving them a playground. Depending on the game’s mechanics, the set pieces in that playground change, but they always support, amplify, or challenge the player’s possible actions. By guiding the player through that playground in a deliberate order, I craft a visceral narrative for the player. This culminates in an experience where the player becomes an improvisational performer in an immersive, digital theater. 

This perspective is grounded in a design methodology shaped by my training at USC Games under Richard Lemarchand, and by choreographic practices from my time in the performing arts.

from clear documentation

to block-out, block-mesh and polished levels

My work is guided by this goal:

to create experiences that viscerally connect the player to the environment through action.

Documentation

I begin my process by creating a slide deck that is a concise distillation of my plan for the level to be created in-engine. Sharing this with collaborators allows me to get feedback and begin the iterative process from the get-go. This deck contains:

Level Flow - describes the level progression in written language, including pertinent information like encounters, environment descriptions, and sight lines.

Layout Sketch - a classic, hand drawn map of the level. This sketch includes elevation changes, markers for narrative and gameplay beats, and key sight lines to guide the player.

Image Board - filled with inspirational imagery that establishes architectural concepts, environmental inspiration, tone, and much more.

Block-out

The block-out is the first, in-engine iteration where I layout simple shapes in accordance with the layout sketch. This is quick and rough, but encompasses the entire level and maintains key elements like area sizes, elevation changes, and in-engine markers for encounters and narrative/gameplay beats.

So much is learned from this phase as it reveals trouble spots where 2D documents cannot capture the complexities of 3D space. Important considerations here are giving the player the appropriate amount of space for encounters and thoughtful consideration of sightlines.

Block-mesh Iterations

Upon receiving feedback from colleagues, play testers, and my own observations, I begin iterating extensively by crafting more nuanced shapes, leveraging lighting, and changing the layout.

This involves making specific shapes using Blender, Maya, or in-engine tools to craft specific architecture that will be iconic to the level.

During this phase, I playtest the level extensively to observe how player’s navigate the world. This is where I can assess the success of my goal. Are players moving and interacting with the space as I choreographed? What decisions do they make that are unexpected? How do I celebrate their decisions while maintaining the vision for the level?

Final Iteration

After many iterations, final art gets placed in the level, spaces are set dressed, and progression makes its final tweaks.

This project was made in Unreal Engine 5 as practice for my level design work.

Prototyping

As a level designer, I often prototype gameplay features and script NPC behaviors to support both cinematic moments and core mechanics. While working on Try Again, a fast-paced 2.5D platformer, I owned the “conveyor belt” level from initial concept through iteration and polish.

Built in Unity, this level required custom C# scripts to prototype the conveyor belt mechanic. I wrote scripts that moved both the player and objects along the belts, either forward or backward, and another that spawned obstacles dynamically to challenge the player.

My initial level design emphasized verticality, with the player jumping up or dropping down between belts. But through testing, I found this structure disrupted the fast, fluid parkour-like movement that defined the game’s core feel. To support momentum and urgency, I shifted the design to emphasize horizontal flow.

Inspired by Crash Bandicoot and other classic platformers, I used the conveyor belts not just as terrain, but as momentum-shaping tools. Their directional forces created timing challenges that pushed players to master the level’s rhythm of sliding, swinging, vaulting, and running with precision.

This prototyping process helped me refine both the mechanical function and the emotional pacing of the level, ensuring the physicality of movement matched the game’s intended experience.

Final Iteration

After extensive feedback from playtesters and the lead designer, I refined the conveyor belt level to intentionally disrupt the player’s momentum, at times propelling them forward, and at others slowing them down. This tension encouraged players to stay alert and read the environment moment-to-moment:
Which way is the next conveyor belt moving? How fast are obstacles being launched?

Flattening the level helped maintain clear sightlines so players could answer these questions quickly which preserved the urgency and speed of parkour-style movement while deepening moment-to-moment decision-making.