Strategie - Einheiten schicken - Hindernisse

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

alexsteb

Betreff: Strategie - Einheiten schicken - Hindernisse

BeitragSa, Nov 05, 2005 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag!
Hat jemand eine Idee, wie ich meine Raumschiffe, die sich in 8 Richtungen bewegen können, um anderen Raumschiffe, ob stehend oder sich bewegend, herumführen kann.
Die Bewegung sieht normalerweise so aus, dass sich das Raumschiff erst schräg auf das Ziel zu bewegt und den Rest des Weges dann gerade fährt.

Vielen Dank im Vorraus! Very Happy

P.S: Pathfinder... ich weiß nicht.. schließlich ist das kein Rasteruntergrund, sondern saubere Pixelgrafik mit Imagecollide.
Ich glaube übrigens, dass das gesamte Universum mitsamt allen unseren Erinnerungen, Theorien und Religionen vor 20 Minuten vom Gott Quitzlipochtli erschaffen wurde. Wer kann mir das Gegenteil beweisen?

SoNenTyp

BeitragSo, Nov 06, 2005 13:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso kein Rasteruntergrund? Du hast doch einen Raster bei dem a=1Pixel oder nicht?
Gruss Der Typ.

User posted image

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Nov 06, 2005 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn ich das richtig verstanden habe, dann willst du das sich das Raumschiff direkt zum anderem bewegt und nicht erst Diagonal und dann Horizontal/Vertikal. Das obwohl dein Raumschiff nur in acht Richtungen fliegen kann. Würde mal sagen, daß es etwas komisch aussehen würde wenn das Raumschiff etwas direkt anfliegt aber die Ausrichtung des Raumschiffes nicht richtig gegeben ist...

Aber hier mal ein paar Lösungsmöglichkeiten:

Bewegt sich das Raumschiff ohne Beschleunigung und Massenträgheit, dann berechne den Winkel zum Ziel mit Atan2 und fliege mit dem erechneten Winkel zum Ziel.

Bewegt sich das Raumschiff mit Beschleunigung und Massenträgheit, dann berechne die entfernung zum Ziel (Pythagoraz) mit Einbezug der relativen Geschwindigkeiten (Pythagoraz - XY-Geschwindigkeiten * Pythagoraz / Variable) und errechne daraus den vorraussichtlichen Treffpunkt (ein bischen Rumprobieren) und richte diesen Winkel als Ausrichtung fest. Berechne den Winkel der Ausrichtung mit Atan2 und richte mit dem erechneten Winkel dein Raumschiff allmählich damit aus.

alexsteb

BeitragSo, Nov 06, 2005 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
@SoNenTyp
Ja, das ist natürlich ne Idee... Smile

@hectic
Danke, aber du hast mich falsch verstanden.
Diesen ganzen Sinuskram hab ich mir auch schon überlegt,
aber ich bin zu dem Schluss gekommen NUR 8 Richtungen Fliegen zu lassen,
also Bewegung und Grafik.
Das passt auch besser ins Spiel.... naja, ist meine Sache.

Jedenfalls, wenn ich ein 1-Pixel-Pathfinder-benutzendes-Raster,
dann sieht die Bewegung bestimmt ziemlich krank aus.
Ausserdem hätte ich dann das Problem der verschiedengeformten Raumschiffe.

Wenn ich nun imageOverlap nehme... die Rechtecke umd den Grafiken drehen sich mit.
Oder kann ich mit den Roten Quadraten um den Schiffen (wenn sie ausgewählt sind) arbeiten...

Ich hab keine Ideen mehr Rolling Eyes
Ich glaube übrigens, dass das gesamte Universum mitsamt allen unseren Erinnerungen, Theorien und Religionen vor 20 Minuten vom Gott Quitzlipochtli erschaffen wurde. Wer kann mir das Gegenteil beweisen?

Ctuchik

