This subject was all about learning different AI coding stratagies within games.

AI hockey bots

As part of the first assessment task we looked into different styles of artificial intellegence. We had to design and build 3 different difficulty levels for an air hockey game, however the idea was not only to make different level of difficulty but to give the AI personality.

Air Hockey Bots

Tower Defense Intellegence

For the major assignment we were given more freedom as we could pick almost anything to do with AI for games. With a friend we decided to do intellegence for Tower Defence games, where the towers would intellegently select targets instead of first in view or random targets. The objective was to create AI that would benifit the player, but not too complex where it takes too much calculations (had to be efficient). As another feature we made two different styles Priority (Gives all enemies in range a priority which is dependent on many attibutes, ie. weaknesses, distance from tower, etc.) and Elimination (Which takes the enemies in range and applies a variety of filters on them till only one target is left, the most logical choice.). We concluded that priority was the most benificial, not but much but enough to make a difference for players, and all this at a very small cost to CPU. See video for examples.