Streckenfortschritt

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Megamag

Betreff: Streckenfortschritt

BeitragFr, Feb 27, 2009 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Xaymar

ehemals "Cgamer"

BeitragFr, Feb 27, 2009 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Waypoints und EntityDistance(Waypoint)

Ein beispiel kann ich dir gerne machen
Warbseite

Megamag

BeitragFr, Feb 27, 2009 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Jaja, aber schaumal, wenn du eine Kurve hast, dann stimmt das ja nicht mehr.
Verstehst du?
 

Theliron

BeitragFr, Feb 27, 2009 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Feb 27, 2009 23:44
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Feb 28, 2009 0:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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
Twitter

Megamag

BeitragSa, Feb 28, 2009 10:56
Antworten mit Zitat
Benutzer-Profile anzeigen
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?

BladeRunner

Moderator

BeitragSa, Feb 28, 2009 11:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink
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

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group