Výkonná implementace stromů chování pro Unity
Performance-wise Implementation of Behavior Trees for Unity
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/171779Identifiers
Study Information System: 220654
Collections
- Kvalifikační práce [11322]
Author
Advisor
Referee
Ježek, Pavel
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Graphics and Game Development
Department
Department of Software and Computer Science Education
Date of defense
8. 2. 2022
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Very good
Keywords (Czech)
výkonné systémy|vývoj počítačových her|inteligentní virtuální agenti|stromy chování|UnityKeywords (English)
performant systems|video game development|intelligent virtual agents|behavior trees|UnityPředstavujeme vám Bursted Behavior Trees framework (BBT) pro Unity, který vyu- žívá technologie Unity - Job system a Burst compiler, a je doplněn node-based vizuálním editorem. BBT je v současnosti jediná implementace behavior trees pro Unity engine, která používá worker vlákna Unity enginu a zároveň je kompatibilní s Burst překlada- čem a představuje node-based vizuální editor. Uživatel může jednoduše vytvořit nejenom vlastní listové uzly (senzory a akce), ale také vnitřní uzly (composite, decorator), které implementují vlastní strategii výběru podstromu. Rozebíráme technické výzvy implemen- tování tohoto řešení a porovnáváme jeho hlavní funkce a výkon se dvěma populárními implementacemi behavior trees v Unity. Ukazujeme, že BBT zvládne zpracování více stromů v rámci jednoho snímku a že zároveň lze lépe rozšiřovat než srovnávaná řešení. 1
We present Bursted Behavior Trees (BBT) for Unity, which makes use of Unity's Job system, Burst compiler, and is complemented with a node-based visual editor. BBT is currently the only behavior tree solution for Unity capable of execution on Unity worker threads while being Burst compiler compatible and featuring a node-based visual editor. A user can easily create not only custom leaf nodes (sensors and actions) but also inner nodes (composites and decorators) implementing custom behavior selection strategies. We discuss technical challenges implementing such a solution and compare its core features and performance with two popular behavior tree Unity assets. We show that BBT allows for the execution of more trees per frame while being more extendable than its selected competitors. 1