Wieder Pathfinding
Übersicht

![]() |
derAtomkeksehemals "Sethus"Betreff: Wieder Pathfinding |
![]() Antworten mit Zitat ![]() |
---|---|---|
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? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
IronstormErstklassiger Contest-Veranstalter |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. ![]() MFG Blitzmaker |
||
![]() |
derAtomkeksehemals "Sethus" |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() |
derAtomkeksehemals "Sethus" |
![]() Antworten mit Zitat ![]() |
---|---|---|
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? | ||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
derAtomkeksehemals "Sethus" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke TheShadow, so mach ich es jetzt! | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group