Wie mache ich komplexe KI handhabbar? [geschlossen]

11

In der Vergangenheit habe ich einfache Systeme wie Finite-State-Machines (FSMs) und hierarchische FSMs verwendet, um das AI-Verhalten zu steuern. Dieses Muster fällt sehr schnell auseinander oder jedes komplexe System.

Ich habe von Verhaltensbäumen gehört . Sie scheinen der nächste offensichtliche Schritt zu sein, aber ich habe noch keine funktionierende Implementierung gesehen oder es wirklich versucht.

Welche anderen Muster können komplexe KI-Verhaltensweisen beherrschbar machen?

Tetrad
quelle
Ich habe auch gehört, dass es verschiedene Möglichkeiten gibt, Zustandsautomaten zu verwalten
jokoon
1
Dies ist eine ziemlich vage Frage. Es gibt viele Techniken zum Verwalten von "komplexer" KI, aber die beste für eine bestimmte Situation kann sich von einer anderen Situation unterscheiden. Ich habe eine ziemlich komplexe KI nur mit Verhaltensaktionslisten implementiert, aber diese Lösung würde für ein RTS nicht funktionieren. Die Techniken, die ich in RTS-Spielen gesehen habe, waren unglaublich komplex und dennoch elegant, aber sie wären in jeder anderen Art von Spiel so gut wie wertlos. Wenn Sie eine bestimmte Art von Spiel oder KI im Sinn haben, erhalten Sie möglicherweise relevantere und aufschlussreichere Antworten, wenn Sie angeben, was dies im Voraus ist.
Sean Middleditch

Antworten:

3

Verhaltensbäume sind eine großartige Möglichkeit, KI zu verwalten, und Ai Game dev ist der beste Ort, um mehr über sie zu erfahren! Es gibt unzählige Beispielimplementierungen an Orten wie Codeplex oder sogar die Implementierung von Sandbox-Engines von AIGD (die zugegebenermaßen ziemlich komplex ist und schwer zu verfolgen sein kann).

Letztes Jahr bei der KI-Konferenz im Spiel gab es viel Aufregung über Planer , aber dieses Jahr war viel davon weggefallen. Der beste Tipp schien einfach zu sein, einfach anzufangen. Die gesamten 20% der Arbeit, um 80% dorthin zu bringen, scheinen in den meisten Fällen völlig zutreffend zu sein

Cubed2D
quelle
2

Ich denke, es ist wichtig zu trennen, warum ein Agent etwas von dem, was er tut, ausführen möchte. Zielorientierte Aktionsplaner machen das gut, aber es gibt auch andere Lösungen. Dies gibt Ihnen große Flexibilität beim Erstellen von Agenten, da Sie aus einem Eimer mit Zielen und einem Eimer mit Aktionen auswählen können.

Verhaltensbäume sind so konzipiert, dass sie die gesamte Lösung umfassen - sowohl Entscheidungsfindung als auch Maßnahmen - und können daher schwer zu pflegen sein.

Tenpn
quelle
2

Eine Technik, mit der Sie auf jeden Fall vertraut sein sollten, ist der Aktionslistenansatz. Auf der einfachsten Ebene handelt es sich nur um eine Liste von Aktionsobjekten, für die jedes Aktionsobjekt seine update () -Methode hat, die als jeder Frame bezeichnet wird. Sie können dies jedoch schnell erweitern, um Blockierungsaktionen, mehrere Aktionsspuren, untergeordnete Gruppen usw. zuzulassen. Fast alles, was Sie mit einem übergeordneten FSM erstellen können, kann mit einer Aktion modularer, flexibler und debuggbarer implementiert werden Liste mit Verhaltensaktionen.

Abgesehen davon, dass es sich um eine nützliche Technik zum Verwalten aller Animationen, Pfadfindung und anderer falscher "Dinge" handelt, die Ihre Charaktere tun können, ist es trivial, ein prioritätsbasiertes Entscheidungssystem durch Erstellen von Verhaltensaktionen zu implementieren.

Einige Hinweise zur Verwendung finden Sie in diesem Dia-Deck: http://sonargame.com/2011/11/01/new-game-slides/

Ich bin mir ziemlich sicher, dass es auch Artikel darüber in der AI Programming Wisdom-Reihe gibt.

Sean Middleditch
quelle