
You play as an investigator trailing a serial killer. Immerse yourself with adrenaline-packed action as you gun-fu your way through a victorian England, with poor odds of survival. Dodge bullets, use your slow motion abilities and martial art skills in this gritty first-person-shooter. Find the boss hiding in each randomly generated level, and take it down.
Details
​
​
Genre: FPS, Rogue-Lite, Horror
Engine: Unreal Engine 4
Team Size: 6
Duration: 9 months (oct 2019 - june 2020)
Platform: PC
Background
Self started indie studio
This started out as my personal solo free time project. After networking and finding suitable people from my university, it eventually grew to become an indie studio at Skövde's incubator program. It reflects what kind of games I'm passionated about and is personally my all time favourite portfolio piece.
RESPONSIBILTIES




-
Designed all player related systems
-
Designed the gun feel and gun play
-
Designed the core gameplay experience
-
Designed the enemy AI behaviour with state trees
-
Playtested and balanced all systems
-
Blocked out and single handedly produced the levels
-
Designed pacing and various level beats
-
Set dressed, populated and landscape sculpted the maps
-
Applied lightning to all levels
-
Designed a procedurally generated level system together with a programmer.
Gameplay Design
The combat system

My aim with the combat system was to create something fresh that I had never seen before. I wanted to mix my passion for antique weaponry with fast-paced combat. I wanted the player to feel like John Wick in the Sherlock Holmes universe. They should feel like a murder machine, while still knowing that one mistake can result in terrible loss. The weapons are slow but deadly. Bullets are scarce. The player will have to rely on hand-to-hand fighting, slow motion mechanics and weapon juggling in order to survive in combat.
No
Yes
-
Long reload time
-
Scarce ammo
-
Strong melee
-
Agile movement

-
Unrealistic gunplay
-
Rapid firing weapons
-
Automatic healing
-
Rewards for passive playstyles

Combat elements

Ranged combat
At ready input

Melee combat
Weapon modding
Enemy behaviour

Slow motion
Diving
Sliding
This webbing of interconnecting mechanics created the kind of gameplay I was looking for. The amount of enemies the player encounters in each level beat cannot be faced with fire power alone due to the slow reload speeds and rarity of ammo. The player will have to glue the combat together with an aggressive, close quarters playstyle. This is encouraged by strong melee, weapon drops from the enemies and slow motion build up from melee executions.

At ready input system




=
+
Melee
​
=
Ready weapon
​
Fire​

+
=
Aim down sights​
=
This system has two main purposes. It binds the mouse to all combat related actions. The player has instant access to melee at the click of the shooting button, encouraging melee use at any time. It also adds a layer of immersion and realism, forcing the player to practise trigger discipline by readying their weapon before shooting, insinuating that firing is a powerful action that comes with a cost.

Ranged Combat




Resource management
Juice
Headshots
While guns have high damage outputs, they are clunky and slow to reload, as most Victorian weapons are single-action. The player will have to carefully place their shots in firefights to manage their ammo use.
To further play on high risk, high reward behaviour, each enemy has a porceline mask which shatters in pieces and gives off a satisfying sound and replenishes some slow motion to reward players for headshots.
The gunplay is infused with juice in multiple ways in order to make the weapons feel fun to use. Aiming down sights provides a slight zoom to increase target focus. A knock back to the camera is added after each shoot to emphasise gun power. Hit surfaces explode in concrete or blood.
Gun modding

Since this game is a rogue lite, I needed to add replayability by extending the weapon pool without overloading the animator with work. Each gun in the game is split into defining weapon parts that can be mixed freely. This creates unpredictability every time the player picks up a gun, because they will behave differently. It also adds progression and strategy to the game, as the player can scavenge the world to build a firearm that suits their needs. A revolver can be a fast fanning, room sweeper, or a high caliber, long range weapon, depending on what the player wants to pair it with.

