Qarrr³ schrieb:
Das kann man mit einem Levelsystem auch in einer normalen Engine einfach realisieren. Der Planet wird bei bei Übertreten einer Mindestdifferenz als statisches Objekt mit allem drumherum geladen und etwas später deine Position transformiert. Bis dahin ist der Planet 0 km/h in der Anzeige des Schiffes ist dann halt eine Rotation des Schiffes um den Planeten, damit man das Gefühl hat, der dreht sich. Dazu eine sich drehende Skybox.
Kann man eben nicht, wenn man auf Ladezeiten verzichten will. In SC gibt es keine
Skyboxen. Da ist das ganze Sonnensystem ist ein Level. Tag/Nacht Zyklus entsteht durch die Rotation des Levels und nicht dadurch, dass eine Fake-Lichtquelle am Himmel entlang bewegt wird. Das Licht kommt vom tatsächlich Millionen Kilometer weit entfernten Stern und wirft dort seine Schatten.
Der beleuchtet das komplette Level und alle Objekte in dem System. Dazu gehören auch riesiege
Nebel, die wiederum das Licht blockieren und so die Beleuchtung anderer Objekte beeinflussen. In SC ist somit jede Entfernung wichtig.
Zonen befinden sich aber nicht nur um Planeten. Die können auch so klein sein wie einzelne Räume in Schiffen.
Du kannst nicht jedes Mal ein neues Level laden, wenn du einen neuen Raum betrittst.
Es hat auch ganz einfach etwas mit Performance zu tun.
Es ist ganz einfach. In einem FPS Game ist das meiste Statisch an feste Koordinaten gebunden. Dort bewegen sich lediglich Spieler, Fahrzeuge, Gewehrkugeln und solche Dinge. Der Rest des Levels ist Fest und muss nie aktualisiert werden. Deswegen sind Engines so aufgebaut, dass sie ein Objekte in einem absoluten Koordinatensystem referenzieren.
Würde man ein Weltraumspiel in so einer Engine implementieren ist der Weltraum zwar fix, aber er ist auch ziemlich leer. Es gibt kaum statische Objekte im Weltraum, es sei denn die Planeten rotieren nicht und die Raumstationen sind fest an ihren Orten.
Das sind sie in SC aber nicht. Dort sind sie ständig in Bewegung und es müssten praktisch alle Objekte (alle Vertices eines jeden Polygons) mit jedem Frame neu positioniert werden.
Selbst die feststehenden Gebäude auf dem Planeten würden zum Beispiel ständig neue Koordinaten bekommen, weil sich der Planet dreht, obwohl sie ja eigentlich fix auf dem Boden stehen.
Deswegen halt das Zone System, was eine relationale Adressierung ermöglicht. Dann haben die Gebäude alle nur nur eine Position in Relation zum Nullpunkt des rotierenden Planeten und nicht mehr absolut im Level. Vorteil. Die relationale Gebäudeposition bleibt unverändert und muss nie aktualisiert werden.