BÁBEK, R. Hra v Unity s využitím genetických algoritmů [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.

Posudky

Posudek vedoucího

Vlnas, Michal

Celkově se jedná o nadstandardní práci. Student si výchozí zadání značně zkomplikoval možností hraní po síti formou architektury client-server. Nicméně výsledek byl dotažen do konce a realizace je dobře funkční jak po technické stránce, tak po stránce herní. Student prokázal velmi dobré odborné znalosti v daném tématu a stejně tak programátorské dovednosti nad relativně rozsáhlým projektem. Celkově navrhuji hodnocení stupněm A . Současně nominuji studenta na cenu děkana za vynikající bakalářskou práci.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Zadání je dle mého názoru lehce obtížnější, vzhledem k složitosti celé práce. Student ho však dle mého názoru splnil na výbornou a ještě si ho rozšířil o implementaci síťové architektury klient-server pro možnost hraní hry on-line. S celkovým výsledkem jsem naprosto spokojen.
Práce s literaturou Student iniciativně vyhledával literaturu sám a vhodně s ní pracoval.
Aktivita během řešení, konzultace, komunikace V zimním semestru byla konzultační aktivita lehce slabší, nicméně od druhé půle zimního semestru se aktivita studenta zvedla. Na každé konzultaci byl znát velký pokrok -- student chodil vždy připraven, přinášel ukázky a definoval plán na další týdny.
Aktivita při dokončování Práce byla dokončena relativně v předstihu, obsah byl několikrát a podrobné konzultován, včetně poslední verze.
Publikační činnost, ocenění -
Navrhovaná známka
A
Body
95

Posudek oponenta

Beran, Vítězslav

Autor navrhl a vytvořil hru pro pěstování smyšlených rostlin určených k soubojům. Využívá 3D vizualizaci a prvky genetických algoritmů pro generování zcela nových druhů rostlin. Rostliny jsou popsány komplexní sadou parametrů. Součástí řešení je i soubojový systém pro 2 hráče v reálném čase. Autor prokázal schopnost řešit technické i principiální problémy během vývoje své hry, která integruje řadu rozdílných technologií a postupů. Technická prezentace navržené hry i relevantních studijních zdrojů nemá vhodnou strukturu a neobsahuje všechny potřebné informace vhodnou formou. S ohledem na rozsah a komplexnost realizační části i rozšíření zadání se ale jedná o vyjímečnou práci.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Dobré řešení zadání vyžaduje jak zvládnutí vývoje her v enginu Unity, tak pochopení a správný využití genetických algoritmů.
Rozsah splnění požadavků zadání Autor navrhl a realizoval hru pro více hráčů v reálném čase. 
Rozsah technické zprávy
Prezentační úroveň technické zprávy 65 Technická zpráva popisuje návrh celkem komplexní hry, kde jedna její část dokonce realizuje souboj dvou hráčů v reálném čase. Obsah studijní i návrhové části zprávy má velký prostor pro zlepšení, zejména, když autor potřebuje vysvětlit herní mechanismy komplexní hry i způsob jejich realizace a SW architekturu. Autor ve studijní části dělí hry do nějakých kategorií (kap. 3.), aniž by se opíral o nějakou relevantní studijní literaturu, není zřejmé podle jaké logiky vybírá hry, které studuje a o kterých píše, když z tohoto studia nevyvozuje žádné závěry pro svoji práci. Dále není jasné, o jakou studijní literaturu se autor opíral, když vybíral klíčové technologie pro návrh celého klient-server systému (kap. 3.4), kdy např. chybí logické členění systému na nějakou aplikační logiku, klienta s GUI apod. Vlastní návrh hry obsahuje slovní popis chování hry a herních prvků. Detaily navrhované herní mechaniky, konkrétních atributů a jejich vlivu na různé aspekty hry, jsou pak prezentovány až v implementační části formou popisu tříd, metod, instancí, seznamů atd. Tato kombinace není šťastně zvolena, protože čtenář těžko získává jasnou představu o mechanice hry. Ukázka API v návrhu (kap. 4.3) formou obrázku z nástroje Swagger UI (obr. 4.6) není dostatečným popisem aplikační logiky. Chybí detailnější technický popis jak rovnic pro genetické metody, tak pro mechaniku souboje. Není zcela zřejmé dělení funkčnosti mezi klientskou a serverovou část. Popis některých částí, např. Automapper (kap. 5.3), je nejasné a technicky nepřesné. Dále v kap. 5.3 není vysvětleno, jak jednotkové testy slouží k balancování útoků . Požadavky na klienta popsané v úvodu kap. 5.4 jsou nerelevantní. Autor nesprávně označuje modální okna jako modalová .
Formální úprava technické zprávy 90 Text je srozumitelný, jasný a je víceméně bez chyb. Technická zpráva vhodně využívá formátování textu. Obrázky jsou v relevantních formátech a dobře doplňují text.
Práce s literaturou 75 Vybraná studijní literatura je většinou relevantní. Výběr by bylo vhodné doplnit o studijní literaturu k návrhu klient-server SW aplikací, zejména s ohledem na spolupráci více uživatelů v reálném čase. Kapitoly 3.2 a 3.3 neobsahuji odkazy na literaturu.
Realizační výstup 100 Projekt realizuje kompletní vývoj hry pro více hráčů s využitím genetických metod, což vyžaduje zvládnutí SW architektury klient-server, práci s GUI, datovým modelem, genetických algoritmů, principů pro hraní více hráčů atd. Autor se žádné z těchto oblastí nevěnuje moc pečlivě a kvalita zvládnutí těchto jednotlivých oblastí tak zůstává nižší, ale vždy dostatečná na vytvoření kompletního funkčního konceptu navržené hry. Výsledné řešení obsahuje systém pro pěstování nových rostlin formou křízení již existujících rostlin, odměnový systém a soubojový systém. Klient je realizován v herním enginu Unity a využívá 3D grafickou vizualizaci rostlin. Server je implementován v ASP.Net core a je dobře rozdělen do několika různých funkčních vrstev. Řešení využívá spíše principy genetických algoritmů při křížení nových rostlin. Vlastní implementace hry je co do technologické komplexnosti rozsáhlá, je kompletně funkční a použitelná. Autor se při implementaci musel vypořádat z velkým množstvím nejen technických problémů, ale i principiálních (což bez řádného studia konkrétních postupů a principů muselo být náročné). Na obou částech výsledné aplikace, serverové i klientské, autor odvedl značné množství práce. Zdrojové kódy sice nejsou komentované, jsou ale dobře logicky strukturované a logika zdrojových kódů i celé implementace je zřejmá.
Využitelnost výsledků Výsledek práce je praktického charakteru. Hra je funkční a po dopracování detailů a drobné optimalizaci může být dobrým základem pro hru s reálným rozšířením mezi uživatele.
Navrhovaná známka
A
Body
95

Otázky

eVSKP id 153371