Bernard's Portfolio

Bernard Zaborniak

Shooter AI

Bachelor Thesis | Utility based AI System in Unity

My Role:

Solo Developer, mainly programming

Technologies:

Unity | C# | Blender | Photoshop

Time:

09/ 2020 – 02/2020

Status:

Finished and graded

This was the project for my bachelor thesis at the HTW Berlin. The goal was to create a modular, performant and immersive AI for a shooter game. The architecture is based heavily on the “Infinite Axis Utility System” proposed by Dave Mark from Intrinsic Algorithm in several GDC talks.

 

Core Principle

Decisions

Every agent has a collection of decisions.  Every x seconds all decisions are assigned a rating. The best rated decision gets executed. A decision could be something like [Attack Enemy 1]  or [Get Behind Cover 2].

Considerations

Every Decision is rated through several considerations, which represent states in the world.  A consideration for a decision could for example be [on a scale from 0 to 1 – how far am I from the enemy?] or [on a scale from 0 to 1, how much health do I have left?]. The score of all considerations combined make up the score of a single decision.

VideO Showcasing the Decisions

VideO Showcasing the Perception System of The NPCs

Screenshots

What I've learned