|
Generování 2D map pro počítačové hry
Glos, Kryštof ; Vlnas, Michal (oponent) ; Matýšek, Michal (vedoucí práce)
Tato práce se zaměřuje na jednotlivé metody procedurálního generování z hlediska herního průmyslu, zejména v oblasti vytváření map. Cílem této práce je vytvoření hry žánru Colony-sim, využívající procedurálního generování obsahu. Zaměřil jsem se na analýzu různých způsobů vytváření obsahu a rozbor metod, pomocí kterých lze automatizovaně generovat herní prostředí. Zvolenou metodou pro tvoření herní oblasti byl Perlinův šum, s následným využitím výškových map. Vedle Perlinova šumu jsem také implementoval algoritmus Wave Function Collapse (WFC), který umožňuje generovat detailní a strukturované oblasti mapy. V práci představuji algoritmus, který na základě vstupních parametrů generuje funkční, unikátní a neopakující se mapy, což zajišťuje opakovatelnou hratelnost. Klíčovým výstupem této práce je hra implementující procedurální algoritmy generující mapy, které jsou aplikovatelné v širokém spektru 2D her.
|
|
Coevolution of AI and level generation for Super Mario game
Flimmel, Július ; Černý, Vojtěch (vedoucí práce) ; Pilát, Martin (oponent)
Procedurá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.
|
|
Coevolution of AI and level generation for Super Mario game
Flimmel, Július ; Černý, Vojtěch (vedoucí práce) ; Pilát, Martin (oponent)
Procedurá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 Level Generator with Unity Integration
Nepožitek, Ondřej ; Gemrot, Jakub (vedoucí práce) ; Černý, Vojtěch (oponent)
Procedurální generování obsahu je technika, která se v některých videohrách používá mimo jiné pro zvýšení zážitků z opakovaného hraní. V naší předchozí práci (Nepožitek, 2018) jsme implementovali algoritmus pro procedurální generování 2D úrovní. Na vstupu dostane algoritmus množinu povolených tvarů místností a graf, který říká, jak mají místnosti být mezi sebou propojené. Výstupem algoritmu je půdorys, který obsahuje všechny zadané místnosti a respektuje jejich propojení. V první částí práce řešíme některé nedostatky naší předchozí práce. Původní algoritmus je rozšířen o několik vylepšení, například o lepší podporu propojení místností krátkými chodbami, nebo třeba o možnost generování takzvaných plošinovek. Dále se zaměřujeme na zrychlení algoritmu a zkoumáme, jak se rychlost algoritmu liší na různých vstupech. V druhé částí práce se zaměřujeme na integraci algoritmu do herního engine Unity. A v poslední části práce ukazujeme, že náš algoritmus je schopen produkovat úrovně podobné těm, které lze nalézt ve dvou populárních hrách - Enter the Gungeon a Dead Cells. Výsledkem práce je algoritmus, který je rychlejší než jeho předchozí verze, obsahuje několik vylepšení a lze použít v herním frameworku Unity.
|
|
Procedural Content Generation for Video Games using Open Data
Tuncel, Merve ; Gemrot, Jakub (vedoucí práce) ; Kratochvíl, Miroslav (oponent)
Games get boring when they start repeating themselves and do not offer players new content. Procedural content generation (PCG) is increasingly used to generate this content. PCG-based game design decreases the need to have a human designer or a writer to generate the content. Algorithmic creation of game content can augment the creativity of human designers and this makes it possible small so-called indie teams to create the content for their game without the big resources. In this work, the field of PCG is introduced. Application of PCG is shown through a mobile game implementation. The implementation details of the mobile game Rush Hour will be presented that makes use of Foursquare, Twitter and Mapbox APIs, which eases the content creation using open data as the input of PCG.
|
|
Procedural 2D Map Generation for Computer Games
Nepožitek, Ondřej ; Gemrot, Jakub (vedoucí práce) ; Holan, Tomáš (oponent)
V některých videohrách se herní úrovně generují procedurálně, mimo jiné pro zvýšení zážitků z opakovaného hraní. Takto vygenerované úrovně ale často postrádají jakoukoliv strukturu a mohou hráčům připadat až příliš náhodné. Ma et al. (2014) navrhli algoritmus, který tento problém řeší. Na vstupu dostane jejich metoda množinu povolených tvarů místností a k tomu graf, který říká, jaké místnosti chceme vygenerovat a jak mají být mezi sebou propojené. Výstupem je půdorys, který obsahuje všechny specifikované místnosti a respektuje jejich propojení. Jejich algoritmus je založen na dvou hlavních myšlenkách. První myšlenkou je, že místo toho, abychom se snažili najít vyhovující uspořádání pro celý graf najednou, si graf rozdělíme na menší části a ty se snažíme vyřešit jednu po druhé. Druhou myšlenkou je, že si předpočítáme, jak lze jednotlivé dvojice tvarů místností umístit tak, aby se navzájem nepřekrývaly. To poté využijeme k tomu, abychom nemuseli zkoušet všechna možná umístění jednotlivých místností. V této práci prezentujeme úpravu této metody tak, aby byla schopna generovat takzvané tile-based herní úrovně, tedy takové úrovně, které jsou založené na pravidelné čtvercové mřížce. Původní metoda je rozšířena o několik vylepšení, například o možnost propojit jednotlivé místnosti krátkými chodbami. Dále...
|
|
Procedurální generování měst ve 3D
Krabec, Miroslav ; Gemrot, Jakub (vedoucí práce) ; Beneš, Jan (oponent)
Název práce: Procedurální generování měst ve 3D Autor: Miroslav Krabec Katedra / Ústav: Katedra softwaru a výuky informatiky Vedoucí bakalářské práce: Mgr. Jakub Gemrot Abstrakt: Při vývoji počítačových her se velké množství času stráví vytvářením herního prostředí. Proto se vývojáři snaží o generování tohoto prostředí procedurálně. Jednou ze zajímavých oblastí je generování měst. Algoritmus (Weber et al., 2009) je plně geometrický a poskytuje velkou volnost při parametrizaci města, zatím však neexistovala jeho otevřená implementace. Naše práce takovouto implementaci nabízí a navíc obsahuje také možnost 3D vizualizace ve vývojovém prostředí Unity, které je určeno právě pro tvorbu počítačových her. Zde je kladen důraz na snadné použití uživatelem zvolených 3D modelů budov, cest a křižovatek. Výsledný program pomůže vývojářům generovat města pro jejich hry. Dokáže generovat jen poměrně malá města (několik tisíc budov), což je ale v kontextu počítačových her většinou postačující. Výsledné město je velice citlivé na nastavení parametrů a není triviální dosáhnout požadovaného výsledku. Pro ohodnocení reálnosti vygenerovaného města by bylo třeba provést další výzkum. Klíčová slova: procedurální generování, města, 3D
|