Game AI

In this subject I had to program multiple Game AI concepts such as A* pathfinding, Behaviour Trees and Terrain Analysis.

Pathfinding

In this video you can see an actor moving through the world using A* pathfinding. The implemented heuristics are: Euclidean, Octile, Chebyshev and Manhattan. These can be changed in real time alongside the weight. Moreover I also implemented smoothing and rubberbanding.

Terrain Analysis

In this video you can see the effects of terrain analysis in real time. In order of apparition they are:

  • Openness closest wall
  • Visibility
  • Visible to player
  • Search (remembering what the player saw)
  • Propagation
  • Propagation with normalizing influence
  • Hide and Seek (the actor sees the blue squares and the red squares are the ones which they should visit considering the player might have gone through there)

Lore Generator

For this project I had to research and develop a lore generator. The system works by parsing JSON files. It first reads an entity file with starting condition and names. Then, by passing a folder with JSON files relating to events the system will randomly choose one event, modify the contents of the entity and continue until it reaches the end of the generation. The program will then generate multiple strings and use the tracery library to fill certain spaces with names chosen at random.