Bringing the World of Lucky’s Tale to Life

Phill Johnson, Game DesignerBlog Hero Image
Virtual reality…in third person?
A couple years ago we brought an early version of of Lucky’s Tale to E3 and got a lot of interesting reactions. The most telling of these were the quirked brows and “what the?” expressions we got when we explained that the game was a third person platformer. At the time, everyone assumed virtual reality was solely for first person experiences. Few anticipated just how well the platforming genre paired with the emerging medium.
Fast forward to today – reviews have called the game’s immersive-yet-comfortable style a great introduction to VR.
Make the VR count
From the beginning, we focused on creating moments you can only experience in VR. Each level in Lucky’s Tale has a specific theme or mechanic reinforcing this idea. In Magma Mambo, a volcano towers high above you at the start of the level, prompting you to look up and around you. Then you follow Lucky inside the volcano (because, dude), and it feels like you’re actually in there with him as lava engulfs platforms and jets of flame shoot toward your face. Another level takes place in a pitch-dark cave, and we place a headlamp on your head to light Lucky’s path so he can move forward. We also have a level where you throw bombs at a series of targets, changing the environment around you and Lucky. For the aiming mechanic, we ditched the joystick and rigged it to player head movement, transforming a typically advanced gaming move into something anyone can do. The examples go on — throughout the game we use enemies, encounters, and interactives to expand your spatial awareness.
Because VR is such a new experience, we reinforce these teaching moments with the Teach-Master-Twist design pattern, where each moment gets progressively more challenging. An example: We introduce you early on to Bombat, who is, as his name suggests, a bomb-wielding bat. To defeat him, you catch his bombs (using VR’s depth perception to know exactly where they are in space) and send them flying back at him (here again, looking with your head to aim). Later, Bombat brings some friends, requiring you to dodge other enemies at the same time. This is a chance to apply what you’ve learned about Bombat: you can throw the bomb back at Bombat and take him out, or you can use his bombs on the other enemies nearby for a ranged attack. And for the twist, we might continuously spawn Bombats to help you hit a specific target, or the encounter might occur on a set of rolling logs over water, so you have to watch your footwork in addition to catching bombs.
Learning from the best
No one on our team had worked on a platformer before, so we had to teach ourselves everything and then figure out how to make it work in VR (or be willing to discard it if it didn’t work). We drew inspiration from a variety of sources — everything from revisiting a lot of our favorite platformers and other immersive-world games like World of Warcraft to studying rides at Disney World. Some of our earliest designs included recreating VR versions of our favorite levels from Mario 64 and Banjo Kazooie. We learned just how uncomfortable and awkward arena-style levels are in VR (particularly when you have to walk toward the camera).
Disney rides like The Haunted Mansion and Peter Pan’s Flight showed us the importance of setting the tone with an alluring introductory space, then moving people through rooms and areas full of highly varying sights and sounds, finally working toward a big reveal, all ebbing and flowing at a calculated cadence. World of Warcraft’s dungeon design follows this feel in a lot of ways, working through encounters while using turns as pinch-points for visuals and introducing new challenges each time you enter a new, themed room. These examples helped inform the flow and cadence of Lucky’s Tale, where we gradually draws you into the environment to face unique encounters, varying the experience with pinch points, then exploding it out into an awe-striking moment afterward.
Concerning the camera
Designing a level for Lucky’s Tale starts out — as many game levels do — as a white box design. That means white walls, rough collision, something resembling gameplay arenas and hiking trail-styled signs with symbols denoting what kind of challenges the designer has in mind for the space you’re walking through.
Levels go through a lot of white box testing before we even think about adding gameplay and art. In VR’s case, we aren’t just worried about where Lucky can go, but where you go as well. Everywhere Lucky can go, your head comes along for the ride. Unlike most 3D platformers with “smart” cameras which pull in closer to the character whenever a wall collides with it, we don’t move the camera at all except when you initiate the motion either by moving Lucky or moving your head with positional tracking. This is crucial for preserving comfort. So the design has to account for how close to a wall Lucky can get and how likely you are to place your head through it, either intentionally or unintentionally. We don’t stop you from moving your head where you want (which could cause simulator sickness). Instead, we keep the walls far enough out, or tapered away from the floor enough that accidental head collisions are unlikely. In tight spaces we actually fade the camera to black whenever your view clips with the geometry.
In order to make the most comfortable experience possible, we take into account how fast the camera can move, how closely it follows Lucky’s movements, and we avoid opportunities for geometry to come between Lucky and your eyes, while actively moving deeper into the world. Practically speaking, this means seeing fewer 90-degree turns in corridors/climbs and more 45-degree transition spaces.
As mentioned earlier, Lucky is a very forward moving character, but there are times when you’re given options. Should you go left, or right? Hit a switch and a secret door opens leading far off of the main path. We avoid blind jumps and running backward at the end of these secondary paths by way of our foxhole system. When Lucky reaches the end of a branching path, a foxhole neatly brings him back to the fork via gentle jump cutting, allowing him to continue on his journey forward. This was a major level design decision for us, allowing us to reward you for exploring without incurring a time or comfort debt.
A huge, tiny world
Every environment in Lucky’s Tale is peppered with what we’ve termed “vista” moments. These areas function as a rest stop, providing a break from busier moments like fighting through multiple waves of enemies, solving a complex puzzle, or making a difficult jump. Each vista is different — maybe it’s a lush view of the world, or a high vantage point offering a view of the next area — but they all serve to remind you that you are, in fact, in virtual reality with an unprecedented level of freedom to explore. So we packed them with goodies like crates, coins, and checkpoints,as well as changes in the direction of the path, all of which encourage exploration and looking around.
We’ve also found it can be refreshing to let your eyes focus on the far-off parts of the world after stretches of near-focus. We emphasize this in levels like “Rainbow Forest,” starting Lucky in an open area with a large windmill up on a hill, then through a tunnel leading underneath, and finally exploding the view out into a wide canyon. It’s also another tool we use to emphasize the VR, forcing you to move your head to see the way forward.
The product of perpetual iteration
If there’s one thing we can say about what made Lucky’s Tale such a beloved experience, it’s that the game is a labor of love, testing, and tweaking. Every level went through countless iterations. We had to ask ourselves, “How can we +1 this?”. We’d figure out what we liked least about a level and polish it until it became the thing we liked the most, then move onto the next least-loved thing. And we ran through hundreds of hours of play testing, taking careful note of any confusing or uncomfortable moments and ironing them out later.
We’ve iterated right up to the very end (and certainly appreciated the patience from Oculus as we continued polishing up to the last minute). All the evidence suggests that it paid off. So far, people seem to love Lucky as much as we do, and we couldn’t be more proud of that.
Design
Did you find this page helpful?
Explore more
GDC 2026 Highlights: What's Next on Meta Horizon OS
Catch up on GDC 2026: where VR is headed, what's new in Meta Horizon OS, and the tools and Store updates helping developers ship faster.
All, Apps, Design, GDC, Games, Quest, Unity, Unreal
The State of VR at GDC 2026: Building a Sustainable Future
Explore the state of VR from GDC 2026: stronger app discovery, growing Meta Quest usage, more $1M+ titles, and much more.
All, Design, Games, Hand tracking, Optimization, Quest, Unity, Unreal
Faster Builds, Smarter Discovery, and the LiveOps Playbook: What to Know After GDC Day 2
Explore Day 2 at GDC 2026: tools to speed up builds, optimize Store discovery, and learn LiveOps strategies from Gorilla Tag.
All, Apps, Design, GDC, Games, Optimization, Quest, Unity, Unreal

Get the latest updates from Meta Horizon.

Get access to highlights and announcements delivered to your inbox.