I started working with a new research group in the Cognitive Computing Lab under Ashwin Ram this semester. The project I am working on is concentrated on using Case Based Reasoning techniques to easily develop AI opponents in video games. We are using Wargus, an open-source mod which allows you to play Warcraft 2 using the open-source Stratagus game engine, as the platform for our CBR research.
My contribution to the project was to develop a map classification system for Warcraft 2 maps which would provide additional features for the CBR engine. The system is a joint project between my Pattern Recognition class professor Jim Rehg and the CCL researchers Santi Ontañón and Manish Mehta. It was also a good starter project for getting more familiar with the architecture of their system since I plan on continuing to work with the group for my senior research project.
The goal of my project was to locate and identify specific features of the Warcraft 2 maps including strategically important choke points, rivers, lakes, islands, and different types of forested and mountainous areas. Once I had picked these features, I hand labeled over a thousand square subsections taken from Warcraft 2 maps which ranged in size from 4×4 up to 10×10 map tiles. Next, I automatically extracted a number of features from these map subsections including the percentage of different types of tiles, the number of contiguous regions of each tile type, and other tallies. Finally, I used the Weka Machine Learning toolkit to train models which could locate and identify the features I had hand labeled given only a subsection of the map. The best models resulted from using the M5P and REP decision tree algorithms.
For more in-depth details read my Warcraft II Map Classification Report.
A visualization of my final classifier in operation. On the left is an unclassified Warcraft II map. Blue is water, dark green are trees, light green is grassland, brown is mud, and grey is mountains. The image on the right shows the map with the classification overlay layer. More concentrated red and white represents stronger choke point predictions. (red = land choke points, white = water choke points)