Somniphobia

Overview

Project Type: Single Player Horror Game | Team Size: 10 people | Duration: Sept 2023 - April 2024 | Software: Unreal Engine 5.2

Somniphobia is a fixed-camera survival horror rogue-lite in which the player is trapped in a never-ending nightmare and must break the cycle. The game was developed in Unreal 5.2 with a team of 10 people, including 3 designers and 7 programmers. I was the Lead Level Designer and User Researcher on the project.

Design Goals

  • Create an effective tutorial.

  • Implement an efficient level design workflow with multiple level designers.

  • Design content that can be randomly generated for the game.

I was also the main User Researcher on this project. I conducted playtests, wrote research reports, and conducted a Focus Group. If you want to learn more about my focus group experience for this project, click here.

Trailer

Full Playthrough

Planning

The first pitch for this project was heavily based on fixed-camera horror games. For myself, I did research on some of our emulation targets Resident Evil 1 and Silent Hill 2. This helped me develop a basis for the atmosphere and level design that these games successfully incorporated.

Early Design

The pitch for the game involved a “never-ending nightmare” for the narrative pitch. This ended up being the inspiration for implementing randomization.

Hub and Spoke Model

Fork Model

We went through two different kinds of map designs before we settled on one.

  • Linear Path: We thought the randomness would make the experience too inconsistent.

  • Hub and Spoke: We had to cut puzzles entirely.

We settled on what we called the “Fork” Model, which had a Hub with two splitting paths. The paths would lead to key items that players had to collect, then come back to the hub.

The narrative we made for the game involved two main environments that we designed for, a factory and a home environment. As a team with no artists, this helped us as we could limit ourselves with asset packs for our visuals. I made a vertical slice room using assets to help sell the look of the final product.

Designing a Tutorial

For the tutorial, I focused on interweaving it within the experience of the game. Narratively, the player has woken up in this nightmare multiple times, so I structured the tutorial to feel dreamlike. I used words scrawled on the walls to help teach the player and an environment that warped between the two settings we had in the game.

Each room within the tutorial focused on different mechanics/controls the player had to learn:

  • 1st Room: Walking, the Flashlight, E to interact

  • 2nd Room: Locked Doors, Picking up Keys

  • 3rd Room: Equipping Weapons, Melee Combat, Enemies, Healing, Using Items

  • 4th Room: Ranged Combat, Reloading

I specifically left out the code mechanic that the player needs to open the boss door in the hub to encourage players to explore. To make sure players do not have to spend time running through the tutorial when they reach the hub, they will always respawn there.

Roguelike Level Design

For our room generation, I worked with programmers and designers to create a 2D grid system that worked within certain constraints:

  • Rooms could not overlap vertically.

  • Rooms needed at least 2 doors if they were not a key room.

  • Rooms had to be enterable from either side.

Within the system, we could control:

  • How many rooms each branch could generate.

  • Which types of rooms could generate (Hallway, Combat, Junction).

  • The weight of each room within the generation.

The system we came up with gave me a lot of freedom to create unique rooms. I gave each room a unique feel through looks, gameplay, composition shots, and the amount of exits.

For our key rooms, I needed to make them stand out compared to other transitional rooms. For the Pit Key Room, the player needs to go through the room to obtain a key. I structured this room to be an open, gaping pit where the player ascends a metal grate.

I designed the area to be approachable in two ways, with the key at the opposite corner of the room. This gave players a choice in which way they wanted to go, thus lending slight replayability.

The main issue that came up through playtesting our level generation system was players getting lost, leading to frustration. While we wanted players to have the feeling of getting lost, we did not want them to get frustrated. I worked within the system to come up with multiple solutions:

  • Locked doors had boards on them.

  • I did another art pass on problematic rooms to help landmark each door.

  • We tweaked the layout generation to stop two of the same rooms from connecting.

Level Design Workflows

Making this much content needed to be streamlined to get enough rooms within the game. For the game, rooms went through 4 steps until they were complete:

1. Whitebox - I made an initial layout with set camera angles, lighting, and gameplay elements.

2. Second Pass - I refine any gameplay issues such as enemy placement, navigation, and item placement.

3. First Art Pass - I added texture and props, and fixed any gameplay bugs to help the player navigate the space.

4. Final Pass - I give the space a visual identity by refining composition shots and final assets.

Click me!

This process helped us rapidly iterate on rooms and get them in the engine fast. As the lead level designer, I did most of the rooms in the game, but the other two designers helped when the workload got too much for me by creating first-pass white boxes for me. I then did the rest of the steps for the level.

What I Learned

What Went Well

  • Team Workflow: Being the main level designer on a team helped me develop a fast workflow that every designer could use to make levels for the game.

  • Tutorial Polish: Creating a focused tutorial that helped players grasp the basic mechanics and controls helped me understand the importance of those first few moments to hook players.

  • Roguelike Design: Having to work around the rogue-like elements we wanted for our game helped me shift my perspective on level design. I had to design levels that had to be played multiple times and still offer something for players.

What Could Have Been Better

  • Scope: We made a lot of content that did not see the light of day due to the game being a roguelike. I would like to go in and re-add it to the game at some point.

  • Boss fight: The boss fight at the end ended up being one of the weakest parts of the game. Players often got through the fight with no trouble and sequence broke it.

Even Better If

  • Polished Content: I would go back and add some of the extra features my team developed like camera shakes and random events to some of the earlier content.

Previous
Previous

Satellite

Next
Next

Somniphobia (User Research)