Vile Inhabitants
Vile Inhabitants is a short Survival-Horror game I worked on from 2023-2024. In this game the player explores a abandoned storage building in an attempt to escape from the monsters now living there. The player must use the limited items and inventory space granted to them to fight off the monsters and escape the building.
As the sole developer of this game I worked on many of its aspects. This includes designing and scripting several of the games mechanics and systems, which I rapidly prototyped by leveraging Unreal Engine’s powerful Blueprints system.
I designed basic level layouts using a combination of sketches and environment block outs, constantly running through them to ensure each section met my goals for how I wanted them to flow. Additionally, I scripted level events that could be used to move objects, play sounds, or autosave the game when triggered by the player. For this I took into account the player’s perspective when faced with these scenarios and tweaked them to create unique experiences.
Additional work I did includes the implementation of various animations, UI elements, enemy AI, task tracking with Trello boards, source control using GitHub, as well as media editing for the game’s Itch.io page.
Overview
Genre:
Survival-Horror
Engine:
Unreal Engine 5
Dev Time:
~6 Months
Team Size:
1
Additional Software:
GIMP, Trello
Select an option below to view greater details regarding my process and the work that went into certain aspects of the project.
Designed and implemented drag-and-drop inventory with a quick access bar.
Inventory size can be increased/decreased by tweaking values that are tied to it.
Designed and implemented assets with various environment options (i.e. A ceiling light that can be set to flicker with a checkbox, or a trigger with the ability to autosave, spawn an enemy, open a door, etc.)
Used UE5 animation system to implement, adjust, and trim animations to fit game needs.
Created a HUD that displays the player’s health, ammo, and various interaction widgets.
Designed and implemented gun combat with the ability to hip-fire, aim, and reload weapon.
Designed and implemented melee attack system that is used to fight off enemies and remove environment obstacles.
Designed enemy AI states for roaming randomly and along a set path.
Designed enemy AI that can detect, chase, and attack the player. Implemented states for being stunned and dead.
Autosave System that keeps track of enemy placement, items, player inventory, and level progression.
Menus and settings screen for adjusting resolution, window mode, mouse sensitivity, and audio volume.
Rapidly prototyped level layouts using a combination of simple sketches and environment block-outs.
Fleshed out levels with extra props and geometry after final layout was determined.
Experimented with the Unreal Engine landscape tool to create unique game spaces.
Scripted level events and progression considering the player’s perspective when faced with game scenarios.
Tested and tweaked item placements throughout the level to promote player engagement and balanced gameplay.
Level Design
Visual Scripting (UE5 Blueprints)
Used GIMP to crop out and edit images for inventory icons.
UI
If you would like to try the game out for yourself, it is free on Itch.io
Project Goals
Make a finished product that I am confident in, and willing to put online for others to play.
Learn more about the philosophies and systems that go into creating survival-horror games, as well as the mechanics involved in first-person shooters.
Put my skills in level and systems design to the test.
Detailed Info
Level Design
Sketch of the map layout
One of my goals for the design of the level was to have a main central area for the player to return to between gameplay sections. Another one was I wanted each individual area of the map to provide a shortcut or alternative path back to the beginning of the area once the player has obtained what they need.
This is a sketch I made where I worked out how I wanted each area to connect to the rest of the level. In the center is the main Hub room which contains an objective that the player needs to complete to reach the level exit.
In this case the objective is a fuse box that they player needs to insert three fuses into to open the door. The player will go to each area of the level to acquire a fuse, returning to the hub room between each one and inserting a new fuse which will open up the next area.
Sketch of locker room area
This is a more detailed sketch of one of the individual sections of the level; a locker room. I wanted this area to be a bit of a maze, so after determining the basic layout I marked spots that would be blocked off with Xs and used lines to map out the path I wanted to push the player along.
My goals for this section were to provide the player with their main form of defense: a pistol, and the opportunity to use it by also introducing the first enemy shortly after.
The player enters the area (point A), and traverses tight and dimly lit corridors until they reach point B. Along the way they occasionally hear the sounds of objects falling over and low groans coming from other areas of the locker room. Once the player reaches point B, they find a small side room with a table that has a pistol on it. The player then picks up the weapon, is given information on how to use it, and lockers fall behind them; blocking the way they entered. The player uses the only path left available and enters the vent, proceeding to point C where they exit back into the area’s main room. While crawling through the vent the player sees blood smears at the end of the path and hears more objects falling over outside the vent, capped off with a monstrous screech.
Upon exiting the vent, the player notices that more lockers have fallen over and they have only one path (C to D). After a few steps the player also sees a figure standing in the dark and approaches. Upon getting close enough the figure begins charging at them and they are forced to use the pistol they just received to defend themselves. The player then proceeds to point D where they find one of the fuses they need, as well as a key that opens the nearby locked door. This leads them back to the start at point A and they are free to proceed back to the main Hub room.
Breakdown of locker room area:
Given that this was a Survival-Horror game, I knew that I needed purposeful lighting and level composition to make the most of the experience. Below are some things I did to draw the players eye while they explored the environment.
Lighting and Composition
1.)
I added a slight emissive glow to the fuses the player needs to find. This helped ensure that despite how darkly lit sections of the game were, a key item the player needs is easily discernable amongst its environment.
2.)
When returning to the Hub room and inserting a fuse into the fuse box, I didn’t want to directly tell the player where to go next. Instead, I wanted the player to use environment clues and their own reasoning to figure it out themselves. One thing I did to accomplish this was by adding emissive lights above each of the doors in the room. Green meaning the door is unlocked, Red meaning the door is locked. This provides the player with enough visual information to determine where to go next without needing something like a waypoint or objective pop-up.
Green light = Unlocked
Red light = Locked
3.)
These images are from a section of the game where I introduce the pistol to the player. Upon finding their way to this room they see a table with a lamp and an item on it. I made sure it was the only light source in the room so that it would immediately draw the players attention. Upon approaching, they see a pistol and a bloody hand print on the table.
The table from a distance
The table up close
I wanted to give the player an inventory they could interact with. I really liked the inventory system in Resident Evil 7 and wanted to do something similar with mine.
Using Blueprints I made a drag-and-drop inventory system in which the top 4 slots of the inventory are the players quick access bar, labeled numbers 1-4. The player is able to drag any item onto one of these slots for easy access, and can swap between them with the mouse scroll wheel.
I chose to do this because, while I wanted the player to interact with their inventory, I did not wish for the gameplay to end up in a state where the player is constantly opening and closing their inventory just to equip a different item.
Inventory System
I made the inventory size scalable so that if needed I could tweak a value in the editor to add or subtract inventory space. While, for balancing reasons, I chose not to add a pickup that increases inventory space, it would have been possible using this system.
Additionally, I added a pop up for when the player hovered over an item in their inventory. This would display basic information about the item such as quantity, if it’s stackable, and a short item description