← Back to Projects
Iterum

Iterum

personal · Unity

Unity C# Events & Delegates Observer Pattern Decoupled Architecture Player Fear Pacing

Concept

As my first Unity group project and as we loved horror games, especially Silent Hill’s P.T., we decided to make one in the same style: looping in the same area. What makes our game different however is that in each loop one of the divisions open and the player needs to complete certain tasks for the final door in the loop hallway to open. (Also as our first game we did not make a trailer)

Event Architecture

As a game based on events on certain player positions/actions, this game based itself on triggers and events, decentralizing the code from the trigger itself and putting the logic on other objects.

Event architecture diagram
Trigger connects to PlaySound, CloseDoor, ChangeDoorTexture, and TurnOffLights.

Player’s Fear

As our first horror game and as this game did not have many player interactions and was more about the experience, we had to search what would work to make the player feel the way we wanted.

With that we divided the loops in a way that each one had a purpose:

1st Loop - nothing happens, just to show the player the area he would be roaming.

2nd Loop - starting again at the beginning, setting the stage for something weird happening with a little movement far away so the player would start feeling anxious.

3rd Loop - forced the player to go close to a big silhouette, followed by a blackout, showing the player they were not in control and to confirm that there was something with them.

4th Loop - in this loop the player is already anxious, so we give them a lighter and make them encounter this silhouette up close with it while in a blackout.

5th Loop - this loop is a full blackout one, doesn’t contain a real jumpscare but the previous aspects are enough to keep the player hesitating from moving forward.

6th Loop - as the last loop we focus on moving dolls (putting the dolls in the kid’s bedroom to calm the spirit) making the player explore the area and finishing the game.

Key Implementation Concepts