So rather than doing game-development projects, I've been assigned the creation of an aggressive AI that is intended to fight in an arena with other AI made by my peers in class. The bot will be written in C++ and I can do next to whatever I want with this bot so long as it is within the limitations of the program that we're using.
There will be two separate tournaments on two separate map layouts. The first is on a barren field, wherein the bot can do whatever it pleases without much worry of path-finding. The next is a maze-like map wherein the bot will need to be more refined, and able to path-find in order to be effective against the enemy bot.
I've made a repository for the bot that I've created (Stray Cat) here this repository contains the assets needed to make the program run, including the VS projects that you can manipulate.
In the very first bot tournament, Stray Cat came in fourth place, and while I'm happy with that result. I'm unhappy with the amount of code that was needed in order to do this. I feel like it was too little code (original at the very least for how well it actually did).
The written form of Stray Cat was to 'randomly' move to a tile throughout the barren arena, whilst scanning for the enemy in a clockwise fashion. If an enemy was seen, calculate the enemy's potential future position, and fire four bullets at it, before returning the scanning again. Repeat ad nauseam until a result is reached.
Moving into the maze layout, the pick a tile and run strategy isn't going to work. The bot knows where the walls are in the maze, and so a more sophisticated path-finding algorithm/technique and looking technique will be required. So looking into that will be required for the near future. Once I do something cool with it, Stray Cat Act 2 will be born.