★
★
Out of over 1,500 submissions, SoulStorm ranked 49th for Game Design.
First-person parkour platformer
Effective re-scoping of the project and strong collaboration allowed us to execute successfully on the core gameplay and the player experience.
Polished demo
Team
Unreal Engine 5, Blueprints
Sep 2024 - Oct 2024
SoulStorm is a first-person parkour platformer where players explore floating islands, traverse platforming puzzles, and gather souls to reach the Soul Temple. Every level ends with an intense escape from the "Storm" that chases players back to the beginning.
Game Design - Worked closely with the other designer to design the gameplay, mechanics, movement actions, and gameplay loop.
Result: Out of over 1,500 submissions, we achieved 49th place in the Game Design category. Players enjoyed the exploration-escape gameplay loop: "The rush to escape each level was incredibly fun".
Level Design - Designed and built the final level. Reworked several sections based on player feedback and playtests.
Result: Players commented: "The amount of optional routes and small hidden areas [...] is insanely motivating", "Mind-Blowing level design", "Level design is also awesome, it was very fun running back to the start on the last level".
Development - Collaborated with the other developer. Developed the sliding mechanic and several game systems such as the Storm system, character movement, etc. Iterated on the character movement and sliding to improve responsiveness.
Result: Players enjoyed the movement: "I love the movement", "Loved the character controller for this", "the movement with the different mechanics feel great", "all things are fun and responsive".
Polish - Worked with the sound designer / composer to improve the audio experience. Implemented extra VFX and SFX to improve game feel. Enhanced the Storm effects based on player feedback.
Result: "This is one of the most polished entries I've seen this jam". Players also stated that the extra polish greatly improved the intensity of chase sequences.
UI - Designed and developed all of the game's UIs.
Result: Players demonstrated that they understood the game's objectives and all relevant information during gameplay.
The final level went through many iterations, but I always aimed to include: exploration, challenges that make the most of the mechanics, and an intense chase sequence that ends the game on a high note.
I designed the level with a critical path to give players a clear goal but also included side paths with collectable souls that encourage exploration.
Players really enjoyed this aspect: “The amount of optional routes and small hidden areas [...] is insanely motivating”.
Along the critical path, I designed light platforming puzzles that get players to thoughtfully use their movement actions, keeping them engaged.
Side paths and collectables were also incorporated in some platforming puzzles, creating deeper and more multidimensional challenges.
I also designed the side paths to get players to interact with mechanics in unique ways to make the most of the game’s features.
Players felt that this level was unique and a great way to conclude the experience: “that last level was a real ride”.
Playtesters initially criticised the chase sequence for being underwhelming. I identified that many of the issues stemmed from the level design.
I reworked the pacing with moments of tension and release. I’d slow the player down with an obstacle (tension) and then let players create a gap between them and the Storm (release), forming an exciting cycle of intensity followed by triumph.
To enhance the intensity even more, I added “encounter” sections that force the player to be face-to-face with the Storm. Players said this greatly improved the intensity of the chase sequence.
Overall, players really enjoyed the final chase sequence: “it was very fun running back to the start on the last level”.
The movement actions were designed to be multi-purpose for both exploration and escape sections.
E.g., sliding allows players to cross large distances, which is useful for exploration, but during an escape, it allows players to create distance from the Storm.
E.g., climbing allows players to reach higher areas, but for escape sequences, we used climbing sections as a way to slow the player down to create tension.
Players were highly positive about the character movement: “the movement with the different mechanics feel great”.
When prototyping wall jumping, the other developer had coded it to stick the player to the wall. We saw potential for this to be a fun and unique feature, so we re-imagined it as wall climbing.
Instead of limiting players with pre-placed “hooks” in the level, we allow them to climb on all surfaces except ones with foliage. This gives players the freedom to creatively traverse levels while allowing us designers to prevent climbing in certain sections.
Players enjoyed this mechanic: “I loved the climb [...] was a pretty fun mechanic that I haven’t seen done that way”.
While the player is sliding, the gradient of the floor relevant to the direction of movement is calculated, and the player's velocity will increase or decrease accordingly (i.e., a steeper downward slope = greater increase in speed).
It partially preserves the player's falling velocity before landing; it limits the change in velocity to prevent uncontrollable speeds; and when the player stops sliding, it adjusts their movement speed to create a smooth transition from sliding to walking.
All of this successfully creates a fun sliding system that’s versatile, fluid, and responsive.
A snippet of my code for the sliding system. A higher resolution image can be viewed here.
From the beginning, we had structured gameplay with two distinct states: the exploration “calm” state and the escape “storm” state. The contrast in pacing is what interested us the most about this structure.
However, we quickly realised that our plans were far too ambitious for the time we had, so we rescoped.
With the original concept, we reworked the gameplay loop and progression to be scalable during development. It moved from an open-world approach to a level-based one where content could be independently added without affecting the rest of the game.
This allowed us designers to focus more on polishing the mechanics, handcrafting levels, and delivering the game on time.