Coevolution of AI and level generation for Super Mario game
Koevoluce AI a generování levelů do hry Super Mario
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/121341Identifiers
Study Information System: 223190
Collections
- Kvalifikační práce [11322]
Author
Advisor
Consultant
Gemrot, Jakub
Referee
Pilát, Martin
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Graphics and Game Development
Department
Department of Software and Computer Science Education
Date of defense
16. 9. 2020
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
koevoluce, umělá inteligence, procedurální generování obsahu, Super MarioKeywords (English)
coevolution, artificial intelligence, procedural content generation, Super MarioProcedurální generování se nyní používá v mnoha hrách ke tvorbě široké škály obsahu. K jeho hodnocení se často používají hráči ovládaní umělou inteligencí. Procedurálně generovaný obsah lze také použít při učení hráčů ovládaných umělou inteligencí. V obou těchto oborech se používají evoluční algoritmy, ale zřídka společně. V této práci používáme koevoluci hráčů ovládaných umělou inteligencí a generátorů levelů pro plošinovou hru Super Mario. Výhodou koevoluce je to, že hráči ovládaní umělou inteligencí jsou hodnoceni přizpůsobenými generátory levelů, a naopak, generátory levelů jsou hodnoceni přizpůsobenými hráči. Tento přístup má dva výsledky. Prvním z nich je vytvoření posloupnosti generátorů levelů, z nichž každý generuje levely postupně vyšší obtížnosti. Levely gen- erované pomocí sekvence těchto generátorů také odrážejí křivku učení hráče. Tímto je možné za běhu použít generátor odpovídající schopnostem lidského hráče. Druhým výsledkem je hráč ovládaný umělou inteligencí, který se učil postupně obtížnější levely. Toto postupné učení může mít lepší výsledek než standardní postup a zároveň není potřeba předvytvořit trénovací množinu dat.
Procedural Content Generation is now used in many games to generate a wide variety of content. It often uses players controlled by Artificial Intelligence for its evaluation. PCG content can also be used when training AI players to achieve better generalization. In both of these fields, evolutionary algorithms are employed, but they are rarely used together. In this thesis, we use the coevolution of AI players and level generators for platformer game Super Mario. Coevolution's benefit is, that the AI players are evaluated by adapting level generators, and vice versa, level generators are evaluated by adapting AI players. This approach has two results. The first one is a creation of multiple level generators, each generating levels of gradually increased difficulty. Levels generated using a sequence of these generators also mirror the learning curve of the AI player. This can be useful also for human players playing the game for the first time. The second result is an AI player, which was evolved on gradually more difficult levels. Making it learn progressively may yield better results. Using the coevolution also doesn't require any training data set.