3 verwirrende Fragen zu prozeduraler Generierung und Speicherständen

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

  • Hallo Leute gamer


    Fakt 1: Quasi alles im Spiel wird oder wurde (!) algorithmisch berechnet und wie ein Puzzle zusammengesetzt, deswegen der geringe Speicherhunger des rohen Spiels. Super.
    Fakt 2: Alle PC-Spieler spielen in derselben Galaxie, alle Playstation-Spieler auch (aber in einer anderen als die PC-Spieler).


    Daraus folgt: Sämtliche Sternsysteme und zumindest die groben Daten der Planeten (die man beim Scannen aus dem All sehen kann) müssen schon VOR dem Spielkauf "ausgewürfelt" worden sein. Dafür spricht auch, dass Sean Murray in dem Behind the Scenes-Entwicklervideo u. a. sagt, dass sie lange getestet und sich dann für eine Galaxie entschieden haben (wenn ich das richtig verstanden habe).
    Wäre das nicht so, könnte man nämlich nicht auf bereits entdeckte Systeme und Planeten stoßen.


    Fakt 3: Gelände, Rohstoffe, künstliche Bauten, Pflanzenarten und Tierarten sowie deren Positionen usw. werden auf jedem Planet extra ausgewürfelt (ich vermute genau dann, wenn der Spieler im jeweiligen System ankommt). So ähnlich sagt das Sean Murray auch im obigen Video. VORHER vorbestimmt sind die groben Daten, die man beim Scannen sieht (Sternsystem-Zuordnung, Name, Entdecker, Flora-Menge, Fauna-Menge, Wächter, Biom und Rohstoffe).


    Daraus resultieren folgende Fragen:
    1. Wenn die groben Daten von 1,6 Trillionen Planeten (inklusive ihrer genauen Positionen, es sei denn, sie drehen sich um die Sterne - mit welchen Geschwindigkeiten?) und von sagen wir 300 Milliarden Sternen (hier natürlich nur die Spektralklasse und die Position innerhalb der Galaxie) schon vorher ausgewürfelt wurden, warum hat dann das Spiel trotzdem nur 4,14 GB (bei mir, Steam-Version, 6 Speicherstände)? So gut können die Daten doch gar nicht komprimiert sein. Denn Die groben Daten eines einzigen Planeten sind zwar nur ein bisschen Text (sagen wir 512 Bytes), aber das läppert sich: Wenn 2 Planeten 1 KB brauchen, brauchen 1,6 Trillionen Planeten 800 Trillionen KB bzw. (rechnen wir wie bei Festplatten mit 1.000 statt 1.024). Das sind 800 Billionen Gigabyte bzw. 800 Milliarden Terabyte. Die Daten KÖNNEN so gar nicht gespeichert sein, und 1 einziger Bit (Zustand 0 oder 1) ist definitiv zu wenig für die Infos. Das lässt mich zu dem Schluss kommen, dass es GAR NICHT MÖGLICH ist, den Planeten eines anderen Spielers zu besuchen, weil alles für jeden Spieler zufällig generiert wird. Oder ??


    2. Wenn Spieler A einen Planeten entdeckt, dort rumtigert, Stationen entdeckt, Landschaften benennt usw., dann ist in diesem Moment ja ALLES auf dem Planeten genau festgelegt (obwohl, auch für weit entfernte Gebiete, die der Spieler nicht sieht? grübel). Aber was passiert, wenn Spieler B zu diesem Planeten kommt? Denn auch sein Computer berechnet ja das Ganze für diesen Planeten zufällig, und er hätte dann theoretisch komplett andere Pflanzenarten, Sendemast-Positionen usw.. Wie verhält es sich dann?
    > Möglichkeit 1: ALLE DATEN (!) entdeckter Planeten werden auf dem Server gespeichert (was ich nicht glaube, das wären ja Terabytes...), aber dann findet Spieler B EXAKT dieselben Dinge auf dem von Spieler A entdeckten Planeten vor.
    > Möglichkeit 2: NUR DIE NAMEN, die Spieler A vergeben hat, kann Spieler B wieder finden, aber diese sind zufällig auf die vorhandenen Elemente verteilt (Anzahl der Tier- und Pflanzenarten, der Landschaften usw. muss ja gleich sein). Dann müssten nur die Namen auf dem Server gespeichert sein, und dann würde das Hochladen sich auch auswirken auf andere Spieler.
    > Möglichkeit 3: NICHTS IM DETAIL von Spieler A kann durch Spieler B entdeckt werden, weil der komplette Planet für ihn neu ausgewürfelt wird. Nur die Info, dass dieser Planet von Spieler A entdeckt wurde, kriegt er angezeigt.


    3. Werden meine eigenen Speicherstände größer, je mehr ich entdecke (vor allem Planeten, ihre Arten, Gebäudepositionen (!), Landschaftsrelief...) ? Theoretisch müssten sie schnell größer werden, denn es ist ja möglich, zu bereits besuchten Planeten und Systemen zurückzukehren und dort ALLES so vorzufinden, wie es vorher war. Da kommen ganz schön viele Daten pro Planet zusammen...


    Viel Text und wichtige Fragen, hoffe auf Antwort von den Profis hier. :)


    LG Kekskonsument

  • das ganze Spiel besteht eigentlich aus einer sehr sehr sehr sehr ....... Langen Zahl diese ist für alle gleich nur das jeder an einer anderen Stelle startet jedoch ist die Mathematik für alle die selbe ob man sich nun die Zahl rauf oder runter arbeitet. Also erleben an einer Stelle alle das selbe. Warum hier nur gern von Zufall gesprochen wird kommt daher weil diese Zahl generiert ist und niemand sie vollständig erfassen könnte. HG hat lediglich einen Algorithmus geschrieben der einen an dieser Zahl entlang führt. Deswegen ist diese procedural generierte (nicht Zufalls generierte) Welt für alle gleich. Also in Wirklichkeit ist es noch ein bisschen komplizierter aber für eine einfache Erklärung reicht das wohl.

    und von den 4 oder 6 GB bei PS4 ist das meiste Musik Daten das eigentliche Spiel ist sehr klein, ein Meisterwerk aus Nullen und Einsen.

  • ein Meisterwerk aus Nullen und Einsen.

    Dann ist also die gesamte Spielwelt ein 2^64 Stellen langer Binärcode, der von der Spielengine (also den Algorithmen) logischerweise immer gleich interpretiert wird? Und das führt dann dazu, dass ALLE Spieler auf ALLEN Planeten das GLEICHE (ich erinnere auch an die ganzen Eigenschaften von Tieren) an den GLEICHEN STELLEN finden?


    Dann ist ja das gesamte Universum bereits genauestens für alle definiert, und alles, was vor uns aufploppt, ist immer schon dagewesen und wird immer da sein - und wird nicht kurz vorher zufällig ausgewürfelt. Wir müssen uns bemühen, möglichst viel davon aufzudecken. :D Dann hab ich's jetzt grob kapiert, der Rest ist höhere Mathematik.


    Dann wäre quasi das Einzige, was auf dem Server gespeichert wird, die hochgeladenen und ggf. umbenannten Entdeckungen, die dann wiederum allen anderen Spielern ingame angezeigt werden, wenn diese an die entsprechende Stelle in der Monsterzahl kommen (bzw. zu dem jeweiligen System oder Planeten). Um so wichtiger wäre eine schöne große Datenbank mit Suchfunktion. Aber wer soll die Serverkosten zahlen und wie lädt man da seine Daten am bequemsten hoch... hehe.


    Danke für die Aufklärung! :)


    LG Kekskonsument

  • An diesen Meisterwerk könnten sich andere Entwickler mal ne Scheibe abschneiden, was Speicherplatz und andere Dinge angeht. Wieso kann ein so kleines Entwicklerteam das besser als andere??

  • Oha... und ein wohl recht großer Anteil davon wahrscheinlich die Bildchen der hochgeladenen Pflanzen und Viecher. :D


    Es natürlich nach der Erklärung nun auch klar, dass bereits "entdeckte" Gebiete vom Speicherstand nicht "markiert" werden müssen als "da war ich schon" (ausgenommen natürlich die Fragezeichen-Symbole), denn das wird ja alles aus der Monsterzahl herausgerechnet.


    Nun ja, ich habe gelesen, dass diese Technik z. B. auch bei Minecraft zum Einsatz kommt (aber diese Pixelgrafik... igitt), und bei großen Spielen sind viele Leute mit Design, also Grafik beschäftigt. Die lässt bei NMS natürlich etwas zu wünschen übrig, hätte man vieles hübscher machen können. Aber vielleicht gibt's ja bald ein NMS 2 !? :D


    LG Kekskonsument

  • Na wusste ich doch das das Dein Thema ist und Du Dich über kurz oder lang meldest. :thumbup:
    Danke für die Links @Starman

  • Ich glaube eher nicht, dass die Sterne und Planeten für jeden einzeln generiert wird. Sonst wäre das Planen, wo welches Tool gefunden wurde gar nicht möglich. Weil jeder einzelne Spieler sein eigenes Sternensystem (Galaxie) hat und dann wäre es auch unmöglich andere Basen zu besuchen. Ich glaube eher, dass das System bereits fertig generiert auf die Server geladen wurde.

  • Ich denke es gibt eine "Seed" - eine sehr lange Zeichenfolge (zB 10000 Chars). Diese ist für jede Galaxie gleich. Je nachdem, an welchen Koordinaten man sich befindet (X,Y,Z), werden aus dieser Seed mittels verschiedenen Algorithmen alle Dinge berechnet - Systeme, Planeten, Biome, Tiere, Pflanzen, Steine.


    Dadurch sehen Planeten für alle am gleichen Ort gleich aus.

  • Vy'keen sagen- wenn Planet mit Mechanik sentinel Wesen, dann Krieg! ! Wenn ohne dann mit weniger Krieg! Graaa

  • Genau so wollte ich das beschreiben, aber du hast die besseren Worte gefunden!

  • @Foehammer - Wahrscheinlich nur unnötig ausführlich...im Grunde hattest du ja schon alles gesagt.


    Ach ja, die Entdeckungen sind scheint's ein Zwitter. Einerseits werden sie definitiv auf HGs Servern gespeichert, denn die haben ja zugegeben, anfangs die Serverlast u.a. für das Melden von Entdeckungen völlig unterschätzt zu haben. Andererseits finden sich die Entdeckungen in den Save-Files des einzelnen Spielers, weswegen die -wie @Norbertus schon mal erwähnt hat- immer umfangreicher werden. (Übrigens finden sich dort selbst die entdeckten Planeten eines anderen Spielers, dessen System man nur besucht hat. In meinen Save fand ich Hinweise auf @No.return, deren Systeme ich gekreuzt hab. Jaja, dem großen Bruder HG entgeht offenbar nichts.) Ob diese Doppelung nur als Puffer dient, um (auch ohne Online-Zugang) schneller die Entdeckungs-History aufzubauen, weiß ich nicht.

    Damit hast Du vollkommen Recht , No.return taucht bei mir sei der Brotkrumen Strategie hail mindestens zwanzig mal in meinen Files auf.

  • Na, dann ist dank Eurer hilfreichen Posts ja im Großen und Ganzen alles klar.


    Was demgegenüber aber wohl zufällig generiert werden dürfte, sind vermutlich die Bewegungsrichtungen der Tiere, welches Alien-Raumschiff wann genau durch den Himmel gurkt und da antrifft, wo ich bin, und wie Schiffe und Multitools ausgerüstet sind, wenn ich sie das erste Mal betrachte - denke ich mal, oder?


    LG Kekskonsument

  • Ich habe mal einen interessanten Test mit einem Freund durchgeführt. Wir sind gleichzeitig in das selbe System gesprungen und dann gleichzeitig dort auf der Raumstation gelandet, ausgestiegen und haben auf das erste Raumschiff gewartet. Es war bei uns beiden das gleiche Raumschiff mit dem gleichen Piloten, nur alle Weiteren waren dann nicht mehr synchron nur das Erste...

  • und haben auf das erste Raumschiff gewartet. Es war bei uns beiden das gleiche Raumschiff mit dem gleichen Piloten, nur alle Weiteren waren dann nicht mehr synchron nur das Erste...

    Dass das 1. Raumschiff identisch war, kann natürlich Zufall sein. Ich habe gestern ein bisschen Zeit auf einer Raumstation verbraucht (aus monetären Gründen chinese ) und festgestellt, dass Aliens mit denselben Namen immer mal wieder kamen - und zwar im jeweils äußerlich selben Raumschiff. Da ich insgesamt geschätzt wohl nur ca. 50 Piloten angesprochen habe, aber einige von denen mindestens 5 mal dabei waren, gibt es gar nicht so viele verschiedene Piloten, was die Wahrscheinlichkeit erhöht, dass euer erster Pilot nur zufällig der gleiche war - und es grundsätzlich so ist, dass das ganze komplett zufällig ist. ;)


    LG Kekskonsument

  • Alle Seeds sind relativ kurz: etwa 16-stellig: Schiffe, Frachter, Multirools, Tiere, Planeten, Solarsysteme.
    Es werden im Savegame auch nicht alle vorhandenen Planetenpositionen der aktuellen Galaxie abgespeichert sondern nur diejenigen, die man angeflogen hat.


    Denkbar ist folgendes Experiment, um einen anderen Spieler zu treffen: man muss nicht den ganzen Planeten nach der Basis des anderen absuchen, sondern landet auf der Raumstation und übermittelt dem anderen Spieler seine Koordinaten.


    Die Daten stehen in der Save-Datei:
    z.B. dass der Spieler auf der Raumstation ist:
    "LastKnownPlayerState": "InStation",


    Spieler-Koordinaten im System:
    "PlayerPositionInSystem": [ -767.1724853515625, -6642.1240234375, -651.29339599609375, 1.0


    Vielleicht noch die Adressen des Universums und die Koortinaten:
    "RealityIndex": 0, "GalacticAddress": { "VoxelX": -1436, "VoxelY": 7, "VoxelZ": 305, "SolarSystemIndex": 372, "PlanetIndex": 0


    Man könnte dann eventuell zumindest das Schiff des anderen Spielers im Hangar sehen. Das ist natürlich alles rein theoretisch.

    Am Ende fließen alle Dinge ineinander, und aus der Mitte entspringt ein Fluss

  • Dass das 1. Raumschiff identisch war, kann natürlich Zufall sein. Ich habe gestern ein bisschen Zeit auf einer Raumstation verbraucht (aus monetären Gründen chinese ) und festgestellt, dass Aliens mit denselben Namen immer mal wieder kamen - und zwar im jeweils äußerlich selben Raumschiff. Da ich insgesamt geschätzt wohl nur ca. 50 Piloten angesprochen habe, aber einige von denen mindestens 5 mal dabei waren, gibt es gar nicht so viele verschiedene Piloten, was die Wahrscheinlichkeit erhöht, dass euer erster Pilot nur zufällig der gleiche war - und es grundsätzlich so ist, dass das ganze komplett zufällig ist. ;)
    LG Kekskonsument

    Ja simmt, so wird es gewesen sein. Es sind tatsächlich immer nur 5-10 verschiedene wiederkehrende Schiffe auf Raumstationen oder Handelsplattformen. Es geht manchmal sogar soweit das das selbe Schiff mit dem selben Piloten zweifach zur selben Zeit landet.

  • Dem wiederspreche ich jetzt mal. Die Piloten mögen die selben sein, aber die Schiffe ändern sich mit jedem Anflug. Rein äußerlich zwar nicht, aber in ihrer Klasse, der Slotzahl und dem Slotaufbau.
    Woher ich das weiß?? 4h auf der Raumstation und Schiffe unter die Lupe genommen.
    Sobald die Schiffe den Hanger verlassen und aus deinem Sichtfeld verschwinden, wird neu gewürfelt. Pilot und Schiff bleiben gleich. Klasse und Slots ändern sich.
    Wenn du allerdings, ein Schiff verfolgst, sagen wir mal zu einem Handelsposten und du bleibst immer in der Nähe, bleibt es exakt das selbe Schiff inklusive Aufbau.

  • Deswegen schrieb ich ja auch "äußerlich". ;) [/krümelkack]


    Dieses große grüne Gek-Frachterschiff mit dem Captain Soundso hatte ich kurzzeitig in dreifacher Ausfertigung im Hangar stehen (natürlich innerlich unterschiedlich). Hier hätte HG durchaus auch mehr Zufall reinbringen können, was Farben usw. angeht... naja.

  • Dieses Thema enthält 3 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.