As a computer science undergrad, I was the AI developer for our senior capstone competition project. This involved building a game-playing AI for a specified (often little-known) abstract strategy game. Student projects compete against each other, and in a final round play a team of human testers who have spent much time learning the game.
After I graduated, I was recruited to be one of the testers, and have been a tester every year since 2013. Many years I have built engines for the testing team to practice against. I particularly like the Monte Carlo tree search algorithm, because it can often play strongly with little or no domain knowledge. This makes it useful when learning a game from scratch; the newly-built AI will often teach us a lot as it continually beats us!
Here are the engines I have built: