Donnerstag, 3. Februar 2011

Theorie einer Netzwerk KI (für Games)

Heutzutage werden auch bei modernsten Netzwerk-Games nur die Graphik und eventuell die Physik auf dem Client berechnet. Wie wäre es, wenn man die KI auf die Clients verteilen würde?

Normalerweise schickt der Client seine Aenderungen (Position/Status von Einheiten etc.) an den Server, welcher dann dort "seine Moves" berechnet und die neuen Angaben wieder an die Clients schickt. Der Server muss also alles berechnen was eventuelle KI-Gegner (oder Bots) so machen. Mein Ansatz wäre hier, das der Server nur generelle Anfragen berechnet bzw. auswählt, um diese dann an die Clients zu schicken. Eine solche Anfrage könnte zum Beispiel folgendes beeinhalten: berechne das beste Basis-Bau zu Angriffs-Verhältnis gegen die Klasse Krieger_2.

Natürlich muss der Server immer noch die aktuelle Bewegung der Bots berechnen (Gehe x einheiten in Richtung y / Schiesse nach xyz / etc.) und durchgeben, aber die generellen Ziele (Gehe zu Position A und verteidige / Erobere die Fahne und komme zurück, (bzw. Suche den besten Weg) etc.) könnte man zur Berechnung an die Clients weitergeben.

Diese Anfrage wird nun an alle Clients verschickt, bis drei Clients "Ja" sagen und die Aufgabe annehmen. Diese drei Clients fangen nun an, die Aufgabe zu berechnen und der Client, welcher zuerst fertig ist, schickt die Lösung wieder an den Server. Der Server muss nun nur noch einen Stop-Befehl an die Anderen zwei Clients schicken und das Update (bzw. Die Lösung Des Problems) an alle anderen Clients weitergeben.

Falls einer oder zwei der drei Clients ausfallen sollte, kann einer der übrigen Clients die Aufgabe UND seine Teil-Lösung an einen/zwei weitere Clients schicken, damit das System so gut wie ausfallsicher ist.

Mit dieser verteilten KI könnte man genetische Algorithmen entwickeln, die zum Beispiel in World of Warcraft spezifisch intelligente KI-Rassen hervorbringen könnte. Raptoren lernen, im Schwarm anzugreifen per Try and Error Methode, Schafe lernen sich zusammenzurotten, "damit sie gross aussehen" oder so ;), etc etc etc.

Ja, ich weiss, es tönt wie der Anfang zu..


..aber solange man die KI nicht an bewegliche Maschinen anschliesst kann sie auch nichts in der "realen" Welt anstellen. Gott beschütze uns vor durchgeknallten Militär-Kybernetikern - naja, wenn, dann ist es eh schon zu spät, DIE haben so Zeug sicher schon seit den 1970ern. ;)

Was meinst du dazu? Bitte kommentieren.

Keine Kommentare:

Kommentar veröffentlichen