Procedural generation of levels for a tower defense game

Loading...
Thumbnail Image

URL

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