Developing a behaviour tree based AI system
Vahde, Tomi (2020)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2020061018161
https://urn.fi/URN:NBN:fi:amk-2020061018161
Tiivistelmä
Tekoäly on tärkeä osa nykyaikaista pelinkehitystä. Eri kehitystyökalujen laajan saatavuuden ansioista on entistä helpompaa kehittää ihmisten käyttäytymistä imitoivia tekoälyjärjestelmiä.
Tämän opinnäytetyön tavoitteena oli luoda tekoälyjärjestelmä käyttäen käytöspuita, dokumentoida kehitysprosessi ja vertailla kehitysprosessia äärellisten automaattien kanssa työskentelyyn. Tekoälyjärjestelmän tuli olla helposti säädettävissä, visuaalisesti selkeä ja tarjota työkalut nopeaan ongelmanratkaisuun. Tekoälyjärjestelmä kehitettiin käyttäen Unity-pelimoottorin versiota 2019.2.6f1 ja Behaviour Designer-ohjelmiston versiota 1.5.12.
Tulokset toivat ilmi käytöspuiden hyödyllisyyteen liittyviä vahvuuksia ja heikkouksia. Tärkeimpiä vahvuuksia olivat järjestelmän visuaalinen selkeys, eri tilojen välinen siirtyminen ja järjestelmän joustavuus. Heikkouksiin kuuluivat jyrkempi oppimiskäyrä, sekä visualiset virheet ja suorituskyky. Artificial Intelligence (AI) is an important aspect of modern game development. With the vast availability of different development tools, it is easier than ever before to develop an AI system that mimics human behaviour.
The objective of this thesis was to create an advanced artificial intelligence system using behaviour trees, document the development process and compare it to a process of working with state machines. The AI system needed to be easily adjustable, visually self explanatory and provide a fast way of solving potential unwanted AI behaviours .The system was created using the Unity game engine version 2019.2.6f1 and the Behaviour Designer version 1.5.12.
The results highlighted advantages as well as disadvantages regarding the usefullness of behaviour trees when compared to state machines. Main advantages being the visual clarity behaviour tree editors provided, the non-existence of transitions between states and the flexibility of the system. Disadvantages included a steeper learning curve when compared to state machines as well as visual bugs and performance issues.
Tämän opinnäytetyön tavoitteena oli luoda tekoälyjärjestelmä käyttäen käytöspuita, dokumentoida kehitysprosessi ja vertailla kehitysprosessia äärellisten automaattien kanssa työskentelyyn. Tekoälyjärjestelmän tuli olla helposti säädettävissä, visuaalisesti selkeä ja tarjota työkalut nopeaan ongelmanratkaisuun. Tekoälyjärjestelmä kehitettiin käyttäen Unity-pelimoottorin versiota 2019.2.6f1 ja Behaviour Designer-ohjelmiston versiota 1.5.12.
Tulokset toivat ilmi käytöspuiden hyödyllisyyteen liittyviä vahvuuksia ja heikkouksia. Tärkeimpiä vahvuuksia olivat järjestelmän visuaalinen selkeys, eri tilojen välinen siirtyminen ja järjestelmän joustavuus. Heikkouksiin kuuluivat jyrkempi oppimiskäyrä, sekä visualiset virheet ja suorituskyky.
The objective of this thesis was to create an advanced artificial intelligence system using behaviour trees, document the development process and compare it to a process of working with state machines. The AI system needed to be easily adjustable, visually self explanatory and provide a fast way of solving potential unwanted AI behaviours .The system was created using the Unity game engine version 2019.2.6f1 and the Behaviour Designer version 1.5.12.
The results highlighted advantages as well as disadvantages regarding the usefullness of behaviour trees when compared to state machines. Main advantages being the visual clarity behaviour tree editors provided, the non-existence of transitions between states and the flexibility of the system. Disadvantages included a steeper learning curve when compared to state machines as well as visual bugs and performance issues.