Umbra
A dark, atmospheric action role-playing platformer set in a sprawling 2.5D world.
Arm yourself with a trusted sword and team up with an uncanny ally capable of bending light to your will, illuminating paths and secrets hidden in the shadows. https://chawanmushi.itch.io/umbra
Summary: A two-week dive into Unreal Engine 5’s 2D workflow and UMG UI systems, where I implemented enemy behaviour trees, dynamic lighting, fog effects, and parallax layers to a 2.5D pixel environment to create an atmospheric tutorial level for Umbra.
Role: Game Design, Game Development
Outcome: Tutorial and first level
Engine: Unreal Engine 5.3
Tools: Unreal Engine 5, Figma, Adobe Suite, Aesprite
Team Size: Solo
Duration: Two weeks
Contributions:
Concept and design of core gameplay loop and mechanics
Technical implementation of 3C’s and enemy AI
Level design of three locations: Tutorial Woods, Old Forest Path and Abandoned Mine
Environment blockout and implementation
Problem space:
Action role-playing games like the Souls series, Assassin’s Creed and The Witcher franchises can be impenetrable to a more casual audience interested in their worlds and narrative.
Soulsborne games for example have an extended learning curve for their intricate systems—like stamina balance and learning skill timings through repetition. These RPGs can also pose an issue to completely casual gamers who are not familiar with fluidly navigating 3D environments through synchronized inputs to move their character and camera view.
Opportunity space:
In looking for a solution that didn’t simply scale back the difficulty of ARPGs, I found a compromise in removing a dimension from this genre, reducing the possible control combinations at any given time for a player by limiting camera movement.
The jump section in Spellsinger. The platforms have already been extended and brought closer together in the version shown here.
Inspiration and stakeholder: The casual gamer
During a playtest for my solo dev project, Spellsinger. One of my playtesters struggled with a platforming section requiring them to perform quick consecutive jumps in opposing directions to progress.
They explained that because of their limited gaming experience, they had to think during these simultaneous inputs, slowing down their responsiveness. First-person games furthered this pain point because they were unfamiliar with controlling their players’ movement and camera together. Talking about their gaming journey, they mentioned feeling intimidated by certain game genres because of these challenges.
This playtest helped me realize my own bias as someone who has played games for most of my life and was a reminder that inclusivity and accessibility in games can take many forms, especially for players newer to gaming.
Player goals:
Using 2D as a medium, design an approachable platformer using pixel-art as a familiar anchor. Juxtapose this style with high-fidelity lighting and FX to create a distinct and atmospheric world as the visual hook and connection back to games like Elden Ring. Ensure that the level is accessible to a casual crowd through player tutorialization of movement and controls and level design focused on exploration.
Accessible level design that focuses on progression through exploration and simple puzzles instead of intensive combat or skillful navigation of platforms.
Connect players with Murmur—the game’s companion character—early on, nudging players to rely on them for tutorials, hints and narrative sprinkles.
Empower players passively to explore the world around them by having Murmur follow them closely and illuminate their surroundings.
Development goals:
Learn Unreal’s 2D pipeline and workflow and implement friendly and enemy NPCs capable of simple behaviours and dialogue.
Utilize Blueprints to build out a scalable and reusable 2D level with two major sections and an environment transition.
Learn Paper2D—and subsequently, the PaperZD plugin—to implement locomotion in sprite actors, visual animations for actor actions and anim notify events for combat components.
Delve into UE5’s UMG UI designer to bring some Figma UI mockups into the game.
Implement a single enemy with a behaviour tree that allows it to switch between patrolling, seeing and hearing, following, attacking and searching for player actors.