Skip to main content

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


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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Algorithm 1
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9


  1. 1.

    ©2010 Blizzard Entertainment, Inc. All rights reserved. Wings of Liberty is a trademark, and StarCraft and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.

  2. 2.

  3. 3.

  4. 4.|zerg|protoss/techtree/wol.

  5. 5.


  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

    MATH  Article  Google 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

    Chapter  Google 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

    Article  Google Scholar 

  7. 7.

    Dice L (1945) Measures of the amount of ecologic association between species. Ecology 26(3):297–302

    Article  Google 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

    Chapter  Google 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

    MATH  Google 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

  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

    Chapter  Google 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

    Article  Google Scholar 

  18. 18.

    Knowles J, Corne D (2000) Approximating the nondominated front using the Pareto archived evolution strategy. Evol Comput 8(2):149–172

    Article  Google 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

    MathSciNet  Article  Google 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

    Chapter  Google 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

  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

    Chapter  Google 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

  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

    Chapter  Google 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

    Article  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Harald Köstler.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Köstler, H., Gmeiner, B. A Multi-objective Genetic Algorithm for Build Order Optimization in StarCraft II. Künstl Intell 27, 221–233 (2013).

Download citation


  • Genetic algorithm
  • Multi-objective optimization
  • Starcraft II