Spieler ein Einflussfaktor bei prozeduraler Generierung?

  • Hallo Leute,


    ich frage mich schon seit einer Weile, ob ich als Spieler bzw. mein Spielstand irgendwie Einfluss darauf habe, welche Sachen generiert werden, wenn ich Systeme/Planeten/Pflanzen/Tiere das erste Mal entdecke. Wisst ihr da etwas darüber? Ich konnte im Netz immer nur allgemeine Sachen über die Mechaniken finden, aber nichts über Einflussfaktoren.


    Ich hatte schon öfter das Gefühl, dass mich bestimmte Tiere eine Weile über verschiedene Systeme "verfolgen". Der Verdacht, dass ich damit zu tun habe (und nicht etwa nur die Ecke der Galaxie o.ä.) drängte sich mir auf, als ich einmal ziemlich ungewöhnliche Tiere entdeckte, die ich vorher noch nie gesehen hatte und nach einem Terminus-Sprung über 500k Lj. eine leichte Variaton dieser Spezies auf dem nächsten entdeckten Planeten wieder vor der Nase hatte. Leider habe ich es nicht dokumentiert.


    Jetzt beim Herbstbilder-Wettbewerb fiel mir wieder auf, dass mich Dinge verfolgen - nämlich bräunliche Herbtsplaneten. Lässt sich auch alles recht einfach mit psychologischen Wahrnehmungstheorien erklären, aber ich werde den Verdacht nicht ganz los. Weiß jemand genaueres dazu? Schleppen wir "Seeds" mit uns herum und infizieren die Galaxie damit auf unseren Wegen?

  • prozedurale Generierung arbeitet mit einem seed und anderen festen Werten.

    Ein Spieler hat kein Einfluss darauf wie etwas generiert wird.


    Mehr kann ich dir auch nicht sagen, außer du verstehst was von Programmieren - dann könnte ich es versuchen zu erklären

    Du merkst, dass ein Bug an dir hoch krabbelt. Du findest ihn nett und nennst ihn Exploit.



    No Man's Sky kaufen

    • PlayStation 4

    Xbox One

    PC

  • prozedurale Generierung arbeitet mit einem seed und anderen festen Werten.

    Ein Spieler hat kein Einfluss darauf wie etwas generiert wird.


    Mehr kann ich dir auch nicht sagen, außer du verstehst was von Programmieren - dann könnte ich es versuchen zu erklären


    Leider nicht wirklich viel. Aber in Logik habe ich ein wenig mehr als den Grundkurs. Woraus setzt sich der Seed zusammen? Nimmt man dafür beim Programmieren nicht auch irgendwelche Daten, um einen Pseudo-"Zufall" zu erzeugen? So à la Randomkey=(10²*Uhrzeit+Farbe_von_<Player>_Stiefel/Zwölf) ?


    Guckst du - schon bin ich ein Einflussfaktor! ^^

  • Also beim C64 war die beste Randomgenerierung die ich kannte. Die hat immer die selben Werte geliefert, sofern man sie nicht über einen variablen Faktor ausgetrickst hatte (z.B. Laufzeit seit einschalten). ^^


    Aber zufällig wird hier nichts generiert. Die 18 Tril. Planeten sehen alle gleich aus. Mit allen Tieren, Bäumen, Gebäuden, Hölen usw. egal wer sie entdeckt. Aber vielleicht sind diese Seeds ja im gewissen Galaxie-Umfeld ähnlich, dass ähnliches bei raus kommt... vielleicht war es bei dir aber auch nur Zufall.


    Wann welches Raumschiff spawnt ist mit gewissem Zufall verbunden (da es hier aber auch Stellen gibt, wo immer das Gleiche kommt), aber auch synchron mit anderen, welche sich auf dem Planeten befinden vielleicht mit dir zusammen.


    Den Faktor "Spieler" mit einzubringen wäre wohl möglich, aber dann auch mit anderen Komplikationen verbunden. Und ob das bei der Vielfalt nötig ist, wäre fraglich (es sei denn, es ist der C64).

  • rostfreyh der seed ist einfach ein Wert der aus zahlen besteht z.b

    72826184837170918 so könnte ein seed aussehen


    Auf diesem Wert arbeitet dann das ganze


    Beispiel: GitHub - alan-luo/planetprocedural: 2d procedural planet generator inspired by No Man's Sky. pretty procedurally generated art

    Du merkst, dass ein Bug an dir hoch krabbelt. Du findest ihn nett und nennst ihn Exploit.



    No Man's Sky kaufen

    • PlayStation 4

    Xbox One

    PC

  • Leider nicht wirklich viel. Aber in Logik habe ich ein wenig mehr als den Grundkurs. Woraus setzt sich der Seed zusammen? Nimmt man dafür beim Programmieren nicht auch irgendwelche Daten, um einen Pseudo-"Zufall" zu erzeugen? So à la Randomkey=(10²*Uhrzeit+Farbe_von_<Player>_Stiefel/Zwölf) ?


    Guckst du - schon bin ich ein Einflussfaktor! ^^


    Genau so ist es. Deterministischer "Zufall".

    Die Welten werden immer gleich generiert, wahrscheinlich platformübergreifend nahezu identisch.


    Au PC kann man modden und damit auch die Welten verändern, zeimlich heftig sogar. Dazu muss man Parameter ändern. Das ist alles gut beschrieben und das kann jeder praktizieren.


    Ich finde es aber schön, dass die Welten für alle gleich sind.

  • rostfreyh der seed ist einfach ein Wert der aus zahlen besteht z.b. 72826184837170918 so könnte ein seed aussehen


    Auf diesem Wert arbeitet dann das ganze [...]


    Das ist schon klar, aber der Wert muss ja für jeden Planeten unterschiedlich sein, sonst würden ja alle Planeten gleich aussehen. Woher wird dieser Wert genommen? Theoretisch könnte er sich aus Faktoren berechnen, die auch von der Client-Seite genommen werden, wenn der Planet zum ersten Mal besucht wird. Allerdings würden dann tatsächlich Spieler unterschiedliche Dinge sehen, wenn sie ohne Internetverbindung die selben Planeten besuchen würden. Was ja wohl nicht der Fall ist. Aber vielen Dank für deine Erklärungsbemühungen! Die haben mir beim Weiterdenken geholfen.

    Ich glaube, das Zufalls-Problem ist in der Informatik immer noch aktuell. Man kann heute nur bessere Pseudo-Zufälle generieren, weil die Rechner höhere Rechenleistung haben, oder? Aber ansonsten stimme ich dir zu (außer bei den Raumschiffstats - die sind nicht synchron ...)


    Kann jeder.. pff... Angeber... ;) Und eine Beschreibung dazu habe ich auch nicht gefunden. Außer was der Sean mal irgendwann behauptet hat. Aber das heißt ja lange noch nicht, dass es jetzt so ist... Ich finde es aber so auch so viel besser.


    Vielen Dank euch für die Denkanstöße! Ihr habt mich (zusammen mit mir selbst bei weiteren Überlegungen) überzeugt. Das war ein krasser Zufall und ein paar kleine dazu. Den Rest erklärt wahrscheinlich die Hypothesentheorie der Wahrnehmung...

  • ... (außer bei den Raumschiffstats - die sind nicht synchron ...)

    Stimmt, die haben mit der Hosenfarbe zu tun.... :)


    Ne, jetzt wo du es schreibst, habe ich mich auch wieder dran erinnert, das der eine eine "S" Schiffchen auf einer Raumstation hatte, was für den Anderen nur ein... naja, kein "S" halt war.

  • Wie kann man erklären das sich die "Wellen" der einfliegenden Schiffe, auf den Raumstationen mit langer Einflugschneise verändern, wenn man zum Eingang hin, oder Weg schaut?

    (Sucht man z.b. nach einem Jäger und weiß das dieser mit der vierten "Welle" auf jeden Fall erscheint,

    so kann man die ersten "Wellen" mit einer bestimmten Zeit weggucken überspringen, so das er dann quasi bei der ersten Welle schon erscheint)

    Ich glaube das wenigste in diesem Spiel ist zufällig sondern berechnet/berechnend..

  • https://nmsmodding.fandom.com/wiki/no_man%27s_sky_modding_wiki


    gibt auch einen discord channel, der ist immer hoch aktuell.

    Cool, danke! Jetzt hapert's halt wieder ein bisschen an meinen Englischkenntnissen... Aber das sehe ich mir bei Gelegenheit mal an.


    Wie kann man erklären das sich die "Wellen" der einfliegenden Schiffe, auf den Raumstationen mit langer Einflugschneise verändern, wenn man zum Eingang hin, oder Weg schaut?

    (Sucht man z.b. nach einem Jäger und weiß das dieser mit der vierten "Welle" auf jeden Fall erscheint,

    so kann man die ersten "Wellen" mit einer bestimmten Zeit weggucken überspringen, so das er dann quasi bei der ersten Welle schon erscheint)

    Ich glaube das wenigste in diesem Spiel ist zufällig sondern berechnet/berechnend..


    Das sind ja eben solche Beispiele, wo ein Pseudo-Zufall mit Client-seitigen Zahlen erzeugt wird. Dass der Ort, wo man das Spiel lädt, einen Einfluss darauf hat, was in den Multitool-Klappen liegt, ist auch sowas. Richtig zufällig - im Sinne von nicht-kausal - kann im Spiel nichts sein. Wenn die Informatik sowas hinbekommt - sagt Bescheid, das würde sicherlich auch die Physiker und Theologen interessieren... ;)


    Aber wie die anderen hier schon beschrieben haben - bei der Generierung von Planeten/Tieren und so Kram ist wohl nicht einmal ein Pseudo-Zufall dabei.

  • Der Standort von einen Planeten kann auch als seed verwendet werden :)

    Bei den Tieren kann der Standort von einen Planeten auch verwendet werden, so wäre es möglich dass jedes Planer unterschiedlich ist.


    Aber wenn ein Spieler Einfluss auf die Generierung hätte, dann würde ja jeder Planet bei jedem anders Aussehen weil dein Spiel nur Informationen von Entdeckungen bekommt und du ja von außerhalb auch schon leicht erkennen kannst was das für ein Planet ist und da ist er ja unentdeckt.


    Also kurz gesagt, du hast keinen Einfluss darauf.

    Du merkst, dass ein Bug an dir hoch krabbelt. Du findest ihn nett und nennst ihn Exploit.



    No Man's Sky kaufen

    • PlayStation 4

    Xbox One

    PC

  • Richtig zufällig - im Sinne von nicht-kausal - kann im Spiel nichts sein. Wenn die Informatik sowas hinbekommt - sagt Bescheid, das würde sicherlich auch die Physiker und Theologen interessieren...

    Richtig zufällige Zahlen am Computer gibt es tatsächlich schon einige Zeit, seit ein paar Jahren kann man diese sogar mit vertretbarem Aufwand am PC erzeugen. Für Laien einfach : Eine zufällige Zahl zu erzeugen war schon lange kein Problem mehr, aber mehrere Zahlen zu erzeugen die voneinander unabhängig zufällig sind schon. Dies ist aber mittlerweile auch schon gelöst. Wer wirklich an dem wissenschaftlichem Nachweis interessiert ist hier ein Link zu einer der neueren, nur für wirkliche Mathematiker verständlichen Abhandlungen : ECCC - TR15-119

  • Ich hab zwar nicht viel Ahnung von Programmierung aber doch eine Vorstellung davon woran es liegen kann wenn man immer das gleiche sieht.


    Dass die Planeten für jeden Spieler gleich sind ist ja schon der Beweis dafür, dass wir keinen Einfluss darauf haben. Ich denke, dass das Spiel einfach nicht genug Auswahlmöglichkeiten bei der Generierung von Flora und Fauna hat, Seed hin oder her. Vor allem auf Eisplaneten bemerke ich immer wieder, dass eigentlich alles genau so aussieht wie auf den 100 letzten. Das ist schon seit Release so. Bestimmte Tiere sehe ich leicht abgewandelt immer wieder. Auch jetzt, wo ich in Eissentam bin treffe ich oft auf die selben Lebensformen.

    Das merkt man auch an der Größe des Spiels bei Steam, viel Platz braucht es ja nun nicht obwohl es eine ganze Galaxie (bzw. mehrere) darstellt.


    Ein Paar Ausreisser gibt es immer wieder, aber wenn man mal 100 Planeten gesehen hat hat man eigentlich fast alles gesehen. Das könnte wissenschaftlich betrachtet aber sogar realistisch sein da schon lange angenommen wird dass sich Leben auf Kohlenstoffbasis in ähnlichen Umgebungen auch ähnlich entwickelt.

  • Richtig zufällige Zahlen am Computer gibt es tatsächlich schon einige Zeit, seit ein paar Jahren kann man diese sogar mit vertretbarem Aufwand am PC erzeugen. Für Laien einfach : Eine zufällige Zahl zu erzeugen war schon lange kein Problem mehr, aber mehrere Zahlen zu erzeugen die voneinander unabhängig zufällig sind schon. Dies ist aber mittlerweile auch schon gelöst. Wer wirklich an dem wissenschaftlichem Nachweis interessiert ist hier ein Link zu einer der neueren, nur für wirkliche Mathematiker verständlichen Abhandlungen : ECCC - TR15-119


    Uff, harte Kost zum morgendlichen Kaffee... Meine Englisch- und Mathekenntnisse reichen leider nur für einen Hauch von Erkenntnis daraus... Aber trotzdem vielen Dank. Interessant.


    Was ich dann aber nicht verstehe, ist, wieso man das nicht nutzt, wenn sich das "mit vertretbarem Aufwand am PC erzeugen" lässt? Warum nimmt man überall Pseudo-Zufallszahlen oder rechnet atmosphärisches Rauschen o.ä. ein, wenn man "echten" Zufall haben will?



    Das sehe ich nur teilweise so. Wenn man genau hinsieht, gibt's immer wieder Neues zu entdecken. Natürlich sind die Bausteine endlich, aus denen der Kram zusammengesetzt wird. Aber die Vielfalt ist enorm. Dass das Spiel nicht viel Platz braucht liegt daran, dass es eben nur Bauteile und Formeln speichern muss. Dass einem immer wieder ähnliche Kreaturen auffallen, kann einfach an deren hoher Wahrscheinlichkeit, an einem Seed der sich aus dem Standort ergibt, wie Zurret schreibt, oder letztlich eben an Halo-Effect & Co. liegen. Aber wenn man sich Zeit nimmt und auf Details achtet, merkt man eine unglaubliche Vielfalt.


    Mir ging es aber auch nicht um die häufigen Lebensformen, sondern darum, dass ich eben eine Art, die ich in 450 Stunden Spielzeit nur zweimal in leichter Variation gesehen habe, zufällig in 500.000 Lichtjahren Entfernung in kurzem zeitlichen Abstand entdeckt habe. Das hat einfach kurz den Zweifel an Client-unabhängigen Seeds keimen lassen. Aber letztenendes scheitert der Verdacht (zum Glück) an der Tatsache, dass auf zwei Rechnern, die noch nie im Internet waren, die selben Tiere auf nie zuvor entdeckten Planeten herumlaufen, obwohl sie prozedural generiert wurden.

  • Also was die Seed's, oder die Vielfalt betrifft, hatte ich ja vor einiger Zeit mal die Jagd nach Exotenschiffchen gemacht. Dabei ist dann bei dieser Sorte Raumschiff (also Exoten, ohne die Squid) eine kleine Aufstellung raus gekommen, was es an Formenvielfalt gibt >klick<. Dort kam ich auf 1.320 Form-/Farb-/Musterkombinationen.

    Auf der NMS-Seeds-Seite kann man schön die Seeds für die Raumschiffe sehen. Eine 18-Stellige Zahl (hier sind wir wieder bei den Trillionen), wobei wohl die ersten beiden Ziffern immer "0x" sind. Nun kann man auf dem PC mit dem Save-Editor die Seeds seiner Schiffchen auslesen und dort auch den Seed verändern. Eine Zahl geändert und das Schiff sieht anders aus. Wobei lt. dem Editor die Seed aber nichts über die Art des Schiffes aussagt, also ob Transporter, Jäger, Forscher... usw. Denn lässt man den Seed gleich und stellt im Editor von Transporter auf Forscher z.B. um, ändert sich die Form des Schiffes auf Forscher mit der vorherigen gleichen Transporter Seed und anders rum. Aber ob das System anhand der Seed nun wirklich für jede Raumschiffart >18 Trillion Raumschiffe generiert... naja... lassen wir mal dahin gestellt sein. Da man im Seed jede beliebige Zahl ändern kann und sich immer was tut, greift das System hier wohl auf ähnliches in einem gewissen Bereich zurück. Wie wenn man bei einem Portal wahllos Glyphen eingibt und die Fehlermeldung kommt, dass es eine ungültige Adresse ist und man zur nächstgelegenen Adresse/Portal gelangt.

  • Was ich dann aber nicht verstehe, ist, wieso man das nicht nutzt, wenn sich das "mit vertretbarem Aufwand am PC erzeugen" lässt? Warum nimmt man überall Pseudo-Zufallszahlen oder rechnet atmosphärisches Rauschen o.ä. ein, wenn man "echten" Zufall haben will?

    Man möchte ja keinen echten Zufall haben. Die Seeds in NMS sind ja begrenzt. Also gibt es eine künstliche Grenze für "Zufälle". Man hat dann wahrscheinlich mehrere Pools:


    Pool 1: Kreaturen (Körper, Köpfe, Geräusche, Anzahl der Kreaturen) = eine Zahl des Seeds

    Pool 2: Biome = eine Zahl des Seeds

    ...


    Danach gibt man dann an, wie lang ein Seed sein kann. Wenn dann jetzt ein Planet bspw. 12345678 als Seed hat, ist der immer gleich. Wenn man sagt, dass der Seed immer 8 Zahlen lang ist, kann man auch berechnen, wie viele verschiedene Planeten es gibt. Ich denke in etwa so ist das Gehemnis dahinter. Die Kunst darin liegt denke ich aber darin, den Seed so zu generieren, dass daraus auch schöne und logische Planeten draus werden. Bspw. eine Gruppe von Bäumen, größere Landstriche usw.


    Aber auch das wurde berechnet. Man hat wahrscheinlich einen für sich passenden Seed genommen und geschaut, wie der Zufall die Sachen dort zusammengewürfelt hat. Dann wird der Seed als Basis genommen und bspw. immer mit größer oder kleiner als Zahl X gerechnet, damit andere Planeten zumindest in die Nähe des Ursprungsplaneten kommen - was die Generierung angeht. Wenn man hierfür dann eine Formel hat, kann man die dann auch für andere Dinge nutzen, wenn man denn einen passenden Ursprungsseed hat. Wird bei den Raumschiffen sicherlich auch so sein - weshalb es einem so vorkommt, als würden alle gleich aussehen - einfach weil nur ein paar wenige Zahlen des Seeds gewechselt werden, weil die anderen dafür sorgen würden, dass das Teil nicht mehr wie ein Raumschiff ausschaut.


    Habe mir dazu nichts durchgelesen. So würde ich das Ganze nur lösen. Denke mir aber, dass es ungefähr so abläuft. Sind nur Gedankengänge, deshalb gibt es auch keine Links oder Quellenangaben.


  • Die Frage war nicht auf NMS bezogen - RugiaMike und mich hat es da ein wenig ins Offtopic verschlagen (ich habe das mathematische Pamphlet nochmals überflogen und verstehe es leider nur sehr wenig. Aber was die da machen ist auch wieder nur eine (ziemlich gute) Annäherung an einen scheinbaren Zufall, oder? Egal...)


    Randlocher : Danke für die weiteren Erklärungen. Aber wie bereits gesagt - ich denke allgemein nicht, dass die Sachen "immer gleich aussehen". Und in dem Beispiel taugt das nicht als Erklärung, weil ich die Viecher wirklich erst 2mal gesehen hatte. Wie dem auch sei, wir haben ja schon festgestellt, dass meine Eingangsfrage genausowenig als Erklärung taugt. Bleibt vorerst nur der Zufall als Erklärung. :seandoesntcare:

  • Im Grunde ist das Prinzip simpel:


    Ein Seed ist nur ein Code, der eine bestimmte Folge von Kombinationen erlaubt. (Wie bereits von Fratzegeballer erwähnt haben alle Schiffe den Code x0)


    Ähnlich verhält es sich dann, für ... hm, sagen wir mal einen Vogel

    Jetzt frei erfunden, aber so in etwa:


    Stelle 1-2: Bestimmt die Klasse: Raumschiff, Baum, Tier .. Sagen wir nun mal 01 für Vogel

    Stelle 3: Bestimmt Schnabelform (da nur eine Stelle, sind dann auch nur 10 Schnabelformen möglich 0-9)

    Stelle 4: Anzahl der Augenpaare (auch hier nur eine Stelle, daher 0 bis max. 9 möglich) [Anmerkung: Schon mal in NMS ein Tier mit einem oder drei Augen gefunden?]

    Stelle 5: Flügelform

    Stelle 6: Anzahl der Flügelpaare (0 wie bei Luftwürmern oft der Fall, 1-2 wie meistens zu finden)


    Ein Seed mit 01-1-1-1-1 .... generiert dann einen Vogel mit Schnabelform 1, einem Augenpaar, der Flügelform 1 (wie auch immer die auch aussieht) und einem Flügelpaar


    Weiters sind in einem Seed dann noch andere Informationen enthalten (Kann fliegen, bewegt sich nur auf dem Boden, kann Hindernisse überwinden usw....)

    Hängt also im Endeffekt von den ersten zwei Stellen ab, die entscheiden, um was für ein Objekt es sich handelt und wie die folgenden Stellen interpretiert werden.


    In Folge erklärt sich dann, warum trotz 18 stelligen Seedcode, die Welt von NMS sich so oft ähnlich ist.

    Gibt es nur drei verschieden mögliche Schnabelformen (Modelle), kann man auch nicht mehr als drei verschiedene Schnabelformen im Spiel finden.


    Und noch eine persönliche Anmerkung: So sehr ich dem Spiel auch zugeneigt bin und es möglichst jeden Tag spiele, finde ich, dass hier das Potential bei den Seeds (egal ob nun Planet, Pflanze, Tier) nicht wirklich ausgenutzt wird.