During my second year of university, I had an AI module where I was tasked to create an AI for a tank.
The whole thing was programmed using C++ within a custom engine that was provided to us for the module. The general goal was to navigate a tank through a provided map while collecting pickups that are placed through the map as well as fighting against enemies.
The AI was programmed from scratch (As you would imagine) and is my first “proper” experience with AI, this module was quite a challenge. Pathfinding and Obstacle Avoidance was definitely the most complicated parts of this assignment. A variation of A* was used for the pathfinding, while a feeler system was used for the obstacle avoidance which is represented by the circles around the tank
The obstacle avoidance caused a lot of issues and sleepless nights though luckily I managed to get it working after awhile. Often it due to my maths being off a tiny bit, though sometimes it was a case of simply changing specific parameters to get the feelers to work “just right”. This made the whole thing basically a lot of trial and error but I got it working eventually. Fortunately all this did lead to a funny video that I made during the time.