Kartenstruktur
Die Kartenstruktur beschreibt die Aufteilung der Spielwelt in Standard-Einheiten: Kacheln und Chunks. Kacheln sind die Bausteine des Spiels, auf denen alle Entfernungs- und Flächenmessungen basieren. Chunks sind Blöcke von 32×32 Kacheln, die für verschiedene flächenbasierte Berechnungen verwendet werden.
Kachel
Eine Kachel ist ein Quadrat, das den kleinstmöglichen Ausschnitt der Spielwelt definiert. Die Karte ist auf einem Raster aus Kacheln aufgebaut. Die Kachel ist die Basis für alle Flächen- und Entfernungsmessungen. Die Größe von Objekten wird in Form von Kacheln definiert; zum Beispiel ist das Raketensilo - die größte Einheit im Spiel - 9 Kacheln breit und 9 Kacheln hoch, was üblicherweise als 9×9 bezeichnet wird. Die kleinstmögliche Objekt-Größe ist also eine Kachel, 1×1. Beispiele für 1×1-Objekte sind Fließbänder und Kisten.
Die maximale Größe der Karte ist ein Quadrat mit 2 Millionen Kacheln auf jeder Seite, insgesamt also 4 Billionen Kacheln. In der Praxis wird die Karte in einem durchschnittlichen Spiel wahrscheinlich im Bereich von Hunderttausenden bis maximal ein paar Millionen Kacheln liegen.
Ausrichtung des Kachelrasters
Fast alle platzierbaren Objekte werden beim Platzieren im Spiel am Kachelraster ausgerichtet. Ausnahmen sind die Landmine und Fahrzeuge wie das Auto, der Panzer, die Lokomotive und der Waggon. Zu den nicht platzierbaren Objekten, die sich nicht am Raster ausrichten, gehören Feinde, Bäume und Landschaftsobjekte.
Beispielabstände
- Vom Radar abgedeckter Bereich: etwa 100 Kacheln Durchmesser (100 Kacheln in jede Richtung, begrenzt auf den passenden Chunk).
- Ein Spieler benötigt etwa 1 Minute und 52 Sekunden, um ohne einen Geschwindigkeitsschub (z. B. durch ein Exoskelett) 1000 Kacheln zu laufen.
Größenanalogie zur realen Welt
Im Allgemeinen wird davon ausgegangen, dass eine Kachel einen Quadratmeter groß ist. Dieses Maß hat sich als technisch richtig erwiesen und kann im Spiel überprüft werden. Ein Test mit einem Auto zeigt, dass das Abdecken von 250 Kacheln bei 208,0 km/h (57,777 m/s) 260 Spielticks (4,333 s) benötigt. Mit diesen Daten kann bewiesen werden, dass 57,777 m/s ÷ (250 Kacheln / 4,333 s) ≈ 1 m/Kachel
.
Chunk
Ein Chunk ist eine Einheit, die entweder als ein 32×32 Kacheln großer Bereich der Karte (mit insgesamt 1024 Kacheln) oder eine Strecke von 32 Kacheln definiert ist.
Chunks werden verwendet für:
- Kartenerstellung. Wenn sich der Spieler bewegt, ein Radar die Karte über Sektoren erkundet oder Artilleriegranaten über große Entfernungen abgefeuert werden, wird die Karte in Chunks aufgedeckt.
- Chunks werden "abgeschaltet", um CPU-Zyklen zu sparen. Wenn in einem Chunk nichts wichtiges passiert (z.B. hat sich außer Fisch nichts bewegt), wird der Chunk im nächsten Tick nicht berechnet.
- Die Modellierung der Umweltverschmutzung basiert auf Chunks, und Verschmutzung breitet sich auf benachbarte Chunks aus.
- Die Ausbreitung von Gegnern wird pro Chunk ausgewertet. Das Spiel scannt die Karte Chunk für Chunk, um zu entscheiden, ob jeder Chunk ein gültiges Ausbreitungsziel ist. Gültige Chunks werden als "Kandidaten-Chunks" bezeichnet und erhalten eine Punktzahl von 0 bis 1,0, die ihre relative Eignung angibt. Ein Chunk wird dann nach dem Zufallsprinzip mit einem gewichteten Würfelwurf ausgewählt, so dass Chunks mit höherer Punktzahl häufiger ausgewählt werden.
Visualisierung von Kacheln und Chunks im Spiel
Es ist ein Overlay verfügbar, das das Raster zeigt, auf dem die Karte aufgebaut ist:
- Das Raster kann immer dann angezeigt werden, wenn der Spieler das Spiel pausiert (standardmäßig mit Shift-Space).
- Dies wird unter Einstellungen->Benutzeroberfläche->Raster anzeigen, wenn das Spiel pausiert ist konfiguriert.
- Um das Raster zu sehen, während das Spiel noch läuft, kann der Debug-Modus verwendet werden:
- Durch Drücken von F4 wird das Fenster Debug-Einstellungen angezeigt.
- Ein Häkchen bei show-tile-grid unter immer zeigt das Raster immer an; ein Häkchen bei debug zeigt es nur, wenn der Debug-Modus aktiviert ist.
- Wenn debug ausgewählt ist, wird das Raster immer dann sichtbar, wenn F5 verwendet wird, um die Debug-Anzeige zu aktivieren. Wenn man den Debug-Modus auf diese Weise konfiguriert, kann F5 als bequemer Umschalter zum Ein- und Ausschalten des Rasters verwendet werden, was nützlich sein kann, wenn man versucht, Objekte in einem geordneten oder symmetrischen Design zu platzieren.