Johannes Olsson                                   Telephone: +46 722 431 026 

Hardcore stealth game

In this project i wanted to extend my knowledge of Unreal Blueprints, as well as prototype some parts of an idea which i have had. The player needs to gather resources in a raid, such as food and batteries, and bring it back to their stash which functions as a safe room. As they do so, they need to avoid an AI which instantly kills the player. You can press the images for a larger version. 


  • The player should open and close doors and pick up items in the environment using an Blueprint Interface.
  • Using the same interact interface as mentioned above, i wanted there to be small puzzles to open doors, such as keys, or turning on the power.
  • The environment is dark, and the player uses a flashlight with batteries to see, this tool is essential. Batteries are found in the environment.
  • The flashlight can be reloaded with batteries by pressing "R", if they carry any batteries with them.
  • To force the player to use the flashlight, objects are only visible when they are overlapped by the flashlight or player proximity.
  • Loot spawns at random locations on the floor. Each raid, has different amount of loot, and different locations.
  • The raid is patrolled with an AI which kills the player if he is seen for more than 1 second. Death means that you lose all your items.

AI and Behaviour tree

The AI walks between Random Points within RandomPointBox which encapsulate the playable area. If it their radius overlap the player, we check with a Linetrace if we can see it. If we can, we wait 1.4 seconds, then we shoot the player which results in death.

Character and Flashlight

These scripts show how the player interact with objects on input, how the flashlight works and how we know which objects to highlight. It also shows how we reload batteries.

Sliding-doors and Pickups

A bDysfunctionalDoor requires a puzzle solution. Either Player needs a key, Or have to solve another puzzle which calls “PuzzleSolution”. Widget on the Screen shows that it is dysfunctional. if BP_BasePickup is hit by light, Linetrace to the player, are we seen? If we are picked up, send my identifier(item which was picked up) into the IncreasePoints function. Spawn: Pick a random amount of each class, and random location.

 Johannes Olsson                                   Telephone: +46 722 431 026