Bachelor's Thesis

Systém pro simulaci obyvatel v budovatelské videohře

Final Thesis 10.06 MB

Author of thesis: Martin Konečný

Acad. year: 2025/2026

Supervisor: Ing. Tomáš Milet, Ph.D.

Reviewer: Ing. Michal Vlnas

Abstract:

The aim of this thesis is to extend the existing citizen control system in the computer game
Zlín City, identify its limitations, and design a new solution that increases the believability
and dynamics of the game world. The original system only allowed simple movement of
citizens along predefined paths and did not include mechanisms for activity planning or
interaction with surrounding objects. The thesis first describes the most important aspects
of the game. It then presents the design and implementation of the resulting solution in
Unreal Engine using the C++ programming language.
The proposed solution uses Navigation Mesh technology for efficient navigation in a dy-
namically changing environment and the Mass Entity system in Unreal Engine for efficient
representation and processing of a large number of citizens. The solution also includes an
activity system, daily schedules, and decision-making logic that allows citizens to perform
both regular and random activities depending on the surrounding environment and in-game
time.

Keywords:

Computer game, Unreal engine, Zlín City, C++, Mass Entity, citizen simulation, Navigation
Mesh

Date of defence

19.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 oponenta a na další 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. Vysvětlete pojem "funnel" algoritmus.
  2. Proč jste v práci nepoužil literaturu doporučenou vedoucím?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Vítězslav Beran, Ph.D. (předseda)
doc. Ing. Tomáš Martínek, Ph.D. (místopředseda)
Ing. Radek Hranický, Ph.D. (člen)
Ing. Petr Veigend, Ph.D. (člen)
Ing. Filip Orság, Ph.D. (člen)

Supervisor’s report
Ing. Tomáš Milet, Ph.D.

Studentova aktivita byla průměrná. Konzultoval v průměrné míře. Výsledný produkt je také průměrný. Celkově hodnotím studentovu práci 70 body - dobře.

Evaluation criteria Verbal classification
Informace k zadání

Student si práci vybral sám. Cílem bylo rozšířit stávající hru Zlin City o navigaci obyvatel. S výsledkem práce jsem spokojen.

Práce s literaturou

Student si dohledal vlastní zdroje informací.

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

Student konzultoval přibližně jednou za měsíc. Ukazoval svůj postup.

Aktivita při dokončování

Práce byla dokončena včas. Její obsah mohl být o něco lepší

Publikační činnost, ocenění

Výsledky práce budou zveřejněny ve hře Zlin City.

Points proposed by supervisor: 70

Grade proposed by supervisor: C

Reviewer’s report
Ing. Michal Vlnas

Realizační část je spíše jednodušší, ale plní svůj účel. Textová část obsahuje již zmíněné chyby, kde jako hlavní problém je absence relevantní literatury.


Celkově navrhuji hodnocení stupněm C a ponechávám na komisi zvážit, zda zmíněné problémy v literatuře jsou důvodem k přepsání/doplnění práce.

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

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

Zadání hodnotím jako průměrně obtížné.

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

Struktura práce je v pořádku. Rozsahově jednotlivé části odpovídají. V podkapitole 6.3 jsou některé zbytečné informace o neimplementovaných vlastnostech, stejně tak obr. 6.4 je v podstatě zbytečný. 

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

Jazyková část práce je celkově víceméně dobrá avšak obsahuje několik typických chyb. Je zde menší množství překlepů, interpunkce občas ztěžuje pochopitelnost věty a autor v některých pasážích nevhodně používá první mluvnickou osobu.

Z typografického hlediska obsahuje práce spoustu prohřešku. V celém textu je větší množství obrázků (což hodnotím kladně), avšak většina z nich (cca 35) není zmíněna nikde v textu. Někdy pak nemusí být jasné, co se daným obrázkem autor snaží říci a k jaké pasáži patří. Nejspíše jediné referencované obrázky, tzn. 4.3 a 5.5, jsou pak zvláštně umístěny. Tzn. umístěny v kapitole 4 a 5, avšak reference je až v kapitole 6. Na str. 27 se pak nachází odkaz na obrázek 5.3.2, což však ale odkazuje na podkapitolu, nikoliv obrázek. Dále pak práce obsahuje klasické drobné chyby (špatné odsazení, chybějící čárky v rovnicích).

60
Realizační výstup

Realizační část vypadá relativně jednoduše. Obsahuje nový systém pohybu a chování herních entit ve hře ZlínCity. Pro nalezení cesty autor použil algoritmus A* v kombinaci s navigation mesh v Unreal engine. Celkové chování entit vypadá dobře, ale pohyb je někdy poměrně "kostrbatý" a trhaný. Taktéž mi není jasné proč obyvatelé i v případě, že ve hře je dostatečné množství domů spí "na ulici". V textu autor taktéž tvrdí, že pokud tato situace nastane, tak preferují spíše spánek na trávě než na chodníku, což se během mého testování úplně nestalo.

Zdrojové kódy jsou dobře odděleny od ostatních zdrojových kódu hry (jenž jsou vytvořeny jinými autory) formou komentářů.

75
Využitelnost výsledků

Práce je nebo bude využívána v rámci hry ZlínCity.

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

Evaluation level: zadání splněno

Všechny body zadání jsou splněny

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Práce cituje pouze 9 zdrojů. Ani jeden zdroj však není odborná publikace. Autor cituje dokumentaci Unreal Engine (3x), hry na platformě Steam (2x) a posléze 4 různé blogy/webové stránky. Takovéto zdroje nelze považovat za referenční literaturu. Následně pak sekce 4.2 a 4.3 jsou kompletně bez citací. Autor nevyužil ani literaturu doporučenou vedoucím v zadání práce.

49
Topics for thesis defence:
  1. Vysvětlete pojem "funnel" algoritmus.
Points proposed by reviewer: 73

Grade proposed by reviewer: C

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