Hi,
Im Rahmen von
www.galaxy-under-fire.de brauchen wir u.a. eine KI für den RTS-Part. Zunächst haben wir uns verschiedene Sachen wie Steering Behaviour für die KI und A* für die Wegfindung angeschaut bzw. getestet. Dabei kam die Idee auf, dass doch ein Potenzialfeldansatz viel geschickte wäre und KI sowie Wegfindung direkt in sich vereinen würde.
Wem Potenzialfelder kein direkter Begriff sind: Ein Potenzial gibt an wie viel (potenzielle) Energie ein Objekt an einem bestimmten Ort/Position hat. Objekte haben im Allgemeinen die Neigung ihre Energie zu minimieren. Sprich Sie versuchen Orte mit möglichst niedriger (potenziellen) Energie zu erreichen. Ein Potenzial kann z.b. so aussehen:
http://mechatronik.tu-ilmenau.de/MTRWeb/images/eband4.png . Das Auto versucht immer sich entlang der niedrigen Energien zu bewegen. Man kann auch direkt aus einem Potenzial die auf ein Objekt wirkende Kraft ableiten ( dE / dx = F ; wahrscheinlich kennen es viele andersrum als Integral geschrieben E = integral F * dx ).
Warum also Potenziale?
-Potenziale sind additiv (wenn man zwei kleine Hindernisse hat, so haben beide ein abstoßendes Potenzial. Will man beiden Hindernissen ausweichen, so muss man nur die abstoßenden Potenziale addieren; will außerdem noch zu einem Ziel so addiert man einfach ein "Wegkosten-Potenzial" und schon hat man ein Gesamtpotenzial, was alle Informationen enthält)
-man erhält aus einem Potenzial direkt die "resultierende Kraft" über dE/dx = F
-Potenziale lassen sich einfach kombinieren und entwerfen
Meine Frage ist nun:
Hat schonmal jemand Erfahrungen mit diesem Ansatz gewählt? Würdet ihr eher analytische
Potenziale oder direkt ausgewertete Potenziale empfehlen? Welche Datentyp würde ihr für die einzelnen Raumpunkte wählen (immerhin muss man ja die verschiedene Potenziale addieren und ggf auch "unendlich hoch" in Kombination mit sehr flachen, ausgedehnten Potenziale ermöglichen; sprich hat einen sehr großen Wertebereich der abgedeckt sein will)?
Oder kennt ihr einen geschickteren Ansatz für ein RTS Spiel?