This paper presents GHOST, a combinatorial optimization framework that a Real-Time Strategy (RTS) AI developer can use to model and solve any problem encoded as a constraint satisfaction/optimization problem. We show a way to model three different problems as a constraint satisfaction/optimization problem, using instances from the RTS game StarCraft as test beds. Each problem belongs to a specific level of abstraction (the target selection as reactive control problem, the wall-in as a tactics problem and the build order planning as a strategy problem). In our experiments, GHOST shows good results computed within some tens of milliseconds. We also show that GHOST outperforms state-of-the-art constraint solvers, matching them on the resources allocation problem, a common combinatorial optimization problem. is with the JST-ERATO Kawarabayashi Large Graph project at the National Institue of Informatics, Japan.CSP/COP offers a convenient, homogeneous framework that is able to model a large number of combinatorial optimization problems, and proposes various sets of algorithms to solve them.CSP/COP is widely used in AI to solve problems such us pathfinding, scheduling, and logistics [6]. Unlike Mathematical Programming, CSP/COP algorithms are not usually designed to solve one specific problem but are general, i.e., they are able to manage any problem modeled in that framework. Besides the generality, it is also easy and intuitive to model a problem with a CSP/COP. Altogether, these bring ideal conditions to design and develop a user-friendly, easy-to-extend and generalized solver.
A. RTS problem familiesOntañón et al. propose in [1] to decompose RTS problems into three families, according to their level of abstraction. From the higher to the lower level, these families are:• Strategy corresponds to the high-level decision making process. This is the highest level of abstraction for game comprehension. Finding an efficient strategy or counterstrategy against a given opponent is key in RTS games. It concerns the whole set of units and buildings a player owns. • Tactics are the implementation of the current strategy.It implies army and building positioning, movements, timing, and so on. Tactics concerns a group of units. • Reactive control is the implementation of tactics. This consists in moving, targeting, firing, fleeing, hit-andrun techniques (also knows as "kiting") during battle. Reactive control focuses on a specific unit.Problems from different families usually involve different algorithms to solve them. In this paper, we model one problem for each of these three families. Then we use our framework GHOST to solve them without any modifications of its inner solver.
B. StarCraft: Brood WarStarCraft: Brood War is an RTS game where three different races (Terran, Protoss and Zerg) can be played, giving an asymmetric but well balanced strategy game. In this paper, the term "StarCraft" will actually refer to the game plus its expansion StarCraft: Brood War.StarCraft has been a worldwide success, and as of time of publicat...