Gegeben sind ein zweidimensionaler Raum und 1 freundliches Raumschiff, das stillsteht. Ein Feind bewegt sich NICHT direkt zum freundlichen Schiff mit bekannter tatsächlicher Position, Geschwindigkeit und Richtung.
Das freundliche Schiff will sich in Schussweite bringen, um den Feind zu bekämpfen.
Eigentlich setze ich nur einen direkten Vektor auf die tatsächliche Position des sich bewegenden Schiffes und berechne ihn in jedem Frame neu, was zu einer Art "rundem" Flugweg führt.
Was ich möchte, ist, einen direkten und geraden Weg zu der Position zu setzen, die der Feind (vermutlich) haben wird, wenn die Schussentfernung erreicht ist, vorausgesetzt, dass der Feind bis dahin seinen Kurs nicht ändert.
Als erste und "einfache" Implementierung würde es ausreichen, wenn wir davon ausgehen, dass der Freund in kürzester Zeit von 0 auf max beschleunigen kann.
Bevorzugte Implemantation wäre eine, die die Beschleunigungsfähigkeiten des Freundes berücksichtigt und weiß, wann ein Abfangen aufgrund der Geschwindigkeit unmöglich ist. Es sollte für jede Startgeschwindigkeit funktionieren, nicht nur aus dem Stand. Ein Plus wäre, wenn es sogar das Bremsen in Betracht zieht (das Kämpfen mit Lichtgeschwindigkeit ist im gegebenen Universum sehr energieeffizient).
quelle
Ich schlage vor, Sie untersuchen das Lenkverhalten. Besonders Verfolgung . Der Quellcode befindet sich in der OpenSteer- Implementierung oder in einem Buch wie " Programmierspiel AI anhand eines Beispiels " (ISBN 13: 978-1556220784).
quelle