Summary: | This thesis presents an architecture for an agent that can play the real-time strategy game Starcraft 2 (SC2) by applying Monte Carlo Tree Search (MCTS) together with genetic algorithms and machine learning methods. Together with the MCTS search, a light-weight and accurate combat simulator for SC2 as well as a build order optimizer are presented as independent modules. While MCTS has been well studied for turn-based games such as Go and Chess, its performance has so far been less explored in the context of real-time games. Using machine learning and planning methods in real-time strategy games without requiring long training times has proven to be a challenge. This thesis explores how a model based approach, based on the rules of the game, can be used to achieve a well performing agent. === Denna uppsats presenterar en arkitektur för ett program som kan spela realtidsspelet Starcraft 2 (SC2) genom att använda Monte Carlo Tree Search (MCTS) tillsammans med genetiska algoritmer och maskininlärningsmetoder. Tillsammans med MCTS-sökningen så presenteras också en snabb och exakt stridssimulator för SC2 samt en optimeringsalgoritm för bygg-ordningar som separata moduler. MCTS has studerats mycket inom turordningsbaserade spel som till exempel Go och Schack, däremot så har det utforskats mindre när det kommer till realtidsspel. Att använda maskininlärning och planeringsalgoritmer i realtidsstrategispel utan att kräva långa träningstider har visat sig vara en utmaning. Denna uppsats utforskar hur ett modellbaserat tillvägagångssätt, baserat på reglerna för spelet, kan användas för att skapa ett bra presterande program.
|