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
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.