BGM: smile again - she’s green
Edit By FoxMiao
Underhazer
Single Player
FPS, maze, horror
I worked as: Lead system and combat design, Lead blueprint programmer, video editor
Underhazer is a single-player FPS adventure based on a cute-horror Y2K dreamcore art style.
After her best friend Wisty’s suicide, 17-year-old Nyla and her Tamagotchi pet are pulled into Undergrid, a nightmarish realm where her repressed memories and emotions come to life.
Players must take the Tamagotchi weapon and engage in combat with enemies to discover the mystery of Wisty’s death.
Link to Underhazer project page
Work in Underhazer team
I designed how combat works in Underhazer, but it was not easy. Given our resources, I needed to determine what we should focus on and how we could make a unique game.
I made all the blueprints in Unreal Engine 5 during development. Some of them were modified from a classic Doom-like Dev kit.
I also worked with animation, VFX, and UI/UX artists to create this dark but stylish world. I adapted all of the UI and enemies from them for Unreal 5.
Also, this is the first time we have used Perforce for a project. I have to make sure our level designer and people who import 3D assets don’t have merge issues.
Tamagotchi Weapon
In the early concept stage, our narrative designer, Jacqueline Cao, and I came up with a Tamagotchi pet that integrates into the player's main weapon.
This will impact how players review information from the game. Our Tamagotchi pet, “Uni,” will react differently to players depending on the situation.
When players are running low on HP, Uni worries about them. Or, Uni will show a scared face to warn players there is something dangerous ahead of them.
By designing it like that, we think Uni will bring players closer into the story and create a more emotional connection with our characters.
Enemy in the world
In the planning stage, we decided that the game would have a dream core vibe and feature many scary-looking monsters.
To bring those to life, after evaluating the size of the team and the time, we decided to have all the enemies in 2D, which gives us a more unique look in-game and allows us to make them fast.
Making the enemy in 2D was not hard in Unreal 5. It functions just like a 3D character, except it uses a paper flipbook for animation.
Working with our animator, we find a work floop that easily brings animation from Spine:2D into Unreal.
Enemy object
2D Enemy in Unreal view
2D Enemy in combat
Combat in Underhazer
Combat is designed to be fast and intense in Underhazer.
Waves of enemies will show up during exploration, and they will keep chasing players until they get kills.
Once they are killed, enemies drop candy, which players feed to Uni to get Ammo for their weapon.
We added a feature called blood reload, which allows players to feed Uni with their blood when they run out of candy. This balances the ammo supply and makes each move more important.
How the game look like this
I spent a lot of time recreating this dark but colorful view from our concept art.
I used almost every feature in the post process to create this color grading, and I kept toning it based on our players' feedback.
Also, I used a post-process material to lower the in-game resolution. It didn’t make the game look blurry but gave it a retro and pixelated feel.
Concept Art by Ingrid Huang
Playtest QA
Thanks to our amazing team, we have had many playtests and good feedback. From that feedback, we not just reshaped many things, but we also added more features.
Mini map system
New interaction for in-level HP recovery
Better UI feedback
More reaction from Uni
Knockback effect
Better light design for enemies
Enemy rebalance