Konzepte für dynamisches Verhalten von Gegnern

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

skatanist

Betreff: Konzepte für dynamisches Verhalten von Gegnern

BeitragSa, Jun 10, 2006 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Ich wollte hier im Forum mal ein Problem ansprechen, mit dem ich mich schon etwas länger beschäftigt habe, und verwundert war so etwas noch NIE hier gelesen zu haben.
Also, es geht um die Umsetzung von Gegnern mit einer simplen KI in einem (3d-) Actionspiel.

Die reine programmiertechnische Lösung ist da ja nicht wirklich schwer, mir geht es nur darum, das ich ja nicht für jeden Gegner, quasi eine eigene Routine schreiben will. Da ich aber bei meinem Projekt sehr auf flexiblität setzte, brauch man natürlich eine Möglichkeit Gegner ausserhalb vom Code zu definieren.

Bei Objekten funktioniert das noch sehr gut, aber Gegner sind da halt wesentlich komplexer...

Meine Idee war einfach sich Verhaltensmerkmale aufzuschreiben, in die die Gegner kategorisiert werden, und aus diesen Variablen, aus welchen sich das Verhalten schließlich zusammensetzt, eine flexbile KI-Routine zu schreiben (hab mir ~25 Variablen, die für meinen Zweck passend sind ausgedacht).
Dennoch beschränkt sich das ganze dann natürlich nur auf die Möglichkeiten die man in diese Merkmale gepackt hat, und ein späteres Integrieren von weiteren gestaltet sich sicher nicht als so einfach...

Moderne Spiele machen das sicher mit einer eigenen Gegnerscriptsprache, jedoch ist mir das dann schon wieder zu komplex/überdimensioniert für solch ein Spiel Wink

Und nun meine Frage, wie habt ihr das in euren Spielen gelöst, oder wie könnte man dies geschickt lösen?

Hoffe mal ich habe mich halbwegs verständlich ausgedrückt, wenn nicht, fragen...

Bin für jede Art von Anregung dankbar...
 

Dreamora

BeitragSa, Jun 10, 2006 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ohne eine Scriptsprache ist da nicht allzuviel zu machen, ausser du hast keine KI über eine regelbasierendes System implementiert. In diesem Falle könntest du für jeden Gegnertyp ein Regelwerk schreiben. Das wär dann in der Art von: Wenn Situation = x dann nutze Verhalten a, in der File wären das pro Zeile 2 States.

zb

(0,0,1,0,0,....) > (1,0,0,1,...)


Wobei das 1 sagt das der entsprechende Zustand gilt ... zb könnten die ersten 4 States sein: Hits = 100, < 75, <50, <25 und beim gewünschten Verhalten wäre dann das erste zb defensivverhalten und das andere würde ihm sagen, dass er einen Medkit suchen / benutzen soll.


Das ist lediglich eine grobe Skizze einer Möglichkeit, da KI eine sehr projektspezifische Sache ist. Es gibt jedoch einige Seiten die sich mit diesen Themen und möglichen Implementationen beschäftigen ...
Am besten informierst du dich über RBS (rule based systems) und vielleicht noch fuzzy logic.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group