attack or escape based on very little information, or
using terrain features and the arrangement of their
own units and buildings to their advantage. This
makes RTS a highly suitable domain for spatial reasoning research in a controlled environment (Buro
2004; Weber, Mateas, and Jhala 2011a; Wintermute,
Xu, and Laird 2007).

Even the analysis of the terrain in RTS games,ignoring units and buildings, is a nontrivial task. Inorder to play effectively, players need to be able toknow which regions of the terrain are connected toother regions, and where and how these regions con-nect. The connections between regions are as impor-tant as the regions themselves, because they offerdefensive positions through which an army mustmove to get into or out of the region (choke points).Perkins (2010) describes the implementation andtesting of the Brood War Terrain Analyzer, which hasbecome a very common library for creating StarCraftbots capable of reasoning about their terrain. Thelibrary creates and prunes a Voronoi diagram usinginformation about the walkable tiles of the map,identifies nodes as regions or choke points, thenmerges adjacent regions according to thresholds thatwere determined by trial and error to produce thedesired results. The choke point nodes are convertedinto lines that separate the regions, resulting in a setof region polygons connected by choke points (fig-ure 10). When compared against the choke pointsidentified by humans, it had a 0– 17 percent falsenegative rate, and a 4–55 percent false positive rate,and took up to 43 seconds to analyze the map, sothere is still definite room for improvement (Perkins2010).Once a player is capable of simple reasoning aboutthe terrain, it is possible to begin reasoning about themovement of units over this terrain. A particularlyuseful spatial reasoning ability in RTS games is to beable to predict the location of enemy units whilethey are not visible to a player. Weber, Mateas, andJhala (2011b) use a particle model for predicting ene-my unit positions in StarCraft, based on the unit’strajectory and nearby choke points at the time it wasseen. A single particle was used for each unit insteadof a particle cloud because it is not possible to visu-ally distinguish between two units of the same type,so it would be difficult to update the cloud if a unitwas lost then resighted (Weber, Mateas, and Jhala2011b). In order to account for the differencesbetween the unit types in StarCraft, they divided theArticles