Wieder Pathfinding

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

derAtomkeks

ehemals "Sethus"

Betreff: Wieder Pathfinding

BeitragMi, Apr 19, 2006 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, Es geht mal wieder um Pathfinding.
Ich habe Startpunkt (Gegnerposition) und Zielpunkt (Spielerposition) . Aber der Zielpunkt, also der Spieler, bewegt sich natürlich. Der Gegner soll sich trotzdem langsam auf den Spieler zubewegen. Jetzt müsste ich doch in jedem durchlauf der Hauptschleife den Weg neu 'berechnen'?Auf welchen Punkt soll ich den Gegner schicken, dass er nicht plötzlich hinter dem Spieler steht?

BladeRunner

Moderator

BeitragMi, Apr 19, 2006 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
wie Du schon erkannt hast müsstest Du das Pathfinding immer wieder stattfinden lassen. Um nicht zu viel Ressourcen zu Fressen könntest Du das Pathfinding allerdings nur in grösseren Abständen (abhängig von der Entfernung zum Player) stattfinden lassen.
(Also zB. wenn die Distanz > 300 Einheiten ist nur einmal pro Sekunde, zwischen 100 und 300 1* pro zehntel Sekunde, darunter einmal pro Frame. Werte hier rein willkürlich gewählt. Perfekt wäre es die Rechnerauslastung zu testen und immer gerade soviel Berechnungen zuzulassen bis die FPS beginnen zu sinken.)
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragMi, Apr 19, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja du musst jeden schleifen durchlauf überprüfen ob der Spieler sich bewegt hat. Benutz mal die Forensuche. Da gabs glaub ich mal was darüber.

Edit: Heute sind se alle schneller als ich. Confused

MFG
Blitzmaker

derAtomkeks

ehemals "Sethus"

BeitragMi, Apr 19, 2006 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, danke, aber das größere Problem ist (finde ich) wann ich die Gegnerposition auf welchen wert setzen muss? die Suche hab ich schon benutzt und nichts gefunden(nichts was ich gebrauchen konnte).
 

Dreamora

BeitragMi, Apr 19, 2006 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, aber ich verstehe dein Problem nicht ganz.
Könntest du es ein wenig nunja ... nicht chaotisch formulieren?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

derAtomkeks

ehemals "Sethus"

BeitragMi, Apr 19, 2006 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versuch es: Die Pathfinding Funktion gibt eine reihe von types aus, in denen die Koordinaten des "Weges" gespeichert sind. Dann bewege ich den Gegner auf die position die im ersten type gespeichert ist. In dem nächsten Duchlauf würde ich den Gegner dann auf Position 2 (aud dem Nächsten Type) bewegen, aber dann bewegt sich der Spieler, ein neuer weg wird berechnet - und der ist ganz anders. Dann müsste ich den Gegner wieder auf die erste Position im neuen Weg bewegen? Dann würde er doch nie fertig werden oder? Das ist meine Frage, auf welchen Punkt im Weg muss ich den Gegner bewegen? Ich hoffe es ist jetzt etwas verständlicher?

TheShadow

Moderator

BeitragMi, Apr 19, 2006 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
ich denke du hast das feld in tiles geteilt. so nun stell dir vor der Abstand von Spieler zu Gegner ist 100 tiles. und nun stell dir vor dein spieler oder gegner bewegt sich im 5 tiles. warum soll man dann den ganzen weg neu berechnen?

Sinnvoll ist ca. 1/3 des weges die route zu belassen - und bei erreichen eines punkts wird die route neuberechnet...

bei sehr kurzen abständen kann es auch in "realtime" berechnet werden...
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

derAtomkeks

ehemals "Sethus"

BeitragMi, Apr 19, 2006 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke TheShadow, so mach ich es jetzt!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group