At the outset of Module 4, we had in mind that we’d create a level that began players in a test chamber aboard the Erudition (the research vessel within which Radiance takes place). This test chamber would be a tutorial area, teaching the player how to use their telekinetic and primary fire abilities. From here, players would pass through hallways, laboratories, and more test chambers, fighting enemies and solving puzzles until they reached a larger foyer-style area nicknamed the Hub. In essence, we had four biomes or environments: Test chambers, hallways, laboratories, and the Hub. We theorised that we could add additional gameplay branches off the Hub area depending on project progress.
Left: The sprawling level design we had at the end of Module 4. Right: The much reduced final level design.
At this stage of development, both our tutors and guest industry experts recommended focusing on one environment first, using that to benchmark art creation velocity and gauge the scope of level we could realistically create. We chose to focus on the Hub area, as if it turned out we could only create a single environment, this one would give us a large space within which to create telekinesis puzzles and enemy encounters. In short, it would give us the most gameplay for the art team’s efforts; the most bang for our buck. This ended up being a very good plan, as it soon became clear that our original level design scope was too large. Now that we could only guarantee the Hub environment – with additional environments as stretch goals – we had a problem to solve. How can we get a good amount of gameplay out of a much smaller level? Our tutor, Zuby Ahmed, had previously mentioned the idea of reusing the same space repeatedly, referencing games like 12 Minutes (Luis Antonio; Annapurna Interactive, 2021) as examples of this idea. I began brainstorming how this might work with our telekinesis puzzle solving mechanics and combat encounters.
A storyboard showing the (very rough) illustrations used to describe the loop mechanic concept to the wider team.
I came up with the idea of a partial looping mechanic, where certain level elements would reset while others wouldn’t. The ‘loop’ would trigger when the player either died or ran out of time. When this happened, the player would get set back to their spawn location, enemy instances would be destroyed, and enemy spawn triggers would be reset.
Crucially, however, puzzle progress would not reset, and nor would other level elements such as unlocked doors or activated lifts. This would allow the player to solve puzzles across multiple lives, and to open up shortcuts for themselves so they could access different parts of the level without requiring a longer loop timer for each life.
This idea would allow us to use our one gameplay space multiple times, getting as much value as possible from the work our artists put in. Not only that, but it would create extra tension for the player, with them rushing to complete enemy encounters, solve puzzles, and make progress before their time runs out.
I presented this idea first to the design team to get their thoughts and feedback. After some refinements, and with the design team in agreement that this was the way to go, we presented the idea to the programming and art teams. It took slightly longer to get some of them on board with the idea, but once we'd implemented a prototype looping feature and run some tests, they came to understand how the loop would benefit the player experience: longer playtime, increased tension, the opportunity to master the level, and more. A myriad of player benefits.
Loop Design Mechanic
In designing how the looping mechanic should work, I looked to popular time-looping games from the last several years. Key amongst these were Deathloop (Arkane Studios; Bethesda Softworks, 2021), 12 Minutes, Minit (Vlambeer; Devolver Digital, 2018), and Outer Wilds (Mobius Digital; Annapurna Interactive, 2019). I looked into how the looping mechanic affected level design and gameplay, and how an impending loop was signalled to the player.
The end of the loop in Outer Wilds (a 22-minute loop) is signalled primarily using audio cues, and given the fast-natured pace of Radiance's gameplay, I thought this was a good way to go. I created a sound that would play as the loop drew to a close. This started out as a 30-second sound, but we eventually decided to reduce the overall length of the loop to heighten tension, and as a result, reduced the end-of-loop signal to 10 seconds. The sound I created combines a speeding heartbeat with a winding down drone sound. Heartbeats have long been synonymous with near-death in all manner of video game genres, so the design of this sound plays into player expectations of what that sound means. The amount of time left is also communicated to the player via a UI element beside the health bar. This UI element is styled like a battery and drains over time. Throughout most of each loop, there's no numerical indicator of how much time is left. This is a deliberate choice, and heightens tension for the player, leaving them wondering whether they have enough time left to complete their current objective. A numerical timer does appear for the final 10 seconds however. The inclusion of this final timer removes the guesswork for the player, telling them exactly how long they have to complete the task at hand until the loop runs out. Initially, the player had an infinite number of loops, but following feedback from stakeholders we implemented a hard limit. If the player ran out of loops, they'd be hit with a game over screen and need to start again. This limit was initially set to 5 loops, but reduced to 3 during testing. Likewise, we initially set each loop to last 120 seconds, but reduced this to 60 through testing.
The last piece of the puzzle added at this stage was a loop-centric pickup: G-Light Canisters.
Left: The player's G-Light meter
Middle: A G-Light Canister
Right: The player runs out of time and fades away
Adjusting the Loop
Through testing, we discovered the need to make a few changes to the way the loop functioned. Initially, the timer began as soon as the game began, and then again whenever the player respawned. This led to a lot of players feeling overwhelmed, and they rushed forward without considering what they needed to do on the next loop. As a result, we saw a lot of game over screens. Furthermore, this setup provided no opportunity for players to stop and consult their database to look at their current objective or read up on Radiance’s lore. To combat this, we added a starting room and set the loop timer to begin only once the player steps outside of it. To prevent the player returning to this room mid-game to replenish their timer, we added a one-way door that allows the player out of the room but not back in. This solved the problem of players feeling overwhelmed, allowing them an opportunity to plan what they’d do in the next loop, and an opportunity to read the datalogs they’d collected if they wished. Also key to making Radiance fun to play was the creation of a difficulty curve across multiple loops. Initially, the first loop featured combat in both the main Hub area and in the Storage area. The combat in the Hub was deemed to come too early in the player experience, and resulted in the player having to learn too much too quickly. In the end, we removed combat from the Hub in the first loop. This gives players the opportunity to learn how the loop functions and how telekinesis puzzles work before challenging them with enemies to fight.
Comments