games

Unity • Blender • Illustrator • Photoshop • C#

Individual project (2023)

Peripheral is an atmospheric horror game, creating fear and tension from the game environment rather than jumpscares or explicit gore.

Working on Peripheral was an opportunity to learn about level design and how to design to create a specific atmosphere.

Peripheral is set in an empty modern art museum at night and the player must navigate their way to the exit. When the player is not looking, the environment changes. It is the fear of things unseen, i.e. in the player's periphery, that Peripheral is built on. It is inspired by my personal experience with modern art museums.


Designing Atmospheric Horror

full report

Peripheral was developed with the goal of capturing a particular personal experience of modern art museums, and heightening it in an interactive environment. For as long as I have been going to modern art museums, I can recall thinking, "if I were alone here, I would be terrified".

I have always felt that there is something eerie about these spaces, an unnerving sense that the artwork is looking back at you. Art museums are large, unnatural spaces built for observation, housing art meant to be provocative. Humans are great at filling in the blanks with their imaginations.

If we can easily turn a coat on a hanger in the dark into a lurking creature, a place filled with both organic forms and abstract expressions is bound to prompt some wild imaginings, especially when left alone to your thoughts. One might think things like — was that always there? Have I seen this before? Am I really alone? These are the kinds of questions I want players to ask when playing Peripheral.

The core mechanic of objects changing when the player is not looking was inspired by both my personal experience and the game I'm on Observation Duty (2018). That game involves the player searching for changes in a specific location over the course of a night. In Peripheral, however, the changes occur in response to the player's actions as they progress through the museum.

As I developed the player controller, I began to build a scene with some museum assets I had modelled in Blender. It was in this scene where I created and tested the InvisibleObject script, which swaps one object for another when the player looks away. This script was the basis for other variations on the mechanic, like objects rotating to look at the player or moving when unobserved.

Test scene in Peripheral
Test scene in Peripheral

It was important to me that attention was not drawn to changing objects in-game. In order to have the player question their perception, the shifting environment could not have been made explicit or they would understand it as a construction of the game. This meant I would have to be okay with players missing some interactions for the sake of the larger experience.

The level layout underwent several different iterations as the scope of the game was reduced. The initial concept included puzzles and a larger explorable area of the museum which would become increasingly surreal as the player progressed through it.

A larger museum might have contributed towards one of the goals of the experience, which was to make the player feel as if the museum was impossibly large. If the project were further developed, this expansion would be a priority.

First draft of level layout for Peripheral Second draft of level layout for Peripheral Third draft of level layout for Peripheral
Level layout drafts for Peripheral

With these designs, I tried to balance space to explore and observe with long corridors and tight corners to create suspense. The initial designs featured a lot more backtracking on the critical path, whereas the final design leaves room for the player to examine the exhibits but maintains a linear critical path for clarity.

I next greyboxed the third level layout in Unity. This was my first time creating an indoor environment in Unity, so I found it somewhat challenging to create. I built two separate versions of the museum scene as the scale of the first was off and several walls were misaligned. I attempted a modular workflow, modeling museum walls in segments to be arranged in Unity.

Greyboxed level in Peripheral
Greyboxed level in Peripheral

Were I to continue work on Peripheral, this workflow is one of several things I might change. As it was my first time trying to work modularly, I think I broke the modules into chunks that were too small. Given the relatively simple geometry involved in a modern art museum building, I think it would have been better to build the structure of the museum entirely in Blender. The area accessible during the game is not particularly large, nor does it include repeating room shapes or layouts.

I'd also like to refine the lighting, as the baking process resulted in some muddy areas. The texturing could also use some work. I was somewhat unfamiliar with UVs while developing Peripheral, and also just beginning to learn about normal maps, which led to some excessive use. This is definitely a project I'd like to revisit with my improved modelling and design skills!

If you're interested in learning more about the development of this project, you can find the full report here.


Screenshots