Positionsangabe im Weltraum
-
rapso schrieb:
naja, ChrisM hat ja geplannt durch die sektoren das spiel auf mehreren rechnern laufen zu lassen, dafür die "jumpgates"...
Also klassisch? Ich dachte es sollte wenigstens die Illusion eines kontinuierlichen Weltraumes geschaffen werden. Naja dann hat sich das Thema ja erledigt, man macht einfach wie bei Tie Fighter Sektoren von einigen 100km Kantenlänge und gut
ich wäre aber auch eher dafür sonst normal rumzudüsen, wenn es einen ionenantrieb gebe mit dem man 0.25 der lichtqeschwindkeit erreicht, dann wäre das schon ziemlich cool
Genau, mal eben 16 Jahre nach Alpha Centauri zum Wochenendurlaub ohne dass das geringste passiert ...
-
Bashar schrieb:
rapso schrieb:
naja, ChrisM hat ja geplannt durch die sektoren das spiel auf mehreren rechnern laufen zu lassen, dafür die "jumpgates"...
Also klassisch? Ich dachte es sollte wenigstens die Illusion eines kontinuierlichen Weltraumes geschaffen werden. Naja dann hat sich das Thema ja erledigt, man macht einfach wie bei Tie Fighter Sektoren von einigen 100km Kantenlänge und gut
na ich weiß nicht ob er vielleicht doch einen flüssigen serverwechsel hinbekommen möchte...
Bashar schrieb:
ich wäre aber auch eher dafür sonst normal rumzudüsen, wenn es einen ionenantrieb gebe mit dem man 0.25 der lichtqeschwindkeit erreicht, dann wäre das schon ziemlich cool
Genau, mal eben 16 Jahre nach Alpha Centauri zum Wochenendurlaub ohne dass das geringste passiert ...
... aber es wird trotzdem so öde sein. sogar beim M$ flysimulator kann man stundenlang fliegen.
wenn du einen weltraum von nur einem lichtjahr hättest, würde es ewig dauern bis man sich trift, selbst wenn du sofort wenn du die koordinaten eintippst schon am ziel wärst und 1000 leute mitspielen würden.
das kann er nur lösen, indem er knotenpunkte des interesses einrichtet... z.b. eine raumbasis, erzfeld...
und da wäre es von vorteil wenn man relativ langsam wäre, denn dan würde niemand versuchen mit seinem normalen 0.25c-antrieb die 0.1 lichtjahre zu überbrücken
aber ist ja dann eher konzeption und kein zahlen-genauigkeits-problem
rapso->greets();
-
Hi,
nein, ein Universum ist auch immer ein Server. Geplant ist allerdings, dass es halt quasi Paralleluniversen oder sowas gibt, durch die man durch Sprungtore kommt (und das Paralleluniversum ist dann logischerweise einfach ein anderer Server). Dass das aber vollkommen flüssig läuft, ist ja nicht so wichtig, ich denke, wenn dann 5 Sekunden "Lade" dasteht, stört das niemand.
Mir ist schon klar, dass ich am Anfang kein Monsteruniversum mit dem Durchmesser einer Galaxie einrichten kann, ich dachte eher so an eine Art Minisonne mit 1-2 Planeten
Jetzt aber noch mal zum Problem zurück: 2 Werte sind mir eigentlich auch sympathischer, aber praktisch bringt es mir z.B. bei der Sichtbarkeitsabfrage nicht viel. Ich muss ja nicht nur curQuad == destQuad oder so prüfen, sondern auch die Nachbarsektoren, schließlich könnte man sich ja auch grade an der Grenze befinden und weiter sehen als 100km sollte auch gehen (sonst taucht plötzlich ein Planet vor einem auf, das wär "leicht" blöd :D). Aber da muss ich mir eh erst noch was einfallen lassen, wegen der Far Clipping Plane, aber das wird schon.
Die Frage ist jetzt eigentlich noch:
- (für jede Dimension) long für Sektor und float/double für genaue Position (falls das, dann auch noch, ob float reicht oder ob ich double brauch und wie groß ein Sektor werden soll)
- (für jede Dimension) longlong für die eindeutige PositionChrisM
-
mach es wie tcp/ip zerstöckel den wert in 4 stücke und zeige die immer durch ein punkt getrennt.
wären natürlich dann 16bit stücke beim 64bit int
aber so hätte man 1. sektoren/systeme.. wie es manche "verlangen" 2. du hättest deine auflösung von 1mm und 3. die berechnungen wären durchgängig und du müßtest für die sichtbarkeit nichts umrechnen.
rapso->greets();
ps. damit es nicht langweilig wird, müßtest du ein paar NPCs reinstecken, so 1M von denen könnten schon ein wenig fülle im lichtjahr sorgen.
-
Der hat mein Post verschluckt
Also nochmal (auch wenns nicht alles ist)
Jetzt aber noch mal zum Problem zurück: 2 Werte sind mir eigentlich auch sympathischer, aber praktisch bringt es mir z.B. bei der Sichtbarkeitsabfrage nicht viel. Ich muss ja nicht nur curQuad == destQuad oder so prüfen, sondern auch die Nachbarsektoren, schließlich könnte man sich ja auch grade an der Grenze befinden und weiter sehen als 100km sollte auch gehen (sonst taucht plötzlich ein Planet vor einem auf, das wär "leicht" blöd ). Aber da muss ich mir eh erst noch was einfallen lassen, wegen der Far Clipping Plane, aber das wird schon.
Aber du musst nur die direkt benachbarten Sektoren betrachten und nicht alle.
2. du hättest deine auflösung von 1mm
Bei den anfangs angegebenen 200FPS und ein Millimeter auflösung ist die Minimalgeschwindigkeit etwa 7km/h. Ist das klein genug?
-
- An die Experten: Sind Frameraten von 200 FPS auf Serverseite realistisch?
- Warum gibt man sehr niedrige Geschwindigkeiten nicht in Frames / Längeneinheit statt Längeneinheiten / Frame an?
-
Hi,
Bei den anfangs angegebenen 200FPS und ein Millimeter auflösung ist die Minimalgeschwindigkeit etwa 7km/h. Ist das klein genug?
nein, leider nicht. Überleg mal, beim Beschleunigen. Dein Schiff fängt mit 7km/h überhaupt mal an, zu fliegen. Wenn du weiter beschleunigst, springt es irgendwann zu 14km/h usw.
Deswegen überlege ich grade, wie es wäre, wenn ich long und float/double verwende und der long nur einen 1-10km³ großen Sektor repräsentiert.
mach es wie tcp/ip zerstöckel den wert in 4 stücke und zeige die immer durch ein punkt getrennt.
Das versteh ich nicht. Für eine Dimension oder für alle oder wie?
ps. damit es nicht langweilig wird, müßtest du ein paar NPCs reinstecken, so 1M von denen könnten schon ein wenig fülle im lichtjahr sorgen.
Das ist schon geplant, die werden dann zwischen den Basisstationen (die neutralen) hin und her fliegen und neue Waren ins Spiel bringen usw.
Aber erstmal muss überhaupt ein Spieler rumfliegen können
ChrisM
-
Deswegen überlege ich grade, wie es wäre, wenn ich long und float/double verwende und der long nur einen 1-10km³ großen Sektor repräsentiert.
Das heißt in jede Richtung 2154,4km. Etwas krum, oder habe ich mich verechnet? Jedenfalls müsstes du dann auf jedem Fall double verwenden.
Warum gibt man sehr niedrige Geschwindigkeiten nicht in Frames / Längeneinheit statt Längeneinheiten / Frame an?
Geschwindigkeit ist als Stecke pro Zeit definiert. Zeit pro Stecke kenne ich nicht, ist aber mit sicherheit keine Geschwindigkeit.
-
Helium schrieb:
Warum gibt man sehr niedrige Geschwindigkeiten nicht in Frames / Längeneinheit statt Längeneinheiten / Frame an?
Geschwindigkeit ist als Stecke pro Zeit definiert. Zeit pro Stecke kenne ich nicht, ist aber mit sicherheit keine Geschwindigkeit.
Das tut mir leid für dich.
-
Hi,
- An die Experten: Sind Frameraten von 200 FPS auf Serverseite realistisch?
in der Betaphase mit mir als einzigem Spieler schon
- Warum gibt man sehr niedrige Geschwindigkeiten nicht in Frames / Längeneinheit statt Längeneinheiten / Frame an?
Kann man ja machen, aber die Position müssen trotzdem noch die gleiche Genauigkeit haben.
ChrisM
-
Bashar schrieb:
Helium schrieb:
Warum gibt man sehr niedrige Geschwindigkeiten nicht in Frames / Längeneinheit statt Längeneinheiten / Frame an?
Geschwindigkeit ist als Stecke pro Zeit definiert. Zeit pro Stecke kenne ich nicht, ist aber mit sicherheit keine Geschwindigkeit.
Das tut mir leid für dich.
Und demnächst fangen wir an die Zeit in Newton zu messen.
-
Hi,
*push*
ChrisM
-
Hi,
*push*
Ja, ich weiß, ich nerve langsam wirklich, aber reicht ein float jetzt, um eine sagen wir 10km lange Strecke auf kleiner als einen mm genau zu beschreiben?
ChrisM
-
Nein, ein Float reicht nicht. Nehmen wird 0.1mm als Raster, dann würde selbst ein Kilomenter schon problematisch. Nimm double.
-
Hi,
OK, danke!
Jetzt muss ich nur noch den anderen Thread pushen
ChrisM