"No Man’s Sky": Wie das fast unendliche Spiel-Universum entsteht

Bericht30. August 2015, 10:00
110 Postings

Hello-Games-Programmiererin Hazel McKendrick erklärt, wie der Computer 18 Trillionen Welten erschafft

Die Spielwelt von "No Man’s Sky" ist die größte, die es bisher in einem Videospiel gab. Bei dem Titel von Hello Games steht SpielerInnen nicht nur eine Welt, sondern gleich ein ganzes Universum mit unzähligen Sonnensystemen zur Verfügung, das darauf wartet, erkundet zu werden. Dazu soll auch noch jeder Planet samt der Flora und Fauna einzigartig sein. Realisiert wird dieses Konzept durch prozedural generierte Inhalte.

Wie das funktioniert, hat Hazel McKendrick, eine Programmiererin des Indie-Games, auf der vergangenen Nucl.ai-Konferenz in Wien erklärt. Der GameStandard war vor Ort.

Schlüsselinformationen

Da es praktisch unmöglich wäre, jedes Detail der riesigen Spielwelt einzeln zu entwickeln, wird jeder Planet und alles Leben darauf durch mathematische Formeln generiert. Die Aufgabe der EntwicklerInnen ist es, dafür einen funktionierenden Code zu programmieren.

Zu diesem Zweck werden Prototypen mit Schlüsselinformationen für unterschiedliche Kategorien kreiert. Diese lassen sich beispielsweise einteilen in die Oberflächenbeschaffenheit, diverse Kreaturen, Raumschiffe, Pflanzen usw. Für jede Kategorie wird eine bestimmte Anzahl an möglichen Parametern (z. B. Verhalten und Aussehen) vordefiniert. Algorithmen mixen im Anschluss diverse Merkmale und Eigenschaften und erstellen so unzählige einzigartige Inhalte.

Um die Generierung von abwechslungsreichen Welten zu garantieren, werden außerdem Bots in das Universum ausgesandt. Diese nehmen stichprobenartig Bilder auf und dienen der Qualitätssicherung.

hellogamestube

Wie Charaktererstellung in MMOs

Der beschriebene Prozess kann vereinfacht mit der Charaktererstellung in Rollenspielen verglichen werden. Man wählt eine Rasse, und der Avatar wird anschließend nach Belieben im Aussehen und in den Eigenschaften verändert.

Durch die Zerlegung in Kategorien lassen sich außerdem einzelne Aspekte unabhängig voneinander bearbeiten. Beispielsweise kann die Oberfläche eines Planeten geändert werden, während die dort lebenden Kreaturen gleich bleiben.

Der deutsche Programmierer Marian Kleineberg zeigt mit einem Online-Tool im Kleinen, wie sich zufällige Planetenpanoramen prozedural generieren lassen. Es handelt sich dabei nicht um ein offizielles Projekt von Hello Games.

foto: marian kleineberg
Ein zufällig generiertes Bild des Online-Tools.

Die Bäume im Universum

Für die Umsetzung arbeiten sich die EntwicklerInnen vom großen Ganzen (dem gesamten Universum) schrittweise auf kleinere Ebenen vor. Sie legen also zuerst Prototypen für Sonnensysteme an, ehe sie sich kleinen Elementen wie Tieren und einzelnen Pflanzen widmen.

Dafür wird ein Mix aus 2D- und 3D-Technologien verwendet. Perlin- und Simplex- Noise sind Rauschfunktionen, welche den ProgrammiererInnen zur Simulation von natürlichen Phänomenen wie Wolken oder Landschaftstopologien dienen.

hello games

Gigantische Speicherressourcen

Für die Objektplatzierung und die Bearbeitung einzelner Abschnitte wird die Oberfläche eines Planeten in einen Würfel umgewandelt. Auf diesem befindet sich ein dreidimensionales Raster mit einzelnen Gitterpunkten, sogenannten Voxeln (Cube Sphere Projection). Diese lassen sich unabhängig voneinander bearbeiten und können mittels einer Octree-Struktur weiter unterteilt werden, um kleinste Details zu bearbeiten.

Für die Spielentwicklung werden enorme Speicherressourcen benötigt. Eine Region besteht aus 32 x 32 x 32 Gitterpunkten, wovon einer die Größe von 6 Bytes aufweist. Ein Kubikkilometer virtuelles Land belegt daher einen Platz von 5,58 Gigabyte.

ign

Live-Content

Aufgrund des computergenerierten Inhalts wissen auch die EntwicklerInnen zuvor nicht, was sie erwarten wird. Ab dem Zeitpunkt, an dem ein Spieler oder eine Spielerin erstmals in die Atmosphäre eines Planeten vordringt, werden Flora und Fauna sowie Oberflächendetails generiert.

Die Server merken sich aber die Position der generierten Planeten sowie all ihre Eigenschaften. Sie sehen daher unverändert aus, wenn die selbe oder eine andere Person sie betreten. Aufgrund dieses Systems verzichten die Hersteller auch auf vorberechnete Licht- und Schatteneffekte (pre-baked lighting).

Spaß vor Realismus

Das gesamte Universum, das aus mehr als 18 Trillionen Welten besteht, kennzeichnet sich durch einen Mix aus realistischen und abstrakten Darstellungen. Laut McKendrick geht es dem mittlerweile 14-köpfigen Team vor allem um Spaß und individuelle Spielerfahrungen. Das sei wichtiger als Realismus.

Für den Anfang wird es deshalb auch keine Tools geben, damit sich SpielerInnen auf einem Planeten treffen können. Grundsätzlich besteht diese Möglichkeit zwar, aber das Spiel ist kein Multiplayer-Titel. Selbst wenn sich zwei Personen auf demselben Planeten befänden, wäre eine Begegnung sehr unwahrscheinlich, so McKendrick. Jeden Planeten für nur eine Sekunde zu besuchen, würde übrigens rund 585 Milliarden Jahre beanspruchen.

foto: hello games

In 100 Stunden im Zentrum

Der Indie-Titel hat keine vorgegebene Handlung. SpielerInnen steht es völlig frei, was sie tun. Als übergeordnetes Ziel gilt es aber, die Mitte des Universums zu erreichen.

Dabei können Ressourcen gesammelt und verkauft werden, oder man benutzt sie um das Raumschiff zu erweitern. Der Handlungsspielraum ist allerdings begrenzt. Zerstört man beispielsweise willkürlich Planeten oder tötet andere Lebewesen, wird man von der Weltraumpolizei verfolgt und verliert möglicherweise den Spielstand. Laut vorangegangenen Berichten braucht man für das Erreichen der Mitte übrigens 40 bis 100 Spielstunden.

"No Man’s Sky" kann online und offline gespielt werden und wird für PC und PS4 erscheinen. Ein genauer Release-Termin ist noch nicht bekannt. (Linda Pfeifenberger, 30.8.2015)

Share if you care.