Pathfinding-Problem bei sechseckigen Feldern...

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Kryan

Betreff: Pathfinding-Problem bei sechseckigen Feldern...

BeitragDi, März 14, 2006 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

hab nun folgendes schickes spiel gemacht:

user posted image
hier läuft alles wunderbar. der spieler befindet sich auf einem feld, wo so ein feld da oben rausguckt...wenn man auf einem feld steht, wo dies nicht der fall ist, (also ungerade x-koordinate), dann passiert folgendes:

user posted image

die pathfinding-"wege" sind folgende:

-1,-1,0, 0,-1,0, 1,-1,0, 1,0,0, 0,1,0, -1,0,0

Bitte um hilfe, weil ich habe keine ahnung, wie ich das beheben könnte Crying or Very sad

aber vielen dank im vorraus Very Happy , kryan
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Dreamora

BeitragDi, März 14, 2006 22:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie löst du das mit dem Pathfinding im Moment?
Ich vermute über Distanz?
Dann müsste es eigentlich korrekt funktionieren, aber du musst zwingend den Mittelpunkt nehmen für die Berechnung (also effektiv die Koordinate), da sonst die Distanzen inkorrekt heraus kommen.

Eine andere Variante wäre ein Knotennetz und in jedem Hexagon einen Knoten platzieren. Dann kannst du einfach die entsprechenden Pfade mit Hilfe der Knoten bestimmen (A* oder Dijkstra, beide relativ einfach zu verstehen und sehr schnell)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Kryan

BeitragDi, März 14, 2006 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
also ich benutze den A*-Algorithmus...zu meinem problem:

also einmal is der weg nach unten rechts ja +1,0 und einmal +1,+1
je nachdem, ob oben so n halbes feld rausguck oder nicht...

wie kann ich das am besten lösen?? Crying or Very sad
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Dreamora

BeitragDi, März 14, 2006 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Pfadnetz aufbauen mit einem Knoten pro Hexagon und den A* darauf anwenden.

X/Y sind nicht geeignet, da du damit 1 Richtung als "besser" bestimmst (oben-unten in deinem Falle), obwohl die Distanz in alle 3 Richtungen identisch ist.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

TheShadow

Moderator

BeitragDi, März 14, 2006 23:22
Antworten mit Zitat
Benutzer-Profile anzeigen
bei ungeraden tiles mußt du andere pathfinding-matrix einsetzen... dann soll das gehen.

das problem gibt es generell nicht nur bei pathfinding - aber nur bei solchen iso/hex-tiles taucht es auf...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Kryan

BeitragMi, März 15, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
so...hab s nun hingekriegt...nach theshadow's lösung...irgendwie habe ich die ganze zeit in der schule an diese lösung gedacht Laughing
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group