Procedurální generování tratí v závodní počítačové hře pomocí generativních gramatik
Procedural Racetracks Generation in Racing Videogames Using Generative Grammars
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/200858Identifikátory
SIS: 274308
Kolekce
- Kvalifikační práce [11991]
Autor
Vedoucí práce
Oponent práce
Guba, Peter
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Počítačová grafika, vidění a vývoj her
Katedra / ústav / klinika
Katedra softwaru a výuky informatiky
Datum obhajoby
20. 6. 2025
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Dobře
Klíčová slova (česky)
Procedurální generování|Závodní hry|Grafové gramatikyKlíčová slova (anglicky)
Procedural generation|Racing games|Graph grammarsCílem práce je vytvořit program pro procedurální generování závodních tratí pro počítačovou hru Trackmania. V Trackmanii je trať postavená z dílků na pravidelné 3D mřížce. Algoritmus generování bude mít dvě fáze. V první fázi si vytvoříme strukturu tratě. Rozdělíme trať na části, které potom rozdělíme na jednotlivé dílky. Ve druhé fázi reprezentujeme trať grafem a použijeme pro gen- erování grafové gramatiky. Vrcholy grafu jsou dílky a hrany grafu jsou spojení mezi nimi. V Trackmanii jsou tisíce různých dílků, proto jsou hrany i vrcholy grafu parametrické. Parametry jsou například tvar, typ povrchu nebo symetrie. Konkrétní dílky se vyberou až následně podle těchto parametrů. 1
The goal of this work is to create a program that procedurally generates racing tracks for the game Trackmania. In Trackmania, the track is made of blocks on a regular 3D grid. The procedural generation algorithm will have two phases. In phase one we will create high level track structure. We will split the track into smaller pieces and then we will split these pieces into individual blocks. In phase two the whole track will be represented by a graph a we will use graph grammars for the generation. The vertices are blocks, and the edges are connections between them. There are thousands of different blocks, so we parametrize both the vertices and the edges. Parameters include shape, surface type and symmetry. Specific blocks are then chosen based on these parameters. 1
