In this thesis we develop and implement a genetic algorithm to optimize a set of talents, equipment and sub-attributes of characters in the game Warcraft III and its modification The Kingdom of Kaliron. Finding the optimal set where a character performs the best in fights against enemies is a combinatorial problem for which we use a genetic algorithm to solve.
To be able to evaluate a character, we implemented a simulation that required deep knowledge of game mechanics and programming principles of Warcraft III. We also used reverse engineering as a tool.
We ensured convergence of a genetic algorithm with the use of population islands, which are disjoint subpopulations with weak mutual interactions, and with careful choosing of genetic algorithm parameters. We also implemented genetic algorithm memory, which helps create better initial individuals when creating new populations. Finally, we used parallelization to reduce the running time of the algorithm.