Bachelor's Thesis

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

Final Thesis 10.06 MB

Author of thesis: Bc. 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
Information about assignment

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.

Work with literature

Student si dohledal vlastní zdroje informací.

Activity during solution, consultations, communication

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

Activity during completion

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

Publication activity, awards

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
The difficulty of the assignment

Evaluation level: moderately difficult assignment

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

Presentation level of the technical report

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
Formal preparation of a technical report

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
Realisation output

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
Usability of results

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

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

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

Extent of the technical report

Evaluation level: is within the usual extent

Work with literature

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á