For my final year major collaboration, I directed the design of a short horror game about a deep sea photographer in an unsettling environment.
For my final year major collaboration, I directed the design of a short horror game about a deep sea photographer in an unsettling environment.
Duration: 2024 September - 2025 May (8 months)
Skills: Systems Design/Programming, Level Design, Team Management
Tools: Unity, Adobe Suite
Myself (Lead Designer)
Artur Kicinski (UI Designer)
Blake Gibbs (Lead Programmer)
Dylan Martin (Systems Programmer)
Emi Bradley (Character Artist)
Emilyn Jerram (Character Artist)
Erin Francis (Environment Artist)
Joel Preston (Concept Artist)
Liv Mason (Environment Artist)
This project began with a game jam, which helped us form teams around unique ideas rather than peer groups. It also encouraged us to produce a rapid demo build (seen below) to get early feedback on the core concept, which was an informative experience.
A playthrough of our game jam demo showcasing the core gameplay loop
Along with leading sprint meetings and facilitating cross-discipline communication, I continued to improve my coding skills by implementing features, fixing bugs and addressing playtester feedback. Crafting an openly explorable environment also allowed me to apply my level design skills, usually finding creative ways to guide or block the player. Though with an encroaching deadline, I admit we may have relied too much on glowing arrows and invisible walls.
During our final sprint, we added more glowing assets around the cave to help guide players toward it
Having a slightly larger team meant we could be more ambitious with our plans, and I could delegate tasks more during production. I feel we did a good job managing scope throughout, though we could've added more polish to the trench section given more time.
The photo mode was an idea we'd had from the beginning of production but only implemented towards the end, leaving it very bare-bones. Given the opportunity, I'd add more polish to this mode with a recursive gameplay loop that randomly selects objectives to photo and in-game rewards for completing objectives such as more oxygen or trophies for the base.
My initial blockout of the tutorial, before we had a model for the player
A more complete blockout with the camera flash mechanic and guiding text
Our main goals moving into pre-production were revising the player movement and controls, as well as adding more horror elements. To address these, I designed the movement tutorial and transitionary cutscene.
The decision to switch to first-person made the tutorial more intuitive, we also improved the cutscene
With polished assets and final adjustments, the tutorial is a perfect introduction to the atmosphere of the game
To enable clear communication and smooth progress on the project, I also created documents for team reference. These were designed to be quick and easy for any member to understand and use, which ensured we stayed on target throughout production.
One-page design document detailing all the key aspects of our game concept
Spreadsheet to track the continuous implementation of creature assets
Level design was a fairly continuous process as we were constantly adjusting things to improve player navigation up to the deadline. We began with a pretty open layout, encouraging the player to explore in any direction. But as we honed the narrative, we arranged the environment fit, opening more linearly and gradually. This ensured players wouldn't get too overwhelmed and allowed us more control when testing the player experience, as well as fitting the project's scope.
Initial level blockout with 4 main areas surrounding the base, plus the separate cave and trench sections
Final level layout with textured assets and a less opportunities to get lost, plus combining the cave and trench
Below are some snippets of code I worked on to add polish to the game: a system for displaying subtitles with given audio clips and a system for automatically switching control icons with current inputs. My process for coding a new system typically involves commenting the steps I envision, figuring out how to get the variables I need, searching for the name of some obscure function, testing for bugs and exploits, brainstorming fixes with a programmer, implementing them and testing again.
The subtitle system involves queueing coroutines and doing various checks to display the right text object, then uses the given clip name to find the length of the time to display the text
The control icon system checks for all possible inputs before displaying the correct icon
This script pushes the player away from the collider and can trigger some dialogue with subtitles. It took some trial and error to find that the best way to add force to the player was by directly changing its velocity