Enemy behaviour
I wanted the player to feel like a predator, hunting the enemies down with their superiority. I could emphasise this by making adjustments to the enemy behaviours in addition to providing the player with powerful mechanics. Enemies are more prone to a passive combat approach, allowing the player to be on the offence. They will verbally dictate their actions as they are searching for or fighting the player to reveal their positions as the game lacks a mini map. They will retreat in fear when they have witnessed a certain amount of allies being murdered.
​
​
Final Result
So what does this combat system look like in action? Here is the result.​

Level Design
​
​
For this project, I invested myself in both traditional, hand crafted level design as well as developing a PCG (procedural content generator) with a programmer, since the game was supposed to be a rogue lite. ​
​
We wrote a scientific paper in Swedish on the process of creating a PCG specifically aimed for first person shooters, which can be found here:
I also summarized the process below.
​

Procedural level design
There are countless ways to go about making a PCG that would affect our workflow. I wanted the environment to feel different every time it was generated. It needed to fulfill certain needs in the gameplay. After that, we could set up a list of goals.
​
-
Playable
-
Believable
-
Flexible application
-
A tool controlled by a level designer
Needs
Goals


-
Support first person shooter gameplay
-
Cover placement​
-
Verticality
-
Route options for the player
-
-
Visually complex
-
Realistic in terms of layout
-
Controlled by parameters
-
Modular enough to make different kinds of buildings
Arsenal definition
My first task was to create a workflow an AI could easily follow and prepare modular blueprints that could be generated and placed in an arsenal ready to be used by the programmer.​
Floor/Roof

.png)
.png)

I created a common asset by applying a tiling floor and a roof texture to a box mesh. I then added beams to the underside of the cube to add complexity.
Walls
.png)
.png)
.jpg)
.png)
I added a tiling panel to the wall asset. The wall texture and the panel could be set with parameters, allowing the blueprint to be used in different contexts and rooms.
Wall alternatives
Stairs, beams and railings
.png)
I made alternatives for the wall, such as a doorway, a door with playable functionality and a window with a spotlight attached to the blueprint.
.png)
The level would contain height differences, so I included the following assets with complex collision.
Furniture and details
.png)
Lastly, I added all the furniture. I made the decision to pre decorate them. Which detracts from randomness, but gave us valuable time to implement other features.

Workflow
I then proceeded to find an optimal sequence in how the created assets could be used. I arrived at this solution:
1.Basic layout placement
.jpg)
Room size and shape is determined by floor tiles. Doors are placed according to adjacent rooms. Windows are placed on walls leading to the outside.
3.Wall Decor
.jpg)
Wall decorations are placed on empty wall spots, detected with ray casts on the wall bound furniture from the center of the room.
2.Wall bound furniture
.jpg)
Defining furniture for the room themes are placed along the walls, this is mostly to provide disposition and context.
4.Floor Decor, cover objects, lightning
.jpg)
Same thing is done with floor decorations. If the room is bigger than a certain size, a chance for cover furniture objects can be placed in open spaces. Dynamic lightning is then generated, because light baking isn't possible during run time.

The design tool
The last thing I needed to define was how the design tool could be requested in order to carry out this work flow and satisfy all needs. I handcrafted a map with the described work flow. This was used as a benchmark for quality assurance of the design tool, but also helped me visualize the parameters that I was about to request.
From creating the map, I knew I needed to be able to specify how many rooms and how many floors each building would have. I needed to specify each room's theme, what assets they would contain, the room sizes and the spawns of loot and enemies. I also needed to request how many paths that could be taken between each floor. I made the following flow chart:
Final Result

Generation time lapse
​
Raw, unaltered generation
​
Hand Crafted Level Design:
Prologue Level
​
Since this is the first level of the game, it had to serve a couple of important functions:
Tutorial
A complete tutorial of the in-game mechanics and enemy behaviour


Narrative
Expectations
Establish a narrative and create an interest for world exploration
Set expectations for the rest of the game and generate exciting questions
Overview
A.
Introduction - Waking up
B.
Tension creation - The forest

