Now that the chaos of Capstone is finally dying down, it’s time to focus on my last project for the semester, artificial opponents. The goal is to write a tank battle AI that builds off of the movement system I developed a while back. Other students will develop their own tank AIs and they’ll face off against each other in the final. The guidelines are very loose right now, so I’ll cover the two main parts of the AI and some possible paths I could take with them.
Before each round, each player is given an amount of money to spend on tank parts. The amount we will be receiving is currently undisclosed so I have no idea how to appropriately plan for this, so I’ll either be doing one of two things. First, buy a bunch of cheap parts and make a squad of weaker tanks, or buy a small amount of strong parts and have one super tank. I wish I could get more specific about this process but the class hasn’t been informed enough to know more than that – rules could change at the last minute. Right now, for conveniences sake, I’m aiming towards purchasing one powerful super tank – It’s less AI to worry about and making an algorithm that buys the most powerful parts possible should be pretty straightforward in a flexible monetary environment.
So there’s one dominant strategy at the top of my mind that I think will give me the highest chance of winning – camping. I plan to have my super tank run to a corner of the map and just snipe anyone that rolls into its range. I know it’s pretty lame, but the assignment isn’t trying to make “fun” AI like typical game development, the goal is to win against other AI. If the tank game was actually playable by human beings and those human beings needed interesting opponents it’d be an entirely different story. Since it’s an AI battle royale, I feel that a lot of techniques that would make a conventional AI “fun” to play against would just end up being glaring weaknesses against other AIs. Therefore, picking a corner and holding my ground seems like a pretty powerful strategy.
This spot seems pretty cozy.
Also, while it may be lame, there’s a lot of potential room to make my tank’s “lameness” even more effective. It’d be interesting to potentially write some sort of map analyzer so I could determine the closest and cheesiest spot to hide – I’ll see if I have the time for that, but with MIGS coming up I doubt it.
All in all, I’m not too excited for this tank battle, I think there’s a lot of ways this assignment could be improved, but I’ll cover that soon in my post-mortem.