Hellhound Geschrieben 24. September 2018 Melden Share Geschrieben 24. September 2018 Hallo zusammen, ich arbeite mich aktuell etwas in die Thematik der Behaviour Trees ein um eine AI umzusetzen. Dabei stellt sich mir die generelle Frage in welche Richtung ich das Design sinnvoller weise zu legen habe. Ich kann ja einerseits die Logik zum Großteil auf den Tree legen oder aber diesen mehr als übergeordnete Struktur nutzen und die Kernlogik in Eigenimplementationen legen. Ein einfaches Beispiel, was mir grad sozusagen vor die Füsse gefallen ist: Ich möchte, das die AI (und auch die Spielereinheit selbst) eine Einheit angreift, wenn diese in Reichweite gelangt ist und bestimmte Konditionen erfüllt sind. Dafür brauche ich spezifische Animationen (Zielen, Feuern, Laden, Mündungsfeuer) und auch Werte für die Gewichtung. Ich könnte nun die Logik durch spezifische Action-Tasks im Baum Abbilden: z.b. Wenn Ammo > 0. -> Sequenz -> Zielen -> Animation Schuss abspielen -> Animation Mündungsfeuer abspielen -> Ammo dekrement und von vorn bzw. Erweitern. Ich könnte auch einen komplexeren Action-Task, z.b. Schuss schreiben der die Punkte nach Zielen mit abdeckt und über Variablen im Blackboard referenziert. Das macht zumindest den Baum in identischen Abläufen schlanker. Grad bei Elementen mit einer hohen Varianz in der Ablauffolge sehe ich aber das Problem, dass ich mich hier tot modellieren kann, da ich je nach Waffe unterschiedliche Animationen, Sounds, MuzzleFlashes und auch Verhaltensweien haben kann (Bsp. M1 Grand das beim Wert Ammo == 0 immer den berühmten Pling Sound abspielen muss). Oder sollte ich hier den Behavour-Tree nur als Ankerpunkt nehmen, über Events in spezifische Implementationen wechseln, die anschließend über Events wieder Einfluss auf den Baum ausüben? Der Baum kann an sich ja schon recht komplex werden, wenn die AI mehrere Entscheidungen abwegen soll und nicht nur einfache Ablauffolgen wie: Eat, Sleep, Code, Repeat abdecken soll 😉 Hat hier jemand von Euch Erfahrung? Wie würdet Ihr vorgehen? Leider scheint es dazu wenig Input im Netz zu geben und die Beispiele reduzieren sich dann doch schnell auf solche simplen Ablauffolgen ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.