Procedural generation of levels for a tower defense game

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2024-08-19
Department
Major/Subject
Game Design and Production
Mcode
SCI3046
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
46+1
Series
Abstract
Procedural content generation (PCG) is currently a topic of interest in the game development field due to its benefits of reducing costs and development time. A popular application for PCG is to generate levels for games. In this thesis an approach to generate levels for a custom tower defense game is presented. Tower defense is a strategy game genre where the player defends their base against various enemy waves by placing towers in the map. These games are known for having a large number of levels and PCG allows game developers to create new content with minimal effort. Correctly balanced levels are necessary for an enjoyable gaming experience, so the difficulty of the generated levels is the main focus of the thesis. Levels are generated so that each type of content is generated separately. A level consists of a path for enemies, positions for towers and enemy waves. Random search is used to generate the content. It is search-based methods where random points in the search space are evaluated, so it provides high diversity of content efficiently. The path is evaluated based on its shape to find paths with correct difficulty. To generate balanced enemy waves, they are optimized based on their difficulty and the abilities they use to interact with the environment. In addition, constructive methods are used in some phases of the generation. They can generate content without additional testing, and are thus simple and efficient algorithms. The algorithm can generate a complete level in less than a second, and is reliable enough to generate levels at runtime. It can generate tower defense paths with desired difficulty, and balanced enemy waves where the enemy abilities are considered. It reduces the effort of generating new levels as a new level requires adjusting only a few parameters.

Proseduraaliset sisällöntuottoalgoritmit herättävät kiinnostusta pelialalla sillä niiden avulla voidaan säästää kustannuksia ja aikaa pelinkehityksessä. Kenttien tuottaminen proseduraalisesti on suosittu tapa soveltaa näitä algoritmeja käytännössä. Tässä työssä esitellään proseduraalinen kenttägenerointialgoritmi tornipuolustuskenttien luomiseen. Tornipuolustuspelit ovat strategiapelejä joissa pelaaja puolustaa tukikohtaa määritettyä reittiä pitkin liikkuvilta vihollisilta sijoittamalla torneja kentälle. Tornipuolustuspelit sisältävät usein suuren määrän kenttiä joten proseduraalisen generoinnin hyödyntäminen kenttien luomisessa on aiheellista. Lisäksi kenttien vaikeustason sopiva tasapaino on tärkeää miellyttävän pelikokemuksen takaamiseksi joten tämä työ keskittyy myös vaikeustason hallintaan. Kentät luodaan vaiheittain niin että erityyppiset kentän osat kuten polku jota pitkin viholliset liikkuvat, paikat torneille sekä vihollisaallot luodaan eri vaiheissa. Kenttien generointiin käytetään hakupohjaista algoritmia jossa satunnaisia sisältökandidaatteja luodaan ja arvioidaan määritettyjen kriteerien perusteella. Menetelmän avulla voidaan luoda tehokkaasti suuri ja vaihteleva joukko kandidaatteja. Generoidut polut arvioidaan muodon ja vaikeustason perusteella. Vihollisaallot arvioidaan haastavuuden ja vihollisten kykyjen perusteella. Viholliset vuorovaikuttavat ympäristön kanssa kykyjensä avulla joten nämä vaikuttavat olennaisesti aallon haastavuuteen. Lisäksi joissain vaiheissa kenttien luomisessa hyödynnetään konstruktiivisia algoritmeja niiden tehokkuuden ja yksinkertaisuuden vuoksi. Työssä toteutettu algoritmi pystyy luomaan uuden tornipuolustuskentän alle sekunnissa ja niin luotettavasti että kenttiä voidaan luoda pelin aikana. Algoritmin avulla on mahdollista luoda kenttiä ja vihollisaaltoja halutulla vaikeustasolla. Vihollisaaltot ovat tasapainoisia ja vihollisten kyvyt ovat huomioitu asianmukaisesti. Algoritmin avulla uusien kenttien luomisen työmäärä on huomattavasti pienempi kuin ihmisen tekemänä.
Description
Supervisor
Hämäläinen, Perttu
Thesis advisor
Hämäläinen, Perttu
Keywords
procedural content generation, video games, tower defense, search-based content generation
Other note
Citation