FPS Mechanics

In this project, I wanted to create(program) mechanics that could be used in a fps survival game. Some of the mechanics existing from actors that could be placed directly in the game world so a level designer could use them right away. And some other mechanics that are more complex but easy to add to the source code.


Click on the subject you want to see for fast navigation


2D grid inventory



The video demonstrates the use of the 2D inventory system inside the game.

An item can occupy multiple slots in the inventory.

Different sizes

The items can be dragged and dropped around the inventory. It's also possible to remove the item from the inventory when dragged to the on floor slot.

Drag and drop

Level interact


The video demonstrates the lights switch, doors and an explosive barrel. A few of the interactive actors that can be placed in the FPS / survival world


Easy use

Every interactable actor has a component that with all the needed variables



The AI used in this project worked well together with my "Cover Point Generator Tool" (for explanation click here) with the use of my tool I was able to create an AI that looked smart/tactical to the player.


This video demonstrates the behaviour from the AI I've created to be used in an FPS game. The AI Blueprint (bases on behaviour tree mixed with c++) can be dropped in to the world and be used right away.

The AI is easily configurable by the C++ base of the AI blueprint once placed in the world.

Easy use

How the AI works

The AI behaviour is created with multiple behaviour trees. The behaviour trees decide if the AI should move, shoot, take cover and more. 


The cover system works together with a tool I've created to place nodes on locations where the AI should be able to take cover. Once the AI gets in combat with the player the AI tries to take in a tactical position. This is done by looking for the closest and safest cover node and moving towards this position (this behaviour gets demonstrated in the demonstration video). 


The AI blueprint is based on a C++ class where all imported base values/functions are declared such as health, speed and more.

Additional info


Role: Programmer

Teamsize: 1 Person

Engine: ​Unreal Engine 4

Language: ​C++