Bachelor's Thesis

Advanced Injury Simulation of Game Characters

Final Thesis 9.22 MB

Author of thesis: Adam Helešic

Acad. year: 2025/2026

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

Reviewer: Ing. Tomáš Starka

Abstract:

This Bachelor's thesis deals with the design and implementation of a modular injury system for game characters in the Godot Engine. Enemies are built from targetable body parts that can be destroyed. Losing parts removes abilities that depend on them and changes combat behavior. The theoretical part summarizes body-part-based injury mechanics in games and introduces concepts used in the implementation. The practical part describes reusable scene nodes and editor-oriented tooling – an event-driven behavior tree with body-part-aware nodes, body part and hit logic, skeleton-based knockback, localized mesh deformation through a vertex shader, and the player controller. The combination of these systems is demonstrated in a game demo with a manticore enemy.

Keywords:

Godot, Godot Engine, GDScript, injury system, behavior tree, enemy AI, inverse kinematics, mesh deformation, game design, game development

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

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 B.

Topics for thesis defence

  1. Co by bylo potřeba udělat a kolik času by odhadem zabralo, aby byl výsledek práce ve formě znovupoužitelného modulu, jako jsou FABy v Unreal Engine nebo pluginy v Unity?
  2. Vyjasněte vlastní přínos k behaviorálním stromům v práci. Použil jste už nějaký stávající systém z Godotu? V jakém rozsahu? V kapitole 3.3.1 píšete o nějakém GUI pro tyto stromy. To je součástí Godotu nebo jste jej implementoval vy v rámci práce?
  3. Jak obtížné by bylo vaši metodu adaptovat na poškození mechanických objektů, například aut v závodní hře nebo letadel v leteckém simulátoru?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. Ing. Adam Herout, Ph.D. (předseda)
doc. Ing. Michal Bidlo, Ph.D. (místopředseda)
Ing. Jaroslav Dytrych, Ph.D. (člen)
Ing. Ivana Burgetová, Ph.D. (člen)
Dr. Ing. Petr Peringer (člen)

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

Výsledek splňuje vytyčené cíle a autor během práce aktivně konzultoval.


Výsledná aplikace demonstruje zajímavé postupy pokročilých herních mechanik a autor si osvojil dobré základy pro vývoj 3D aplikací a her. Autor úspěšně dodržoval doporučenou frekvenci konzultací.

Evaluation criteria Verbal classification
Informace k zadání

Práce se zabývá implementací netradičního poškození nepřátel ve hrách.

Útoky hráče ovlivňují chování a vzhled nepřítele podrobněji, než ve většině herních titulů. Dosažené výsledky splňují očekávání.

Práce s literaturou

Autor samostatně vyhledal a použil potřebné materiály.

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

Konzultace probíhaly pravidelně.

Autor o svém postupu informoval dostatečně, a tempo práce bylo rovnoměrné.

Aktivita při dokončování

Práce byla dokončena a zkonzultována včas před odevzdáním.

Publikační činnost, ocenění

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

Jedná se spíše o technickou demonstraci vybraných mechanik než o použitelné demo určené pro komunitu.

Points proposed by supervisor: 93

Grade proposed by supervisor: A

Reviewer’s report
Ing. Tomáš Starka

Výborný výsledek a rozsah praktické části trochu kazí text práce. I tak se text dobře čte, ale k výbornému výsledku něco chybí.

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

Evaluation level: obtížnější zadání

Práce spojuje nejen schopnosti softwarového inženýra, ale i modeláře a animátora. Student si dal za úkol udělat nejen jednorázovou práci, ale něco znovupoužitelného. Zadání hodnotím jako obtížnější i kvůli množství odvedené práce.

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

Prezentační úroveň poněkud pokulhává za výborným programátorským výsledkem. Místy je zde mnoho omáčky (kap. 2.1), místy chybí důležité údaje. V kapitole Teorie jsou implementační detaily k behaviorálním stromům. O nich se dále píše v kapitole Návrh, ale jestli jsou implementovány jako zcela nový systém nebo se využívá nějaké části enginu Godot a do jaké míry, mi není zcela jasné ani po přečtení celého textu. Kapitola Měření je zcela špatná. Měří se věc, která nesouvisí s cílem práce, ale spíše se zanedbáním "best practices" při správě zdrojů a metodika měření je podivná. Práci by pomohlo více obrázků a diagramů, zvláště v části implementace. Odhadem chybí tak týden dva, aby byla textová část ve výborném stavu.

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

Drobné prohřešky proti anglickému jazyku.

90
Realizační výstup

Výsledek je výborný. Student odvedl velké množství kvalitní práce. Krom samotného cíle zadání za zmínku stojí shadery procedurálních textur a vertex displacement. Našli by se i další věci, které práci rozšiřují nad rámec zadání.

95
Využitelnost výsledků

Výsledek je možné znovu použít i pro jiné hry v enginu Godot. Otázkou zůstává množství práce pro takovou úpravu.

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

Evaluation level: zadání splněno

Je zde několik menších rozšíření.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Student zapracoval potřebné množství zdrojů. Jen způsob citování je někdy nešťastný. Například v odstavci Inverse Kinematics (2.3) uvádí zdroj [2] hned třikrát za sebou, přitom by stačilo jednou na začátku uvést, z čeho tato část vychází. Taktéž jsou v literatuře uvedeny 2 online zdroje, které by stačilo uvést v poznámce pod čarou.

75
Topics for thesis defence:
  1. Co by bylo potřeba udělat a kolik času by odhadem zabralo, aby byl výsledek práce ve formě znovupoužitelného modulu, jako jsou FABy v Unreal Engine nebo pluginy v Unity?
  2. Vyjasněte vlastní přínos k behaviorálním stromům v práci. Použil jste už nějaký stávající systém z Godotu? V jakém rozsahu? V kapitole 3.3.1 píšete o nějakém GUI pro tyto stromy. To je součástí Godotu nebo jste jej implementoval vy v rámci práce?
Points proposed by reviewer: 87

Grade proposed by reviewer: B

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