BeitragSo, Nov 06, 2005 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke auch dass ein Raster mit 1px etwas zu klein wäre.
Du könntest z.B. die Rastergröße von der Raumschiffgröße abhängig machen. Für jede Raumschriffgröße also ein Raster benutzen, bei dem das jeweilige Raumschiff in ein Rechteck passt und darauf dann Pathfinding anwenden. Wie das mit der Performance wäre weiss ich allerdings nicht.
Ausserdem stelle ich mir vor, dass es ziemlich chaotisch wird wenn sich viele Raumschiffe gleichzeitig bewegen und sich die berechneten Wege ständig ändern. Daher wäre es vielleicht besser Einheitengruppen zu bilden. Und diese Gruppen dann zu ihrem Zielort zu lotsen.
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!

x-pressive

BeitragMo, Nov 07, 2005 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutze doch "nodes", also virtuelle Wegpunkte.

Wenn eine Einheit loszieht, wird ein Weg vom Start- zum Endpunkt gesucht und auf diesem Weg in einem bestimmten Abstand (oder immer dann, wenn nur die Richtung sich ändert) jeweils ein Markierungspunkt (node) gesetzt. Der komplette Weg einer Einheit besteht dann also aus einer Liste von Wegpunkten. Die Einheit bewegt sich dann von einem node zum nächsten, bis sie angekommen ist.

Ob ein Gegenstand im Weg ist, kann man checken, in dem man von einem node zum nächsten eine Linie zieht und prüft, ob etwas auf dieser Linie liegt (point/line collision).

Ist ein Gegenstand (Gegner) im Weg, werden die nodes einfach um ihn herum plaziert. Wichtig ist dabei, daß der Weg einer sich bewegenden Einheit in gewissen Intervallen immer wieder neu berechnet wird, da sich ja auch andere Einheiten bewegen.

Ausserdem muss es eine feste Regel für Einheiten geben, nach welcher Seite sie ausweichen, sonst kann es Chaos geben. Am besten, alle Einheiten weichen immer nach rechts aus, wenn sie sich auf Kollisionskurs mit einer anderen befinden.

Die nodes kann man pixelweise plazieren, oder auf einem Raster bzw. einer Tilemap.

Dennoch ist das eine schwierige Aufgabe -immerhin haben sogar die Age Of Empires-Entwickler eine ganze Weile gebraucht, bis sie das perfektioniert hatten.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

alexsteb

BeitragMo, Nov 07, 2005 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
@x-pressive:

Ja gute Idee, dürfte sogar klappen, nur wie lege ich so eine "Umrundungsnode" fest.

Zitat:
Ist ein Gegenstand (Gegner) im Weg, werden die nodes einfach um ihn herum plaziert.

Also immer rechts herum und denn sagen wir eine Raumschiffbreite Abstand.
So versuch ich's mal, aber wenn noch andere Ideen aufkommen, dann bitte reinschreiben! Idea

@Ctuchik:
Mein Problem bei der Sache wäre, dass die Raumschiffe nicht alle automatisch in diesem einen Raster wären. Also, ich bilde jetzt ein Raster um mein Raumschiff und das nächste verdeckt (und das kommt nicht selten vor) vier Felder auf einmal... Da könnte man natürlich drum herum Pathfinden, aber wenn man denn mal eingeschlossen ist, aber theoretisch ja durch könnte........ Das kommt wohl nicht so oft vor. Also auch ne Überlegung wert....
Ach ja und Einheitengruppen.
Das sollte dem Benutzer überlassen werden und wenn dann wurden sich verschiedene Gruppen auch in die Quere kommen!

Ihr seht, ich denke beim Schreiben, erst darüber nach Smile
Ich glaube übrigens, dass das gesamte Universum mitsamt allen unseren Erinnerungen, Theorien und Religionen vor 20 Minuten vom Gott Quitzlipochtli erschaffen wurde. Wer kann mir das Gegenteil beweisen?

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group