top of page

Minen und Banden

Das Vermeiden von Minen und Banden ist von sehr großer Bedeutung. Es ist sehr wichtig, dass sich der spaceball sicher durch das Spielfeld bewegen kann. Denn bei Kollision mit einer Mine oder einer Bande ist das Spiel direkt verloren, unabhängig davon ob man mehr getankt hat als der Gegner oder nicht. Minen und Banden stellen also die permanente Bedrohung dar, das Spiel zu verlieren.

 

Im folgenden Bild sieht man, wie ein Spaceball eine Mine trifft.

  • Unser aktueller Geschwindigkeitsvektor zeigt auf die Mine, also die Wirkungslinie des Geschwindigkeitsvektors schneidet die Mine

  • Die Minen die nun in Richtung unseres Geschwindigkeitsvektors liegen haben eine so kleinen Abstand, dass der Bremsweg größer als der Abstand zur Mine ist

Wenn diese Bedingungen erfüllt sind muss gehandelt werden.

In der Abbildung kann man die zu vermeidende Mine erkennen (schwarz), unseren Spaceball (rot) und die eben beschrieben Tangenten und Vektoren. Der Vektor c wird nun in unsere Beschleunigung geliefert, sodass wir Schritt für Schritt von der Mine abdrehen, bis unser Geschwindigkeitsvektor schließlich nicht mehr auf die Mine zeigt.

Wir handeln indem wir zwei Tangentenpunkte an der zu vermeidenden Mine ermitteln, und zwei Tangenten bilden, jeweils von unserer Position zu den Tangentenpunkten. Durch eine Vektorprojektion dieser Tangenten auf unseren Geschwindigkeitsvektor erhalten wir einen Abstandsvektor c, der unsere Kurskorrektur darstellt und senkrecht auf unserer Geschwindigkeit steht.

Um genau das zu vermeiden, ist es zunächst einmal wichtig Informationen über die Minen zu sammeln. Interessant dabei sind zB.: der Abstand von unserem Spaceball zur Mine, der Winkel zwischen unserem Geschwindigkeitsvektor und unserem Verbindungsvektor zur Mine. Danach können diese Informationen weiterverarbeitet werden. Wenn man eine Mine ausfindig gemacht hat, welche geschnitten wird, kann man diese Minen in einem Informationsvektor sammeln.

 

Damit eine Mine als gefährlich für unseren Spaceball eingestuft wird müssen zwei Bedingungen erfüllt sein :

Auf dem Bild kann man sehen, wie wir zuvor auf die Mine zugefahren sind und nun von der Mine weg beschleunigen mit dem Korrekturvektor c.

Nachdem also dieses Grundgerüst des Minenausweichens stand, wurde das Programm immer wieder erweitert. Die Vorgehensweise war dabei sehr einfach: Spiele spielen und gucken was passiert. Wenn es ein Problem mit einer Mine gab, wurde daran gearbeitet bis schließlich auf diesem Spielfeld die Mine nicht mehr getroffen wurde. Und dann wurde das nächste Spiel gespielt und alles ging von vorne los.

Ebenso entscheidend ist, dass durch diese Ausweichmanöver der Spaceball auch seine weiteren Aufgaben wie zB. das Tanken nicht vernachlässigt. So erweitert sich das Minenausweichprogramm immer weiter, zB. das Zielpunkte ( also Tankstellen oder der Gegner) auch erreicht werden.

Minen vermeiden

Jede Bande hat die Länge eins, also hat die obere rechte Ecke beispielsweise die x-y-Koordinaten (1/1) hat. Die Untere linke Ecke wo unser Spaceball startet hat die Koordinaten (0/0). Um nun herauszufinden ob der Spaceball eine Bande treffen wird, muss man den Bremsweg den der Spaceball hat ,wenn er durch das Spielfeld fährt, betrachten. Der Bremsweg darf dabei natürlich nicht größer sein als der Abstand zur Mine, sonst steht eine Kollision bevor.

Mindestens genauso wichtig wie das Vermeiden von Mine ist natürlich auch, dass unser Spaceball nicht in eine der 4 Banden, die das Spielfeld begrenzen, fährt.

Banden vermeiden

Dabei wird die normale Bremswegformel benutzt:

Nun kann man sich verschiedene Taktiken überlegen wie man dann das Fahren in eine Bande abwenden will. Da sich unsere Beschleunigung auch aus einer x- und einer y- Komponente zusammensetzt gibt es verschiedene Möglichkeiten. Man kann zB. den kompletten Geschwindigkeitsvektor umdrehen um zu bremsen, oder man bremst eben nur die Komponente ab die einen auch auf die Bande zuträgt. Fährt man zB. auf die obere Bande zu, reicht es wenn man nur die y-Komponente betrachtet und beispielsweise in negative x-Richtung beschleunigt.

Auch dort gilt es nicht zu aggressiv zu bremsen, also zu ängstlich zu reagieren.

Eine Tankstelle die sehr nahe an der Bande liegt soll schließlich noch erreicht werden.

Auf dem Bild ist eine typische Situation dargestellt. Der rote Spaceball hat mehr getankt als sein Gegner und befindet sich nun im Angriff. Man sieht dass der Geschwindigkeitsvektor schon recht groß ist (schwarzer Pfeil) und deswegen wird abgebremst (roter Pfeil in entgegengesetzter Richtung), um nicht in die Bande zu fahren.

"wer suchet der findet, wer drauftritt verschwindet!"
bottom of page