Formcodes
Overview
Formcodes sind die textuelle Darstellung von Formen in Shapez 2. Es sind kompakte Zeichenketten, die jede Ebene, jeden Teiltyp und jede Farbe einer Form kodieren, sodass Formen kopiert, eingefügt, zwischen Maschinen übertragen, in Baupläne gespeichert oder außerhalb des Spiels geteilt werden können. Formcodes listen Ebenen von unten nach oben auf, wobei jede Ebene durch einen Doppelpunkt (:) getrennt ist. Jeder Teil in einer Ebene wird durch zwei Zeichen dargestellt: das erste Zeichen ist der Code für den Teiltyp und das zweite das Farbzeichen. Teile in einer Ebene werden beginnend mit dem oberen rechten Quadranten im Uhrzeigersinn ohne Trennzeichen geschrieben.
Das Spiel unterstützt verschiedene Shapes-Konfigurationen, die festlegen, wie viele Teile sich in jeder Ebene befinden. Die Quad-Konfiguration verwendet 4 Teile pro Ebene (Standard), während die Hex-Konfiguration 6 Teile pro Ebene verwendet. Flexible Regeln erlauben es Formen, Teile aus jeder Konfiguration und beliebiger Teileanzahl pro Ebene zu enthalten (sofern alle Ebenen dieselbe Teileanzahl haben), während das Strict-Regelset verlangt, dass Formen zur Konfiguration und Teileanzahl des aktuellen Scenario passen. Formcodes selbst erzwingen kein Regelset; die Validierung eines Shape Code-Eingangs erfolgt bei Bedarf gegen das aktive Regelset.
Teiltyp- und Farbzeichen stammen aus den im Spiel verwendeten Codetabellen. Teiltypcodes enthalten Einträge wie C (circle), R (square), S (star), W (diamond), X/Y (refined/exotic shapes), H/F/G (hex-specific types), P (pin), c (crystal) und - (empty). Farbzeichen umfassen u (uncolored), r (red), g (green), b (blue), c (cyan), m (magenta), y (yellow), w (white) und k (black). Für Teiltypen, die keine Farbe haben können (zum Beispiel Pins oder leere Quadranten), ist das Farbzeichen -, sodass ein 
Formcodes werden in Beispielen für simulierte Geräte und Maschinenlogik verwendet. Zum Beispiel wird eine zweilagige Form mit einer unteren Ebene aus vier uncolored Kreisen und einer oberen Ebene aus vier uncolored Quadraten als CuCuCuCu:RuRuRuRu geschrieben. Einlagige Formen lassen den Doppelpunkt und die oberen Ebenen weg, z. B. kodiert CuCuCuCu eine einzelne Quad-Ebene aus uncolored Kreisen.
Praktische Hinweise und Einschränkungen:
- Beim Erstellen von Formen aus einem Shape Code können Ebenen vorhanden sein, die über das vom aktuellen Scenario erlaubte Maximum hinausgehen; diese zusätzlichen Ebenen bleiben bestehen, bis die Form durch eine Maschine läuft, die Shape Gravity Rules(Form-Gravitationsregeln) anwendet, woraufhin überschüssige Ebenen entsprechend gelöscht werden.
- Die Reihenfolge innerhalb einer Ebene ist fest: oberes rechts, dann im Uhrzeigersinn. Dies beeinflusst Rotation und andere Operationen, die Teile nach Position manipulieren.
- Teile, die keine Farbe haben können, müssen - als Farbzeichen verwenden. Crystals behalten ihre Farbe nach der Erstellung und werden mit dem Crystaltpycode c gefolgt von einer Farbe kodiert.
- Die Formvalidierung hängt vom aktiven Regelset ab: das Strict-Regelset erzwingt die Konfiguration und Teileanzahl des Scenario, während das Flexible-Regelset unterschiedliche Konfigurationen zulässt, solange alle Ebenen dieselbe Teileanzahl haben.
- Die Zeichentabellen für Teiltypen und Farben sind die maßgebliche Quelle für gültige Zeichen, die in Shape Codes verwendet werden; ziehe diese Tabellen zu Rate, wenn du Codes konstruiert oder geparst wirst.