The Widow

On the Widow, I developed and designed all the systems and game mechanics, modeled and textured most of the assets, and designed some UI elements.
The Widow is my first personal big project that I started working on part-time in 2020 until the end of 2021.
The inspiration to work on this project was out of my love for the survival horror genre and was an opportunity for me to learn more about Unity by implementing interconnected game systems that worked together with the player character and the enemy's AI. I had plans on releasing the game, but realized I'd need more assets than I was able to provide, so I stopped working on it when the game got to full playable state.

Role: Gameplay Engineer, Systems Designer, Game Designer
Game Engine: Unity
Programming Language: C#
Technologies: Adobe Photoshop, Adobe Audition, GitHub, Blender, Visual Studio, Substance Painter
Platform: PC
Date: 2021 - 2022

Show more details

Concept

The Widow is a first-person survival horror game where the player, a detective, investigates the mysterious death of a woman named Ms. Romanov, only to find themselves trapped in the house, and haunted by an unknown presence.

Game Systems

Player Interaction System

Allows the player to interact with predetermined interactables, including doors, collectibles, and puzzles.

Camera Effects System

Features dynamic camera effects that respond to the player's state. For example, the view gets distorted when the player runs out of stamina, and the camera's focus changes based on what object the player is looking at.

Puzzles

Included puzzles with random solutions that challenge players to think every time they solve them. For instance, the piano puzzle, which is solved by playing a certain combination of keys, has a unique solution in every run, and the solution is embedded in a different note that the player finds before coming across the puzzle.

Dynamic Level

this feature ensures that the environment continuously evolves based on the player's actions and interactions. As the player navigates through the game, collecting items or interacts with objects, the level architecture responds in real-time.

Dialogue and tips

A dialogue system adds a narrative to the game, and a tips display system teaches players how to interact with the game. Both can be easily called from anywhere in the game and are highly customizable.

Enemy AI

I designed and implemented the entity's AI using a custom Behavior Tree Framework that I developed as a tool within Unity. The AI allows the entity to patrol the level while actively searching for the player, responding to noises the player makes, and initiating a chase when the player is within a certain range. The player has the ability to hide from the entity as long as they aren't spotted doing it. But if the player hides too frequently, the AI learns their behavior, eventually anticipating and catching them.

Hiding Spots

Some spots can render the player invisible if the entity didn't see the player hide there.

Inventory System

The player can collect and use items in the inventory. Items range from a flashlight and batteries to keys, energy drinks, puzzle pieces, and more.

Jump-scares System

Before the player encounters the entity, random jump-scares might occur in certain areas, with the entity either passing by or staring at the player from a distance before walking away.

Interactive main menu

Includes settings for brightness and audio volume.

Eye indicator

The eye indicator dynamically represents the player's visibility status to enemies and the enemy's current state. As the player becomes more visible to the enemy, the eye opens wider, indicating that the player is spotted. During a chase, if the player goes out of the enemy's sight, the eye indicator looks like it's scanning for the player. When it's all safe again, the eye returns to normal. Conversely, the eye closes when the player is hidden. Additionally, when the player makes noise and the enemy hears it, an additional indicator is displayed to signify it.

Other Responsibilities

Here's a list of other tasks that I was responsible for in the project:

  • Gameplay secondary features development: Developed other systems such as the player's stamina system, the enemy's interactions with the world, an objectives system and more.
  • UI programming: Programmed all the UI elements in the game, including the main menu, inventory, on-screen notifications, the HUD, pause menu, and more.
  • Asset modeling: Modeled and textured some of the assets used in the game such as doors, walls, and the player's flashlight.
  • Level Design: Designed the level in a way that allows for player progression while having loops that allow the player to escape some of the enemy encounters. More about the design of the game is going to be released here.
Back to Projects