KI - Künstliche Intelligenz

, Volume 27, Issue 3, pp 221–233 | Cite as

A Multi-objective Genetic Algorithm for Build Order Optimization in StarCraft II

  • Harald Köstler
  • Björn Gmeiner
Technical Contribution


This article presents a modified version of the multi-objective genetic algorithm NSGA II in order to find optimal opening strategies in the real-time strategy game StarCraft II. Based on an event-driven simulator capable of performing an accurate estimate of in-game build-times the quality of different build lists can be judged. These build lists are used as chromosomes within the genetic algorithm. Procedural constraints e.g. given by the Tech-Tree or other game mechanisms, are implicitly encoded into them. Typical goals are to find the build list producing most units of one or more certain types up to a certain time (Rush) or to produce one unit as early as possible (Tech-Push). Here, the number of entries in a build list varies and the objective values have in contrast to the search space a very small diversity. We introduce our game simulator including its graphical user interface, the modifications necessary to fit the genetic algorithm to our problem, test our algorithm on different Tech-Pushes and Rushes for all three races, and validate it with empirical data of expert StarCraft II players.


Genetic algorithm Multi-objective optimization NSGA II Starcraft II 


  1. 1.
    Beume N, Naujoks B, Emmerich M (2007) Sms-emoa: multiobjective selection based on dominated hypervolume. Eur J Oper Res 181(3):1653–1669 zbMATHCrossRefGoogle Scholar
  2. 2.
    Cantú-Paz E (1998) A survey of parallel genetic algorithms. Calc. Parallèles 10(2):141–171 Google Scholar
  3. 3.
    Churchill D, Buro M (2011) Build order optimization in Starcraft. In: Proceedings of AIIDE, pp 14–19 Google Scholar
  4. 4.
    Davis L, Mitchell M (1991) Handbook of genetic algorithms. Van Nostrand Reinhold, New York Google Scholar
  5. 5.
    Deb K, Goel T (2001) Controlled elitist non-dominated sorting genetic algorithms for better convergence. In: Evolutionary multi-criterion optimization. Springer, Berlin, pp 67–81 CrossRefGoogle Scholar
  6. 6.
    Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: Nsga-ii. IEEE Trans Evol Comput 6(2):182–197 CrossRefGoogle Scholar
  7. 7.
    Dice L (1945) Measures of the amount of ecologic association between species. Ecology 26(3):297–302 CrossRefGoogle Scholar
  8. 8.
    Fernández-Ares A, Mora A, Merelo J, García-Sánchez P, Fernandes C (2011) Optimizing player behavior in a real-time strategy game using evolutionary algorithms. In: 2011 IEEE congress on evolutionary computation (CEC). IEEE, New York, pp 2017–2024 CrossRefGoogle Scholar
  9. 9.
    Fonseca C, Fleming P (1993) Genetic algorithms for multiobjective optimization: formulation discussion and generalization. In: Proceedings of the 5th international conference on genetic algorithms. Morgan Kaufmann, San Francisco, pp 416–423 Google Scholar
  10. 10.
    Glover F, Laguna M (1998) Tabu search, vol 1. Springer, Berlin Google Scholar
  11. 11.
    Gmeiner B, Donnert G, Köstler H (2012) Optimizing opening strategies in a real-time strategy game by a multi-objective genetic algorithm. In: Research and development in intelligent systems, vol XXIX, pp 361–374 Google Scholar
  12. 12.
    Goldberg D (1989) Genetic algorithms in search, optimization, and machine learning. Addison-Wesley, Reading zbMATHGoogle Scholar
  13. 13.
    Gropp W, Lusk E, Skjellum A (1999) Using MPI: portable parallel programming with the message passing interface, vol 1. MIT Press, Cambridge Google Scholar
  14. 14.
    Haupt R (2000) Optimum population size and mutation rate for a simple real genetic algorithm that optimizes array factors. In: Antennas and propagation society international symposium, vol 2. IEEE, New York, pp 1034–1037. doi: 10.1109/APS.2000.875398 Google Scholar
  15. 15.
    Haupt R, Haupt S, Wiley J (2004) Practical genetic algorithms. Wiley Online Library Google Scholar
  16. 16.
    Horn J, Nafpliotis N, Goldberg D (1994) A niched Pareto genetic algorithm for multiobjective optimization. In: Proceedings of the first IEEE conference on evolutionary computation. IEEE world congress on computational intelligence. IEEE, New York, pp 82–87 CrossRefGoogle Scholar
  17. 17.
    Jensen M (2003) Reducing the run-time complexity of multiobjective eas: the Nsga-ii and other algorithms. IEEE Trans Evol Comput 7(5):503–515 CrossRefGoogle Scholar
  18. 18.
    Knowles J, Corne D (2000) Approximating the nondominated front using the Pareto archived evolution strategy. Evol Comput 8(2):149–172 CrossRefGoogle Scholar
  19. 19.
    Mauldin M (1984) Maintaining diversity in genetic search. In: Proceedings of the national conference on artificial intelligence, vol 247, p 250 Google Scholar
  20. 20.
    Misevicius A (2004) An improved hybrid genetic algorithm: new results for the quadratic assignment problem. Knowl-Based Syst 17(2):65–73 MathSciNetCrossRefGoogle Scholar
  21. 21.
    Othman N, Decraene J, Cai W, Hu N, Low MYH, Gouaillard A (2012) Simulation-based optimization of Starcraft tactical AI through evolutionary computation. In: 2012 IEEE conference on computational intelligence and games (CIG). IEEE, New York, pp 394–401 CrossRefGoogle Scholar
  22. 22.
    Rathe EA, Svendsen JB (2012) Micromanagement in Starcraft using potential fields tuned with a multi-objective genetic algorithm. Ph.D. thesis, Norwegian University of Science and Technology Google Scholar
  23. 23.
    Shantia A, Begue E, Wiering M (2011) Connectionist reinforcement learning for intelligent unit micro management in Starcraft. In: The 2011 international joint conference on neural networks (IJCNN). IEEE, New York, pp 1794–1801 CrossRefGoogle Scholar
  24. 24.
    Synnaeve G, Bessiere P et al. (2011) A Bayesian model for plan recognition in rts games applied to Starcraft. In: Proceedings of AIIDE, pp 79–84 Google Scholar
  25. 25.
    Togelius J, Preuss M, Beume N, Wessing S, Hagelbäck J, Yannakakis GN (2010) Multiobjective exploration of the Starcraft map space. In: Proceedings of the IEEE conference on computational intelligence and games (CIG), pp 265–272 Google Scholar
  26. 26.
    Wall M (1996) A genetic algorithm for resource-constrained scheduling. Ph.D. thesis, Massachusetts Institute of Technology Google Scholar
  27. 27.
    Wang Z, Nguyen KQ, Thawonmas R, Rinaldo F (2012) Monte-Carlo planning for unit control in Starcraft. In: 2012 IEEE 1st global conference on consumer electronics (GCCE). IEEE, New York, pp 263–264 CrossRefGoogle Scholar
  28. 28.
    Zitzler E, Thiele L (1999) Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach. IEEE Trans Evol Comput 3(4):257–271 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.ErlangenGermany

Personalised recommendations