Watching the AI bots on a game fight each other is like testing a data analysis model

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at:

I was researching something else and I followed a link to the game Wesnoth. I downloaded it and spent some time testing it. The game is entirely built by volunteers. The game is slow and somewhat tedious, but they did a great job with the art and they did a great job enabling a variety of scenarios.

They claim they put some time into the AI engine that lets bots play a character. I was curious about that. I set up a game with 4 players and had the AI engine for all 4 players. This let me see the strengths and weaknesses of the AI engine. The engine is well optimized for one a unit should do during the current turn, especially if it can attack an enemy opponent. But the AI is not so great when it comes to long planning and strategic allocation of resources over wide territory.

None of which is especially important, but what did surprise is how much doing this felt like doing data analysis. I set up a model, I tweak some variables, I run a test, I watch it run, I see the results, I make more adjustments, then I run it again. Whether setting up different allocations of money, inside of a game, and seeing how it distorts the results, or running an analysis of user actions on a web site, and seeing how a small change to the site can lead to big changes in the behavior of the sites users, or doing string matching with Jaro-Winkler on data coming in, matched against data in the database, and adjusting the matching parameters, it all feels very similar. No wonder so many computer programmers also play computer games. The games represent a mindset very similar to the mindset of a programmer.