|
Framework pro implementaci botů pro hru NetHack
Krajíček, Jan ; Gemrot, Jakub (vedoucí práce) ; Mráz, František (oponent)
Dosavadní pokusy o implementaci botů pro klasickou roguelike hru NetHack narážely na mnohá úskalí spojená s její rozsáhlostí, obtížností a konzolovým rozhraním. Framework implementovaný v této práci řeší problémy s napojením ke hře a zprostředkovává k ní programátorsky přivětivé rozhraní v jazycích Java a Clojure. Poskytuje možnost programovat pokročilé NetHack boty s využitím komplexního modelu herního světa, knihovny možných akcí a mnoha pomocných funkcí. Framework používá prvků funkcionálního a logického programování a nevyžaduje modifikace vlastního kódu hry. Popsána je také implementace ukázkového bota, který jako první bot vůbec dokáže hru dokončit. Powered by TCPDF (www.tcpdf.org)
|
|
Simultánní tahová hra pro mobilní zařízení
Staruch, Michal ; Gemrot, Jakub (vedoucí práce) ; Yaghob, Jakub (oponent)
Práce se zabývá návrhem a realizací tahové strategické hry se simultánním hraním pro systém Android. Součástí této práce je analýza nejhranějších her pro systém Android, omezení mobilních zařízení a potřebných knihoven. V práci je následně popsán princip fungování prototypu herního serveru a zátěžový test implementace tohoto prototypu. Na základě výsledků uvedených testů je u serveru implementováno vícevláknové zpracování a provedena analýza nové implementace. V práci jsou rovněž popsány techniky použité u síťové komunikace. Výsledkem této práce je herní server v jazyce Java a mobilní aplikace pro systém Android, pomocí které uživatelé hrají vytvořenou hru. Powered by TCPDF (www.tcpdf.org)
|
|
Role komunikace v týmově orientovaných FPS hrách
Tuma, Vojtěch ; Gemrot, Jakub (vedoucí práce) ; Bída, Michal (oponent)
Komunikace v týmových počítačových hrách slouží ke koordinaci strategie týmu a sdí- lení vědomostí. Role komunikace byla v této práci prověřena vytvořením několika týmů botů pro CTF mód hry Unreal Tournament 2004. Týmy využívaly různé metody ko- munikace a byla porovnána jejich výkonnost. Jako základ pro implementaci posloužila platforma Pogamut a existující deathmatch bot, který byl upraven pro CTF. Pro srovnání byly vytvořeny tři týmy botů: první tým nevyužíval žádnou komunikaci, druhý tým měl k dispozici sdílení znalostí a třetí tým využíval se sdílením znalostí i ak- tivní komunikaci pro skupinový pohyb. Textový komunikátor využitý pro komunikaci byl vytvořen v rámci této práce. Po uskutečnění několika porovnávacích zápasů bylo zjištěno, že tým bez komunikace nedosahuje horších výsledků než týmy využívající komunikaci. Rozdíl je však velmi malý a může být ovlivněn průběhem experimentů i konkrétní implementací v této práci. 1
|
|
Sorcerer's Struggle
Tóth, Gergely ; Gemrot, Jakub (vedoucí práce) ; Ježek, Pavel (oponent)
Táto práce se věnuje návrhu a realizaci tzv. run and gun hry, která je pro více hráče a běží na platformách Windows, Linux a MacOS. Práce obsahuje diskusi o herních platformách a o nejdůležitějších součástech aplikace a vhodného editoru herního světa. Mezi ostatní diskutované tématy patří problém vyhlazování herní mapy, řešení dynamické synchronizace obrazů a návrh a funkce matchmaking serveru. Výsledkem práce je dvoudimenzionální hra, příslušný editor herního světa a server. 1
|
|
Coordination of multiple virtual agents in team-based computer games
Kolombo, Martin ; Gemrot, Jakub (vedoucí práce) ; Kadlec, Rudolf (oponent)
Práce se zabývá problémem efektivní koordinace týmu virtuálních agent· v počí- tačových hrách. Hlavním cílem bylo navrhnou obecnou architektru pro práci s informacemi o virtuálním prostředí, která poskytuje programátorovi dobrý přístup k týmovým znalostem o virtuálním prostředí. Zvolená architektura neklade na programátora žádné požadavky ohledně implementace týmu agent· a nezávisí na žádném konkrétním virtuálním prostředí. Architektura je založena na přirozeném rozdělení dat podle jejich schopnosti se měnit v pr·běhu simulace a podle jejich subjektivity. Tato distribuce dat přirozeně vytváří sdílené znalosti týmu a programátorovi tak umožní založit rozhodování agent· na znalostech celého týmu namísto pouze jediného agenta. Architekturu jsme implemento- vali do systému Pogamut, ve kterém jsme provedli validaci zpětné kompati- bility. Vzheldem k nekompatibilitě formátu dat exportovaných součástí Poga- mutu, který jsme objevili v poslední fázi validace jsme provedli validaci pouze částečnou. Úpravu platformy Pogamut a následnou implementaci týmu agent· využívajícího naši architekturu plánujeme jako pokračování práce. 1
|
|
Studium a srovnávání hlavních typů evolučních algoritmů
Štefan, Martin ; Holeňa, Martin (vedoucí práce) ; Gemrot, Jakub (oponent)
Evoluční algoritmy patří mezi nejmladší a zároveň nejprogresivnější metody řešení obtížných optimalizačních úloh. Tyto algoritmy si získali svou velkou oblibu díky dobrým experimentálním výsledkům na složitých optimalizačních úlohách, jednoduchosti implementace a také vysoké modularitě, tedy možnosti úpravy pro účely řešení různých problémů. Mezi nejpoužívanější evoluční algoritmy patří Genetické algoritmy, Diferenciální evoluce a Evoluční strategie. Tyto algoritmy a jejich varianty je možné aplikovat jak na úlohy spojité, diskrétní tak i smíšené optimalizace. Předmětem této práce je srovnání chování tří základních typů evolučních algoritmů na katlystické optimalizační úloze se smíšenými proměnými, lineárním omezením a experimentálně počítanou fitness funkcí.
|
|
Comparing reactive techniques to classical planning for intelligent virtual agents
Černý, Martin ; Gemrot, Jakub (vedoucí práce) ; Balyo, Tomáš (oponent)
Mnoho současných počítačových her lze popsat jako dynamické simulace běžící v reálném čase obývané autonomními inteligentními virtuálními agenty (IVA), kde většina struktury prostředí je neměnná a jednou z nejběžnějších činností je pohyb. Ačkoliv se techniky plánování zdají být ideálním přístupem pro ovládání takovýchto agentů, plánování je v současných hrách používáno jen zřídka. Tato práce se snaží zodpovědět, zda současné akademické techniky plánování jsou připraveny pro použití v existujících hrách a za jakých podmínek. Práce porovnává reaktivní techniky s klasickým plánováním pro řešení problému "co udělat teď" u IVA v herním prostředí. Několik hotových klasických plánovačů, které obsadily přední příčky v International Planning Competition bylo připojeno k virtuálnímu prostředí Unreal Development Kit pomocí knihovny Pogamut. Výkonnost IVA využívajících tyto plánovače a IVA s reaktivní architekturou byla změřena na třídě zkušebních prostředí vycházejících z počítačových her pod různou úrovní externích zásahů. Ukázalo se, že agenti využívající klasické plánování překonají reaktivní agenty pouze když velikost plánovacího problému je malá, nebo když změny v prostředí jsou buď nepřátelské k agentu nebo nepříliš časté.
|
|
Multi-platform Multiplayer RPG Game
Do Manh, Tuan ; Gemrot, Jakub (vedoucí práce) ; Ježek, Pavel (oponent)
Název práce: Multi-platform Multiplayer RPG Game V rámci práce byla vytvořena multiplatformní hra, kterou je možné spustit na různých zařízeních se systémem Windows 8.1 a Windows Phone 8.1. Mělo se jednat o univerzální herního klienta spustitelném na různých zařízeních (PC, notebook, tablet, mobilní telefon). Hra měla spadat do žánru her na hrdiny (RPG) se zaměřením na akčně tahový boj. V rámci práce byl vytvořen vlastní 3D renderer pro malé scény umožňující renderování objektů a animování postav. V rámci práce byla také implementována knihovna pro cross-device komunikaci zprostředkovávající bluetooth technologii pro komunikaci mezi klienty běžících na různých zařízeních. Dále byla vytvořena knihovna pro server-client komunikaci, která je použitá v implementaci herního serveru, který nabízí možnost online hraní.
|
|
Informační systém pro pořádání akcí
Uhlík, Sebastian ; Pergel, Martin (vedoucí práce) ; Gemrot, Jakub (oponent)
Vlastní webové stránky jsou dnes pro volnočasové organizace nezbytnost. Obsahem této práce je nástroj usnadňující jejich vytvoření, který zároveň nese logický základ zpřístupňující zajímavou aplikační funkčnost i bez pokročilých programátorských znalostí a dovedností. Jedná se o middleware s REST-like architekturou, napsaný v jazyce C# pomocí frameworků ASP.NET Core a Entity Framework Core. Nabízí komplexní a provázanou databázi, ukázkový frontend, automaticky generovanou PHP knihovnu a dokumentaci, popisující volání všech jednotlivých endpointů pomocí PHP funkcí. Práce se zabývá těmi aspekty vývoje webové aplikace, které vedou k jeho zjednodušení.
|
|
Výkonná implementace stromů chování pro Unity
Berný, Jiří ; Gemrot, Jakub (vedoucí práce) ; Ježek, Pavel (oponent)
Představujeme vám Bursted Behavior Trees framework (BBT) pro Unity, který vyu- žívá technologie Unity - Job system a Burst compiler, a je doplněn node-based vizuálním editorem. BBT je v současnosti jediná implementace behavior trees pro Unity engine, která používá worker vlákna Unity enginu a zároveň je kompatibilní s Burst překlada- čem a představuje node-based vizuální editor. Uživatel může jednoduše vytvořit nejenom vlastní listové uzly (senzory a akce), ale také vnitřní uzly (composite, decorator), které implementují vlastní strategii výběru podstromu. Rozebíráme technické výzvy implemen- tování tohoto řešení a porovnáváme jeho hlavní funkce a výkon se dvěma populárními implementacemi behavior trees v Unity. Ukazujeme, že BBT zvládne zpracování více stromů v rámci jednoho snímku a že zároveň lze lépe rozšiřovat než srovnávaná řešení. 1
|