The Black Rose

John Walden

Technical Designer

Game Designer


C# Programming

Sound & Music Design

Project Management

Engine: Unity

Music Software: FL Studio

Timeframe: 7 weeks

Platform: PC


Designers: 3

2D Artists: 2

Programmers: 3

3D Artists: 4

Date: June 2019



Man Encounter


The Black Rose is a first-person, psychological horror experience set in a bar named 'The Black Rose'.

You, the player, are going on date, but as it turns out, the bar is a lair owned by a demonic creature who punishes people that commit infidelity; your character being one of them.  

Over the course of the game, the player will discover their own dark secret as well as the true nature of the bar by interacting with objects, exploring and discovering notes.


Project Owner: I worked with the team to help manage the vision of the project and general work-flow.

Sound Design: Regarding sound and music, I handled the audio assets and engine implementation; this included building up the sound systems and logic.

Gameplay Scripting: I built some of the events and did some UI related scripting.


Themes and Key Words: Dating, Demonic, Infidelity and Ominous

Our primary goal was to build a narrative based horror game that didn't rely on jump-scares and that focused more on story-telling and atmosphere to unnerve our players.

We were very inspired by our own horror experiences (both in a life and film/games) and were quite partial to the P.T. Silent Hill Demo - as such, for the sake of the project scope, we borrowed the looping mechanic and used that as part of the game's foundation.

One of the events I designed was the 'Man Encounter'. The player encounters a man who is standing face to the wall. His creepy breathing noises and glitchy animations create a sense of unnaturalness and unease. When the player is close enough, the lights above him go out and he dissapears. 

Event Sequence

Sounds before sight. Noise subtly alert player.

Reveals point of interest. Player spots man around the corner

Walking distance gives time and anticipation. 

Sudden event occurs. Release and increases tension.

Where they hear the man's breathing noise

Base Event Script


Music Manager Setup

Ambience Manager Setup

Similar functionality to the music manager script, using coroutines and functions to control fading layers between each section of the level. This was done via triggers boxes using the unity event system.

Reverb Challenge

Where they see the man from around the corner

I built some of the game events, and also created a trigger event script for the team that could be used for all event types. The idea was to build a system that was easily reusable.

The Music Manager held all the infomation and logic for each music layer. Each function was defined to fade in or out each layer (or groups of layers) and designed with the game events in mind. These were called via other scripts for events and triggers

Sound Container

The sound container  holds a maximum of 3 arrays, with their own functions to play each clip set. It was built to be modular and re-usuable, with options for different setups depending on what was required I.E. if set source is true, the mixer group for the audio source is set to the Resonance Audio Mixer (a plugin I downloaded for better spatiality).

Due to many issues with the Resonance Audio Plugin that we packaged into the project, I had to move most of the audiosources back to the default unity audio engine. This meant that I lost Resonance's Audio Reverb that was previously setup.

As a solution and additional challenge, I wanted to build my own reverb behaviour, using a lerp to smoothly change between reverb states.


Zoom H1 Recorder

I setup a list of float variables to represent parameters on the reverb filter components that I wanted to change between rooms. 

Using a coroutine, I then lerped the current value to the desired value.

Functions above will call this coroutine, inputting the correct values.

Trigger boxes are then set at the entrance of each room to call the transitions when the player enters them. 

Home Setup

KEYWORDS: Heavy, Atmosphere, Dissonant, Isolation

GOAL: Our objective was to focus more on atmosphere and a balance between feeling isolated yet not alone. It was of course, also important for the sounds to feel convincing and like they were happening in the world.

SOUND DESIGN: The workflow consisted of a lot of field recording - particularly of item movements like doors, paintings, creaks, scratches and ambiences. This was combined with a lot of sound libraries and audio processing techniques.

Although it was possible for me to work from home, I wanted came in to school everyday, as face to face communication and feedback is always more ideal.

MUSIC: For composing the music elements, I relied on libraries and patches for instrumentation, and after deciding on a key, built up layers of pads, ambiences and music elements that could be used in a variety of situations throughout the game, along with some more specific music bits for special/planned events.



This project was our introduction to the agile work method. 

Every morning, we would start with a stand up, detailing what tasks we worked on yesterday, what we are going to work on today and if we have any blockers.

We had flex hours of 10:00 - 16:00, however were encouraged to work roughly 6-8 hours a day (unless sick or had urgent matters to attend)

To help organise the project (once our game direction was settled) I set up a game sequence board to propose to the team, detailing what each loop could contain. Information ranged from assets,aesthetics/feeling to events and specific behaviours that we needed.

A project schedule was also laid out, along with a priority list for the last two weeks of our polish stage. 

We were also constantly iterating on this as the project's needs changed over the weeks.