Noctophobia is a horror platformer game made for the second semester. This project involves working in a team of up to 5 people to make and publish a game in a 5 month period. I was the only programmer for this project.
Noctophobia follows a little girl named Charlotte, simply looking to get a drink of water, before her whole house twists and turns into a nightmare scenario. Scared and alone, she must make it through her house and escape the monsters looking to kill her on her way to make it back to bed.
Players must hide using cupboards, curtains and more, switch between layers to find hidden objects, or as another way to hide from enemies, throw toys and other distractables to distract and deter the monsters and collect key items that will help them progress.
At the end of the year, a competition was held by Hypixel. We were extremely lucky to end up winning both best game and best trailer!
We only had two ideas for our game, a horror rhythm platformer, where you're chased by scary monsters and a horror metroidvania where you explore a house tainted with nightmares.
My work was to prototype and test both of these ideas, generate ideas and set an idea of feasibility with the team in terms of programming.
Here on the video (on the right or the bottom) is the first ever prototype for what would become Noctophobia.
We eventually scrapped the idea of making a rhythm game as it is extremely limiting (especially with horror) and with myself being the only person with experience making rhythm games, having a balanced team workload would've been extremely difficult.
When we got our game idea, we then had to write a game design document as part of our assignment.
We each wrote a part of a game we would work on. With my role being the lead programmer, I wrote about using a state machine using ScriptableObjects, which I did implement into the game.
I also wrote github documentation for my other teammates, so they can also use my state machine implementation.
After the game design document, before full production I did one last prototype involving player movement. This solidified our decision to go ahead with our horror metroidvania idea.
Added first major game mechanic, layer switching. Charlotte can go behind or in front of objects.
Added the first enemy of the game, The Lurker.
The enemy can see the player, chase them and investigates where sounds were made.
Implemented another core game mechanic, hidable objects. This will let you hide from enemies, but might occasionally contain the Hider.
Added gravity switching to the game, which will be used in the late game.
Added ledge grabbing, which helps with platforming and makes Charlotte feel more small as she climbs over chairs and tables to get on top of them, rather than just jumping on them.
The final core game mechanic, distraction objects allows Charlotte to distract monsters using items that she throws, allowing the player to get out of tight spots.
The second enemy to be implemented into the game. This enemy can't see, but its hearing is extremely developed, chasing anything it hears with deadly speed and precision.
We had the first playtest for an assignment. We got our classmates to play our game and got invaluable insight and feedback.
The third and final enemy to be implemented into the game. This enemy, which will start on the ceiling, can't hear very well but has amazing senses, if it detects Charlotte using it's teddy bears, sees the player or if the player is underneath it, It launches itself to the ground and chases at an incredible speed, making a difficult late game monster to deal with.
Our second playtest was on the team's own accord, we went to a NI game dev event known as Play My Demo which allows people from the industry and otherwise to show off game demos and provide valuable feedback.