top of page

A game solo developed by Dylan Bassett

Dev Synopsis

Below Nowhere is my biggest solo game project. It was developed over roughly 18 months. 

​

As with all of my solo projects, I did the programming and design myself. Most of the art for this project came from Fab. Audio was from Freesound and Fab.

​

I coordinated with contractors from around the world. This included a 3D character artist from Georgia (the country), and a composer, The Nomad Communion, from England.

​

I also did all of the voice acting and performed motion capture for the project using a Rokoko mocap suit.

Programming

Below Nowhere was programmed in mostly Blueprints, with roughly 5% being C++.

​

The game has conventional first person movement, including walking, running, crouching, jumping, with the addition of sliding.
 

Gameplay logic was all done in Blueprints, as well as all scripting, UI, and data handling. C++ was used for a part of the monster AI system. One specific example was exposing the AI's 'eye' location to blueprint so it could set attached to a mesh bone. Alone, the AI perception's "eye" transform is locked to the capsule and control rotation. So if the monster's mesh turns it's head in an animation, that perception "eye" won't follow and remain static until the entire capsule turns. Exposing it's transform to blueprint was very simple and solved the issue entirely. I'm surprised this isn't built into Blueprints yet.

​

The rest of the AI is fairly simple, using behavior trees and blackboard values to check variables like player location, player visibility, etc.

​

The AI in this game has a unique characteristic that is uncommon in survival horror. Once the monster attacks and hits the player, he'll enter a flee state and run away and hide before patrolling again. This will be covered more in design. But it was extremely simple to implement given Unreal's behavior tree system.

image.png

Art + Audio Direction

The audio of Below Nowhere is integral to the experience. I worked closely with my composer to craft an unforgettable aural atmosphere. 

Each level's atmosphere is complete distinct. As a result, the level ambience is very different for each level. The laboratory is surreal, cold, and alien sounding, while the mineshaft sounds hollow, windy, and dead.

The enemy's music was the most difficult to nail. There are several tracks. First is the enemy ambience that plays when he is active. Second, is the proximity track that can only be heard if the player is in range. The proximity track increases in both pitch and volume as the player gets closer to Meat Man, further adding tension. Then, there are three different variations of chase music that play randomly. Lastly, there's a track that plays as Meat Man enters his flee state after attacking. It uses an unnerving descending Shepard tone to add more unease to his strange behavior. All enemy music, other than chase and overall ambience, is affected by level geometry. If Meat Man is behind a wall or around a corner from the player, the music will muffle slightly. When he's unobstructed, the music will unmuffle, creating a sudden feeling of nakedness. It's exactly how I wanted it to be.

 

That music was the end result of a lot of experimenting and difficulty. I crafted my own little subsystem within Unreal to handle all of these dynamic audio changes - no Wwise or audio engine. Working with my composer, we tried a lot of different solutions and versions of tracks. At first we took a conventional route, but it didn't feel visceral enough. That led to more experimentation, and that's how we decided on having dynamic audio with stems for the monster encounters.

​

I did all of the voice acting for this project. It was vocally taxing, given I'm not a voice actor by trade, and Meat Man's voice is gutteral. I'm ultimately happy with how it turned out, and the emotional complexity I added to the character, particularly in the ending sequence.

​

The art of the game was mostly from Fab. Some 3D art, like the character model for Meat Man, was done by a contractor.

While it is true that the environmental 3D meshes were from Fab, and most of the texturing from Quixel Megascans, I had total control over the stylized look of the game. I went with a retro, pixelated look, with rich, saturated colors. This style helps to blur distant objects and create potential optical illusions. My goal was to obfuscate a lot of the visuals, but in a coherent way, such that your mind plays tricks on you.

A more blatant way I did this was to have the screen pixelate if you look at Meat Man. You can still see, but it's far blockier. Instead of seeing Meat Man's mesh, you see a shape consisting of some pixels. This really helped to create more mystery.

image.png

Design

The horror design of this game revolves around stealth, tension, and pressure.

​

ENEMY:

In each level, the player is hunted by the Meat Man, a smiling, skinless man. He patrols like a typical horror antagonist, and will chase once he spots you. However, once he damages the player, he will flee as far from the player as possible. At that point he returns patrolling. That cycle repeats until he kills you. This was done to avoid the issue in defenseless survival horror where you get stuck in a corner during an attack and must surrender. To make Meat Man's behavior more unpredictable, the amount of hits he gives you each attack before he flees varies, but increases subtly with each level.

​

He can both see and hear the player. If he hears the player, he'll stop his patrol and investigate the last known location.

​

HEALTH:

The player's health is divided into body part sections: the head, arms, torso, and legs. Each has its debuffs when affected. For example, if the legs are injured, the player will move slower. If the torso is injured, the running stamina drains faster. If the arms are injured, the player interacts with objects slower. If the head is injured, the player's vision blurs and distorts, and they will sometimes hallucinate.

The player can heal their body parts individually with medicine bottles. They must chose carefully which to give healing priority given their circumstances.

​

All body parts can be injured and the player can still survive. Any extra injury is fatal the player dies and restarts from the previous checkpoint.

​

LEVEL:

The level design varies a lot. Each level is an entirely different setting and story. The game begins in an old brick warehouse, then a library, then a pristine laboratory, then a mineshaft, then a basement, and lastly a fleshly meat world. In each, the player must solve a few puzzles in order to access a glowing, white doorway. Once accessed, that doorway marks the end of the level.

​

The level design prioritizes claustrophobia in areas where encounters occur, while allowing breathing room in calmer sections to provide contrast.

​

BOSS FIGHT:

At the end of the game, the player must face Meat Man in a boss fight. It consists of three sections, in the Meat World level. In each, to mimic the player's health system, you damage parts of Meat Man's body. First, you cut one of his arms off. Secondly, you bore a hole through his torso. Thirdly, you must open a draw bridge beneath him to cause him to fall, presumably breaking his legs. If you play the game, you know that he accidentally causes the fall himself. The last shot of him, is him dismembered on the floor. The parallel between Meat Man's attacking of your body parts during normal gameplay, and the player's attacking of his body parts in the finale, was intentional for both gameplay cohesion and story purposes. 

image.png

Writing

This game was fun to write. There are readable notes you can find around each level that detail that specific level's narrative. Each level is its own story - each level is a memory of a different person.

I wrote each level as a short story before beginning them. This gave me a firmer grasp on tying the environment to the story.

​

In each area, I tried to make the notes sound as if they were written by different people. I used different writing syntax and cadence to specialize the notes to the level's stories.

bottom of page