Bachelor's Thesis

3D hra v Unity se zaměřením na vyhledání úkrytu

Final Thesis 995.89 kB

Author of thesis: Roman Ledecký

Acad. year: 2025/2026

Supervisor: Ing. Ondřej Klíma, Ph.D.

Reviewer: Ing. Michal Matýšek

Abstract:

This bachelor's thesis focuses on the design and development of a 3D interactive simulation in the Unity game engine, aimed at seeking shelter and preparation during crisis situations. The goal of the project is to create a functional and realistic serious game from a first-person perspective that allows players to practice rapid decision-making under time pressure. Emphasis was placed on the authentic atmosphere of a post-Soviet city and believable interaction with the environment. The resulting application underwent user testing, which confirmed its functionality, intuitiveness, and real potential for use as an effective educational tool in the field of civil protection

Keywords:

Unity, serious games, 3D simulation, shelter seeking, crisis situations, civil protection, stress decision-making, educational tool

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaCznamka

Grading

C

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.

Topics for thesis defence

  1. Principy hry byly navrženy Vámi nebo externí spoluprácí?
  2. Co způsobuje neefektivitu programu?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Tomáš Martínek, Ph.D. (předseda)
doc. Ing. Michal Španěl, Ph.D. (místopředseda)
Ing. Jiří Hynek, Ph.D. (člen)
Ing. Filip Orság, Ph.D. (člen)
Ing. Vladimír Bartík, Ph.D. (člen)

Supervisor’s report
Ing. Ondřej Klíma, Ph.D.

Výsledkem práce je edukativní hra potenciálně využitelná HZS ČR pro potřeby výuky civilní obrany. Vzhledem ke kvalitně zpracované implementační i textové části navrhuji hodnocení stupněm B.

Evaluation criteria Verbal classification
Informace k zadání

Cílem práce bylo vytvoření edukativní hry pro potřeby výuky civilní obrany s konkrétním zaměřením na vyhledání improvizovaného úkrytu a sbalení evakuačního zavazadla. Zadání bylo průměrně obtížnosti, student zadání kompletně splnil. Zadání bylo vypsáno v návaznosti na projekt řešící evidenci a metodiku improvizovaného ukrytí. Cílovou skupinou edukativní hry jsou děti školního věku.

Práce s literaturou

Student si vyhledal a nastudoval potřebné zdroje, které v práci vhodně použil.

Aktivita během řešení, konzultace, komunikace

Student byl při řešení práce aktivní a práci pravidelně konzultoval. Na konzultace byl patřičně připraven. Konzultace probíhaly také s kolegy z oboru krizového řízení, student práci upravoval na základě obdržené zpětné vazby. Práce byla testována na cílové skupině během výuky.

Aktivita při dokončování

Práce byla dokončena v předstihu a její podoba byla dostatečně konzultována.

Publikační činnost, ocenění

Publikační činnost není známa.

Points proposed by supervisor: 89

Grade proposed by supervisor: B

Reviewer’s report
Ing. Michal Matýšek

Text práce je na dobré úrovni. Realizační výstup v podobě výukové hry funguje a splňuje zadání, nicméně vykazuje určité technické nedostatky (zejména nižší výkon a nekonzistentní/horší vizuální kvalitu výsledných scén). Z uvedených důvodů se přikláním k hodnocení C (70b).

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Předloženou práci hodnotím na základě odevzdaného realizačního výstupu jako středně náročnou.

Prezentační úroveň technické zprávy

Logická struktura technické zprávy je přehledná a práce dodržuje doporučené standardní členění. Jednotlivé kapitoly na sebe plynule navazují. Text je srozumitelný a dobře čitelný. Popis implementace je místy příliš stručný/obecný. V některých sekcích by bylo vhodné text doplnit o obrázky, konkrétně například sekce Logika inventáře v kapitole 3.6 popisuje vzhled uživatelského rozhraní pouze slovně, přičemž odpovídající obrázek v daném kontextu chybí a není na něj ani odkazováno. (V tomto případě by bylo možné alespoň odkázat na obrázek 2.5.) Dále v práci postrádám například diagram znázorňující vzájemné závislosti jednotlivých komponent a celkovou architekturu aplikace.

