Streckenfortschritt
Übersicht

![]() |
MegamagBetreff: Streckenfortschritt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mich wundert es ehrlichgesagt, dass das hier noch nicht gefragt wurde...
Ich habe jedenfalls bei der SuFu mit "Runde" "Strecke" "Rennspiel" nichts gefunden. Naja, seis drum. Es geht darum, in einem Rennspiel den Fortschritt zu berechnen, den der Spieler zurückgelegt hat. Um 1.- Ihn auf einer Minimap anzeigen zu können 2.- Berechnen zu können, auf welchem Platz er gerade ist. Ich habe mir gedacht, dass das mit Entfernungen zu Checkpoints zu machen ist, aber da gibt es dann ja Probleme in der Kurve. Naja, wie könnte man das lösen? Achso, es handelt sich um ein 3D Rennspiel, dass alle Achsen benutzt. |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Waypoints und EntityDistance(Waypoint)
Ein beispiel kann ich dir gerne machen |
||
Warbseite |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jaja, aber schaumal, wenn du eine Kurve hast, dann stimmt das ja nicht mehr.
Verstehst du? |
||
Theliron |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm... Generell muss nur die Anzahl der Wegpunkte hoch genug sein. Um dann die Strecke bis zum Checkpoint auszurechnen muss man alle Strecken zwischen den Wegpunkten addieren und die Strecke vom Spieler bis zu dem Wegpunkt der dem Spieler am nächsten ist hinzunehmen.
MfG |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nicht umsonst werden in Rennspielen Checkpoints erstellt, und die Spielerposition wird immer nur dann aktualisiert, wenn dieser eben ein Checkpoint durchfahren hat. Und die Angaben sind dann mit + und - relativ zu anderen Fahrern angegeben.
Alles andere ist sehr Schwammig, da niemals die Position als in solchen Checkpoints wirklich berechnet werden kann. Man kann lediglich Annäherungen anstellen und hoffen dass man richtig liegt. Es ist deshalb schwammig, da eine längere Kurve auf Asphalt schneller sein kann, als eine kürzere durch Schlamm. Sollte klar sein, worauf ich hinaus will. Das zu berücksichtigen ist quatsch. Also erstelle Checkpoints die auch von Spieler sichtbar aufgestellt sind, und aktualisiere die Zeiten zu gegebener Zeit. In Nascar artigen Rennen kann man auch unsichtbare Checkpoints durch die ganze Strecke dicht zusammenpacken, so dass im Schnitt alle 2 Sekunden ein Checkpoint durchfahren wird. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das mit den Kurven ist in de meisten Fällen sowieso egal, da der Spieler sich da eh auf die Strecke konzentriert, da hat er keine zeit und wohl auch nicht die ambition sich den aktuellen Platz an zu schauen.
Für eine 90° Kurve kannst du ja am Anfang, in der Mitte und am Ende einen Checkpoint setzen, wenn du es performanceschonend und annnähernd genau haben möchtest. Wenn ich von mir ausgehe, ist es hauptsächlich so, dass ich nach der Runde wissen möchte, wie schnell und auf welchem Platz ich war/bin. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
Megamag |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gut, aber wenn ich Checkpoints setze, würde nicht sofort registriert
werden, wenn ich einen anderen Spieler überhole. Für ein Hobbyprojektt, da habt ihr recht, ist das zwar nebensächlich, aber wie lösen professionelle Rennspiele sowas? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du berechnest deine Entfernung zum nächsten Checkpoint. Wenn ein Mitspieler näher am nächsten Checkpoint ist wird er nach allen Regeln der Logik vor Dir sein.
EDIT: weobei du nur die Spieler prüfen musst die denselben Checkpoint wie Du anfahren. alle anderen sind eh zweifelsfrei geklärt ![]() |
||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group