Cavern Cache Platformer Level

Inspired by the upcoming remake of Prince of Persia: The Sands of Time, I decided to create a level with simple platforming mechanics, set inside a hidden cavernous treasure trove in Azad.

Blockouts “ROCK”

During the first week, I added wall running and sprinting functionality to the third-person blueprint in Unreal Engine 5 and created blueprints for moving platforms, switches, spike traps, flame traps, and collapsing platforms. With these tools and obstacles created, I started grey-boxing the level to plan my overall composition and the elements needed for my environment kit and props.

Over the second week, I used my first blockout pass to plan what shapes I’d need to include in my rock kit. I created 20 low-poly proxy meshes in ZBrush to keep the overall look very organic. Because the scene is being lit with Lumen, which relies heavily on mesh distance fields, I needed to make all of the rock meshes watertight. Placing these proxy meshes in the level helped me establish a sense of scale to keep the polygon density consistent across the final assets, varying from 10 triangles per square meter, up to 30 depending on the silhouette complexity, and distance from the playable area. With the proxy meshes all placed and lit, I created a master material for the rocks, which uses 6 common tiling textures, blended with unique mask textures for each rock. This material allows me to change tiling based on the world scale to keep a consistent, high texel density, reduce draw calls by using one master material for all rock assets, and hide tiling and texture repetition through the use of unique material layer masks.

slide2
slide3
slide4
slide5
slide6
slide7

Level Design Principles

In the opening level sequence, I added a camera shake and some dust cloud particle effects before the platform collapses and the player falls into the cavern. This establishes a vocabulary with the player that camera shake and dust = falling, which is quickly reinforced by the next section of falling platforms. This opening sequence also presents a clear objective through the use of a bright warm light source in the distance and acts as a one-way valve, motivating the player to move forward. Throughout this first sequence, I regularly break the player’s line of sight with the objective and then reveal it again to create a sense of tension and reinforce their goals. Playing with the verticality of the map allowed me to present privileged perspectives, creating beautiful vistas and opportunities to plan.

Next, I added malfunctioning traps and old skeletons to breathe some life into the scene and convey a sense of danger to the player. I also added pinch points to control camera positioning and set up better compositions. This also helps to reinforce the scale of the map by transitioning from large open areas to confined spaces, and then back out into the open. Finally, by scripting the bridge to collapse, I created a moment of tension and forced the player into a new perspective.

slide2
slide3
slide4
slide5
slide6
slide7
slide8
slide9

What’s Next?

Over the next week, I will detail the remaining props and assets to add more life to the scene. After that, I’d like to add some falling sand particles and decals for more variety.

Thanks for taking the time to read through this, and I hope you check back next week to see where I’m at.