C.
Combat tutorial - Beatrice's house
D.
Ramp up - The fields
E.
Climax - The mansion assault
Introduction - Waking up
The player wakes up from a nightmare in a Victorian apartment. The streets of London can be seen outside the windows. The player is free to explore this cosy area. I used the same workflow as the procedural level generator uses to create this apartment, described above. The lights are warm to insinuate that this is a safe environment. Shadows are dark to hide elements in the level, forcing the player to examine things closer, encouraging them to explore. My main goal with this area was to provide the player with some kind of context.

Atlas apartment is the hub that the player starts in every time they die. It is designed to feel like the only safe space in the game. It also hides visual details, hinting clues to who Atlas is, as he is a quiet protaganist. It's changing along side the narrative.
.jpg)
One of the rooms appears to be his office. It contains pieces on several crime investigations, suggesting that Atlas might be a law enforcement officer of some kind. This is an example of environmental story telling.

An empty gun is found in the office, preparing the player psychologically for an upcoming battle.

As the player steps out of the apartment and turns around, it has disappeared. Making the player question whether or not they are still dreaming. Level streaming out the apartment is a combination of tracking the camera angle and a trigger volume.
Tension creation - The forest
The player has to walk through a dark forest with an empty gun. I wanted them to wonder what might lurk in the thick vegetation. The level is blocked in by natural cliff walls and a giant river to prevent the use of invisible walls. I sculpted and painted the landscape with the built in UE4 tool. I added volumetric lightning that pierced through the trees to exaggerate the moon light.

A deer is placed on top of a cliff when the player learns how the aiming system works. This provides a natural target to test it on, with an empty gun. It also adds life to the scene, making it feel more surreal.

I was generous with the foliage painting to achieve a realistic look, but also to add uncertainty. I made sure to clean up any overlapping chunks of vegetation with an optimization tool in Unreal Engine.

If the player chooses to explore an off branching path, they are rewarded with a beautiful vista and some cigarettes.

A couple of lamps lights up the darkness at the end of the main path, directing the player's attention to the objective.
Combat tutorial - Beatrice's house
The player encounters a small house. Poorly perserved and seeminly abandoned except a couple of lights. The player is told to fetch something from the cellar, which contains the first shootout in the game. The player has to walk through the combat zone into a backroom before the encounter to start, this way, they are already familiarized with the environment.

If the player tries to walk down into the cellar before speaking to Beatrice who will hand them a flashlight, they will have a hard time navigating in the darkness, forcing them to investigate the house further before proceeding.

The cellar was designed as a confined combat area. It needed to have verticality to make the targeting zones more interesting, with several ways of traversing between the floors to give the player options in their positioning and for the enemies to flank.

The cellar is also populated with cover objects and railings to provide defensive options for both the player and the enemy, but it also synergises well with the diving mechanic.

Because it's positioned below the landscape, I had to implement several trigger volumes to disable its collision and visibility at the entrances to the cellar.
Ramp up - The fields
This area is a transportation zone, serving as a breather, but also puts the player's acquired combat skills to test in the later part.


I wanted this area to feel big and open so that the player could choose their own path. Either they can stick to the main road when they engage the fight, having their back covered by the cliff. Or, they can cut right through the open fields to reach their destination faster, but have less cover options.
Fighting ranges are longer, mixing it up from the previously cramped encounter.

.jpg)
One of my favourite details in the environment are the ditches, inspired by real life experience. These can be found around pasture lands on the Swedish country side.
At the end of this area, a couple of wagons filled with human remains can be found, indicating that it might have something to do with the earlier seen crime investigation.
Climax - The mansion assault
The player enters a grand mansion after the fight in the fields, barricading themselves inside. Weapon parts are scattered across the level, introducing the player to the gun modding system. This last area is getting overrun by endless hordes of enemies, pushing the player to survive for as long as possible. It was important to design this level to accomodate for a prolonged encounter.
A reaction video from let's player "SpetroRin"

I wanted the mansion to offer a range of different combat zones. The library has a lot height differences. Corridors enables close quarters scenarios. The entire area is circular with multiple branching paths, allowing the player to constantly adapt to the enemy spawns.

Some areas have unique gimmicks, such as the dining hall with destructible windows, allowing the player to slow motion dive and shoot through them to feel like an action hero.