V kapitole 5, věnované uživatelskému testování, je sice zhodnocen výstup z dotazníku, samotný dotazník však v práci obsažen není a text se omezuje pouze na slovní shrnutí odpovědí respondentů. V kapitole 5.3 (sekce Analýza zpětné vazby pro budoucí vývoj) se pak v bodech 2 a 3 opakuje totožný odstavec – druhý výskyt obsahuje navíc jednu větu.

Přes zmíněné nedostatky je prezentační úroveň technické zprávy dobrá.

75
Formální úprava technické zprávy

Text je z jazykového i typografického hlediska na dobré úrovni a obsahuje jen minimum překlepů. K drobnějším nedostatkům patří například nevhodný překlad pojmu Asset Library jako knihovna hotových aktiv, nesprávně formulovaná úvodní věta v sekci Implementace hodnocení krizových scénářů na straně 34 či nevhodně (na začátku řádku) umístěná reference na poznámku pod čarou na straně 18. Graf na obrázku 5.2 by měl být do textu vložen ve vektorové podobě.

80
Realizační výstup

Realizačním výstupem práce je výuková hra zaměřující se na nácvik chování v krizových situacích a na vyhledávání adekvátního úkrytu.  Hra obsahuje zdařilý tutoriál, který uživatele postupně uvádí do herního prostředí a vysvětluje ovládání. Technický stav realizačního výstupu je mírně horší, zejména kvůli výkonnostním problémům způsobeným neefektivním či nevhodným využitím některých komponent enginu (podrobnosti jsou uvedeny v komentáři). Prostředí je vizuálně nekonzistentní (použité modely a textury pochází z různých zdrojů a mají odlišnou úroveň kvality).

Z pohledu implementace často není dodržen princip jedné odpovědnosti tříd. Bylo by vhodné například více oddělovat herní logiku od uživatelského rozhraní. Na mnoha místech jsou ve zdrojových kódech také využity funkce typu GameObject.FindObjectsByType/FindAnyObjectByType/Find současně s rovněž často používaným návrhovým vzorem singleton. Tento přístup sám o sobě nemusí být problematický, zejména v menších projektech nebo během prototypové fáze vývoje. V kontextu odevzdaného realizačního výstupu toto však naznačuje nevhodně navržené/vyřešené závislosti mezi jednotlivými komponentami hry. 

Přes uvedené problémy je hra funkční a splňuje vytyčené cíle.

60
Využitelnost výsledků

Hra má potenciál sloužit jako vzdělávací nástroj.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Vzhledem k povaze tématu byly jako hlavní zdroj informací využívány online materiály, především návody, články a videa zaměřená na implementaci jednotlivých komponent.  Převzaté prvky jsou dostatečně odlišeny od vlastních výsledků.  Odkazy do literatury jsou však často uváděny pouze číslem bez zasazení do kontextu. U odkazů většinou není uveden název zdroje nebo autor a typ zdroje. Nejsou také uváděny stránky či kapitoly, takže není možné snadno dohledat, odkud informace pochází (toto platí například pro reference v sekci Klasifikace mimořádných událostí v kapitole 2.4, kde jsou tři po sobě jdoucí odstavce ukončeny odkazem na zdroj 9 nebo u zdrojů 4, 19, 22 používaných především v kapitole 2.2).

Oceňuji přiložené seznamy použitých modelů, textur a zvuků včetně odkazů na konkrétní zdroje. Tyto odkazy však nejsou vždy zcela konzistentně zpracovány. Například na straně 30 se nachází rozsáhlá poznámka pod čarou s referencemi na zvuky, které nejsou zahrnuty v příslušném seznamu v příloze. Uvedené zdroje by bylo vhodnější doplnit přímo do odpovídajícího seznamu, než je ponechávat v takto rozsáhlé poznámce pod čarou.

65
Points proposed by reviewer: 70

Grade proposed by reviewer: C

Responsibility: Mgr. et Mgr. Hana Odstrčilová