Back to Search Start Over

Erstellung einer IDE für Evoltionäres Training von Behavior Trees

Authors :
Hopfmüller, Sebastian
Publication Year :
2023

Abstract

Nicht-spielbare Charaktere (NPCs) werden in Videospielen oft durch Behavior Trees gesteuert. Diese sind bekanntermaßen eine gute Wahl, wenn es um komplexe Charaktere geht, die eine Vielzahl an Aktionen überzeugend darstellen sollen. Jedoch erfordern Behavior Trees auch einen signifikanten Implementierungsaufwand, was oft dazu führt, dass Entwickler oft zu simpleren Modellen wie Finite State Machines (FSMs) greifen, obwohl diese womöglich kein vergleichbares Resultat liefern. Das ist im Speziellen bei einfachen NPCs der Fall. Da diese oft nur eine begrenzte Anzahl simpler Aktionen durchführen können ist eine FSM ausreichend. Dies jedoch limitiert die Wiederverwendbarkeit zwischen einfachen und komplexen Charakteren dramatisch, und führt überdies zu einer Grauzone, in welcher möglicherweise FSMs verwendet werden, obwohl sie bereits zu komplex werden. Wäre es möglich Behavior Trees automatisch zu trainieren, würde es deren Implementierungsaufwand verringern, und sie auch in Situationen, in denen es um simple NPCs geht zur besseren Wahl machen. In dieser Arbeit wird das Automatische Trainieren von Behavior Trees mittels evolutionären Trainings untersucht. Zu diesem Zweck wird ein Entwicklungsumgebung implementiert, welche Werkzeuge zum Untersuchen, Verändern, Laden und Speichern von Behavior Trees bietet, und überdies eine Simulationsumgebung zur Verfügung stellt, in welcher in weiterer Folge einige Behavior Trees trainiert werden. Die Behavior Trees, die in der Simulation trainiert wurden, passen sich in den meisten Fällen perfekt an ihre Umgebung und die Charakteristika des NPCs an. Obwohl die Simulationsumgebung noch Verbesserungspotential aufweist ist die generelle Idee, Behavior Trees automatisch mittels evolutionären Lernens zu trainieren vielversprechend, speziell in Fällen in denen es normalerweise nicht effizient scheinen würde, Behavior Trees manuell zu implementieren. Non-Player Characters (NPCs) in video games are often controlled by behavior trees. They are well known to be a good choice when dealing with complicated characters that should be able to perform a variety of actions convincingly. However, their implementation effort is significant, which often leads developers to using simpler models, like Finite State Machines (FSMs), even though this might not result in an equally good result. This is especially true when looking at simple NPCs. Since they are often only required to perform a limited amount of simple actions, a FSM is sufficient. However, this limits the potential of re-usability between simple and complex NPCs significantly, while also leading to a grey area in which FSMs might be used, even though they are already getting too complex. Training behavior trees automatically would lessen their implementation effort, making them a better choice, even in situations regarding simple NPCs. This thesis takes a look at training behavior trees automatically using evolutionary training. For that purpose, an Integrated Development Environment (IDE) is implemented, which offers tools for inspecting, editing, loading, and saving behavior trees, as well as a simulation environment which is then used to train several behavior trees. The behavior trees trained in the simulation environment adapt perfectly to their environment and NPC's characteristics most of the time. Even though the simulation environment could be improved upon, the idea of using evolutionary training to train behavior trees shows significant promise, especially in cases where manually setting them up might not seem worth it.

Details

Language :
English
Database :
OpenAIRE
Accession number :
edsair.od.....10650..289ab6d2ed1fe000b2fefd21d9468746