Ein möglicher Ansatz der das ganze Problem etwas vereinfacht ist das Spielfeld in Felder aufzuteilen und diesen dann Werte zuzuordnen. je nach Höhe des Wertes bewegt sich der Bot dann darauf zu oder weg...
Das hört sich erstmal einfach an aber wie immer liegt der Haken im Detail...
Bei der Bewertung der Felder muss man alle Informationen mit verschieden Faktoren einfließen lassen...
Nimmt man zum Beispiel nur die Nähe des Gegners[=N(x)] und den zu verteidigenden Ort[=P(x)] dann gilt pro Feld(auf 0/0 bezogen):
Feld[x,y]:=N(x)+P(x) mit
N(x)=a/(e^x)//Eine e Funktion würde ich hier nehmen, da je näher der Gegner desto vielfach gefährlicher
P(x):=b/x // Für den Ort würde eine lineare Funktion reichen denke ich...
Mit den Parametern a und b bist du nun in der Lage die Wertigkeiten nachzuregeln bis Du eine
ausgeglichene Verteilung hast. Eventuell sind andere Funktionen noch besser geeignet... da heissts probieren. Außerdem muss ja auch noch mit einfließen ob irgendwelche Items oder Aufgaben zu erfüllen sind. Dann kriegen diese Einflüsse ebenfalls ihre eigene Funktion verpasst.
Nachteil dieser Methode:
Das ist am Ende auf jeden Fall nicht das was eine KI sein sollte... Inteligent!
Aber für die ersten Schritte ist das
imho durchaus eine akzeptable Lösung für kleinere Spiele...