đ¶ Vom Rauschen zur spielbaren Welt
vom 4. Oktober 2026
Darkwaar20 beginnt mit Rauschen.
Ein 7Ă9-Spielfeld enthĂ€lt anfangs weder GelĂ€nde noch Wege, noch Ziele und auch keine sinnvolle visuelle Struktur. Jede seiner 63 Zellen enthĂ€lt vier ganzzahlige KanĂ€le, die aus einem Startwert generiert werden. FĂŒnf Transformationen spĂ€ter beschreiben dieselben Ganzzahlen eine Welt aus Boden, Leere, Energie, einem Kern und einem Ausgang.
Die Transformation erfolgt nicht automatisch. Vor jedem Durchgang entscheidet der Spieler, wie sich das Rauschen ausbreiten soll. Die Generierung ist die erste Phase des Spiels. Das Erkunden des Ergebnisses ist die zweite.
Startwert
â
Rauschen
â
fĂŒnf Transformationen mit EinschrĂ€nkungen
â
GelÀnde
â
spielbare Welt
Derselbe Startwert bedeutet nicht dieselbe Welt.
derselbe Startwert
+
unterschiedliche EinschrÀnkungen
=
unterschiedliche Welt
Diese Aufteilung ist das gesamte Experiment. Das Rauschen ist festgelegt. Der Spieler legt die EinschrĂ€nkungen fest. Das Spielfeld hĂ€lt fest, was ĂŒbrig bleibt.
Mit Rauschen beginnen
Das Spielfeld besteht aus sieben Spalten und neun Zeilen. Dreiundsechzig Zellen. Vier KanÀle pro Zelle. Die KanÀle sind gewöhnliche ganze Zahlen, die aus einem expliziten Startwert erzeugt werden, sodass das Ausgangsfeld eine Variation darstellt, die exakt wiederhergestellt werden kann.
ZufĂ€lligkeit ist nĂŒtzlich, weil sie verhindert, dass jeder Durchlauf wie der letzte aussieht. Ein Startwert ist nĂŒtzlich, weil er diese Variation reproduzierbar macht. Zwei DurchlĂ€ufe können mit demselben Rauschen beginnen und weichen nur dort voneinander ab, wo der Spieler eine andere Bedingung wĂ€hlt. Ohne diese Unterscheidung wĂ€ren ein totes Spielfeld und ein spielbares Spielfeld nicht von einander zu unterscheidende ZufĂ€lle. Mit ihr lĂ€sst sich der Unterschied zuordnen.
Zufallsinput
ist der Startwert.
Einfluss des Spielers
ist die Abfolge der Bedingungen.
In Schritt Null sind die KanĂ€le noch unbearbeitet. Benachbarte Zellen stimmen nicht ĂŒberein. Nichts auf dem Spielfeld ist bisher âBodenâ oder âLeereâ, denn diese Begriffe sind eine Interpretation, die erst existiert, wenn der fĂŒnfte Durchlauf abgeschlossen ist. Was der Spieler sieht, ist das Rauschen selbst: vier Werte, dargestellt als unbestimmtes Feld.
âRauschunterdrĂŒckungâ ist in Darkwaar20 ein Begriff aus dem Spieldesign fĂŒr die folgenden DurchlĂ€ufe. Die Umsetzung erfolgt durch deterministische Ganzzahl-Arithmetik. Es gibt kein neuronales Netzwerk, kein trainiertes Modell und keine Inferenz zur Bilderzeugung. Das wesentliche Bild ist kleiner:
Rauschen
â wiederholte lokale Transformationen
â zunehmend stabile Struktur
FĂŒnf Wege, denselben Startwert zu formen
Jeder Durchlauf betrachtet nur das aktuelle Spielfeld. Eine Zelle trĂ€gt keine Historie darĂŒber, warum ihr Wert existiert. Sie enthĂ€lt vier Ganzzahlen. Der Durchlauf liest diese Ganzzahlen, liest die orthogonalen Nachbarn, wendet die ausgewĂ€hlte Bedingung an und schreibt das nĂ€chste Spielfeld. Dieses nĂ€chste Spielfeld ist die einzige Eingabe, die der folgende Durchlauf benötigt.
Zustand n
+
lokale Regel
=
Zustand n + 1
Die Grundregel ist fĂŒr jede Bedingung dieselbe. Man berechnet den Mittelwert der Zelle mit den vorhandenen orthogonalen Nachbarn und passt dann jeden Kanal an eines von vier Niveaus an:
value = average(cell, north, south, east, west)
value = snap(value, [0, 85, 170, 255])
Das Ausrichten ist der Schritt, der Struktur schafft. Ein Kanal, der irgendwo zwischen 0 und 255 liegen könnte, wird auf eine Stufe gezwungen. Zellen, die zuvor lediglich nahe beieinander lagen, werden identisch. Identische Nachbarn ĂŒberstehen den nĂ€chsten Mittelwertberechnungsdurchlauf leichter als ein verstreutes Feld. Wiederholt man diesen Durchlauf, verringern sich lokale Abweichungen. Regionen entstehen, weil PrĂ€zision entfernt wurde, nicht weil eine Form gezeichnet wurde.
Die ausgewĂ€hlte Bedingung bearbeitet diesen Mittelwert vor dem Ausrichten. LIFE, ORDER und VOID sind keine Bezeichnungen fĂŒr einen einzigen Algorithmus. Es handelt sich um drei verschiedene Bearbeitungsschritte.
LIFE erhöht den Mittelwert, und eine gestĂŒtzte Zelle wird stĂ€rker angehoben. UnterstĂŒtzung bedeutet einen orthogonalen Nachbarn, dessen Wert auf diesem Kanal innerhalb von 64 der Zelle liegt. Zwei oder mehr solcher Nachbarn addieren 48. Weniger als zwei addieren 16. Das Ergebnis wird begrenzt und angeglichen. Verbundene, Ă€hnliche Strukturen werden nach oben gedrĂŒckt. Eine isolierte Zelle verschiebt sich zwar immer noch, jedoch weniger stark, sodass sie bei einem spĂ€teren Durchgang leichter zurĂŒckgelassen werden kann.
âORDERâ verĂ€ndert den Durchschnitt selbst. Jeder Nachbar wird dreimal gezĂ€hlt, die Zelle einmal. Der Durchgang erfasst zudem, welches angepasste Niveau bei der Zelle und ihren Nachbarn auftritt. Wenn ein Niveau eine strenge Mehrheit bildet, setzt sich dieses Niveau sofort durch. Ist dies nicht der Fall, wird der gewichtete Durchschnitt wie ĂŒblich angepasst. Uneinigkeit innerhalb einer Nachbarschaft wird verworfen, sobald eine Stufe die ĂŒbrigen ĂŒberstimmen kann. KohĂ€rente Bereiche wachsen unter ORDER schneller als unter einem einfachen Durchschnitt, da die Nachbarschaft entscheiden darf.
VOID senkt den Durchschnitt. Bei weniger als zwei unterstĂŒtzenden Nachbarn werden 120 abgezogen. Zwei oder mehr ziehen 64 ab. Das Ergebnis wird auf Null begrenzt und angepasst. Schwache oder isolierte Strukturen werden in die unterste Stufe gedrĂ€ngt. Wiederholte VOID-DurchlĂ€ufe schneiden kein geplantes Loch aus. Sie lassen alles zusammenbrechen, was nicht bereits von seinen Nachbarn gestĂŒtzt wurde, bis niedrige Werte die Zelle bedecken und spĂ€ter als âvoidâ gelesen werden.
Keine dieser Regeln simuliert einen physikalischen Prozess. Es handelt sich um lokale ganzzahlige Bearbeitungen mit nachvollziehbaren Folgen: LIFE hĂ€lt gestĂŒtzte Strukturen stĂ€rker, ORDER gleicht Uneinigkeit aus, VOID löscht, was nicht gestĂŒtzt wird.
FĂŒnf DurchlĂ€ufe sind fĂŒnf Entscheidungen, keine fĂŒnf automatischen Iterationen.
bedingung
â ausgleichen
â prĂŒfen
Nach jedem âsettleâ ist das Spielfeld sichtbar. FrĂŒhe DurchlĂ€ufe sehen noch unruhig aus, aber es zeichnen sich bereits flache Bereiche ab. SpĂ€tere DurchlĂ€ufe zeigen gröĂere Regionen. Der Spieler beobachtet keinen Fortschrittsbalken. Der Spieler liest ein Teilergebnis und wĂ€hlt die nĂ€chste EinschrĂ€nkung unter BerĂŒcksichtigung dieses Ergebnisses aus. Die Welt wird nicht vor Spielbeginn generiert. Die Generierung der Welt ist die erste Phase des Spiels.
Ein sechster Durchlauf bewirkt nichts. Sobald fĂŒnf Bedingungen angewendet wurden, sind die KanĂ€le kein Rauschen mehr, sondern werden zum GelĂ€nde.
Zahlen in GelÀnde umwandeln
Der Generator erstellt keine zweite Karte. Er liest dieselben vier KanÀle, die er bisher umgeschrieben hat.
sum = a + b + c + d
sum <= 340 â VOID
sum >= 680 â ENERGY
ansonsten â GROUND
Die Schwellenwerte liegen auf den Rasterwerten. Vier KanĂ€le mit dem Wert 85 ergeben zusammen 340, was âLeereâ bedeutet. Vier KanĂ€le mit dem Wert 170 ergeben zusammen 680, was âEnergieâ bedeutet. Alles dazwischen ist âBodenâ. Die KontinuitĂ€t ist entscheidend:
Rauschwerte
â festgelegte Werte
â GelĂ€nde
Es gibt keinen separaten WĂŒrfelwurf, um WĂ€nde, Energie oder RĂ€ume zu platzieren. Das GelĂ€nde ist eine Ablesung des Feldes, das der Durchgang hinterlĂ€sst.
Dieses Feld muss noch zu einer Route werden. Der Kern ist die stĂ€rkste Zelle, die nicht âvoidâ ist. Ihre Punktzahl betrĂ€gt a + b + 2c: die ersten beiden KanĂ€le einmal, der dritte Kanal zweimal. Die höchste Punktzahl gewinnt. Bei Gleichstand entscheidet die kleinste Zeile, dann die kleinste Spalte. Der Ausgang wird ausschlieĂlich aus Boden-Zellen ausgewĂ€hlt, die vom Kern aus durch orthogonales Gehen ĂŒber Boden und Energie erreichbar sind. Unter diesen Zellen gewinnt diejenige mit der gröĂten Manhattan-Distanz zum Kern. Bei Gleichstand entscheidet die gröĂte Zeile, dann die gröĂte Spalte. Energie kann durchquert werden. Sie kann nicht der Ausgang sein. Der Kern selbst kommt nicht in Frage.
Es wird nichts nachtrĂ€glich platziert. Wenn nach den DurchlĂ€ufen keine nicht-leere Zelle ĂŒbrig bleibt, gibt es keinen Kern. Wenn keine Boden-Zelle erreichbar ist, gibt es keinen Ausgang. Die Topologie ist die Route.
Wenn die Generierung zum Spiel wird
Nach dem fĂŒnften Durchgang werden die Regeln eingeschrĂ€nkt. Der Spieler steht auf dem Kern. Die Bewegung erfolgt in einem orthogonalen Schritt. Boden, Energie und der Ausgang können betreten werden. Leere Zellen blockieren den Weg. Wer den Ausgang erreicht, gewinnt. Ein Spielfeld ohne erreichbaren Ausgang wird nicht repariert und nicht neu gewĂŒrfelt. Es endet mit âNO WAY OUTâ.
Die Erkundung ist einfach, da die Entscheidungen bereits getroffen wurden. Das Bewegen beantwortet eine einzige Frage: Haben diese fĂŒnf Transformationen eine lebensfĂ€hige Welt hinterlassen? Ein langer Weg ist kein zweites RĂ€tsel, das der Generierung ĂŒberlagert wird. Er ist die Konsequenz des Feldes, das die Generierung hervorgebracht hat.
Das Bild verfolgt denselben Prozess. Der erste Frame besteht aus reinem Rauschen. Die mittleren Bilder vermischen dieses Rauschen mit den Bereichen, die die Schwellenwerte bereits andeuten wĂŒrden. SpĂ€tere Bilder legen sich auf gröĂere Bereiche von Boden, Energie und Leere fest. Das letzte Bild zeigt die festgelegte Welt, in der der Kern und der Ausgang markiert sind. Die Zeichnung ist keine separate Illustration. Sie ist der Zustand, dargestellt mit weniger ganzzahligen Details, da der Zustand selbst immer stĂ€rker eingeschrĂ€nkt wird. Der Spieler kann den Verlust an Möglichkeiten verfolgen, ohne die KanĂ€le zu lesen.
Gleiches Rauschen, andere Welt
Der Startwert 20020 ist das geprĂŒfte Beispiel. Das Anfangsfeld ist in beiden DurchlĂ€ufen identisch. Nur die fĂŒnf Bedingungen Ă€ndern sich.
LIFE
ORDER
LIFE
VOID
ORDER
sperrt eine spielbare Welt. Der Kern ist (3, 0). Der Ausgang ist (6, 8). Das Spielfeld enthĂ€lt 6 LeerrĂ€ume, 54 Bodenfelder und 3 Energiefelder. Ein orthogonaler Weg vom Kern aus fĂŒhrt zum Ausgang.
AnschlieĂend wird der Startwert wiederhergestellt, wodurch das ursprĂŒngliche Rauschen, die Schrittanzahl und der leere Verlauf wiederhergestellt werden. Die zweite Sequenz lautet:
VOID
VOID
ORDER
VOID
LIFE
Jede der 63 Zellen ist leer. Es gibt keinen Kern, keinen Ausgang und keinen Pfad. Das Ergebnis lautet NO WAY OUT.
Startwert 20020 + Sequenz A = spielbare Welt
Startwert 20020 + Sequenz B = tote Welt
Die anfÀngliche ZufÀlligkeit hat das nicht entschieden. Die EinschrÀnkungen haben es entschieden.
Kleine Regeln, generierte Konsequenzen
In Schritt Null hat jede Zelle noch viele Zukunftsmöglichkeiten. Ein Kanal kann sich auf jede der vier Sprossen zubewegen, und es bleiben fĂŒnf Auswahlmöglichkeiten. Jeder Durchlauf entfernt einige dieser Zukunftsmöglichkeiten. LIFE verwendet einen Schritt darauf, die unterstĂŒtzten Werte hoch zu halten. ORDER verwendet einen Schritt darauf, eine lokale Mehrheit die Minderheit auslöschen zu lassen. VOID verwendet einen Schritt darauf, nicht unterstĂŒtzte Werte nach unten zu drĂŒcken. Bis zum Schritt fĂŒnf ist genug Unsicherheit verschwunden, sodass die Summen als GelĂ€nde gelesen werden können und das GelĂ€nde als Route interpretiert werden kann.
Das ist Generierung durch EinschrĂ€nkungen, nicht durch Platzierung. Die Implementierung legt niemals fest, wo eine Wand verlĂ€uft, wohin Energie flieĂt oder wo sich der Ausgang befindet. Sie schrĂ€nkt lediglich das Spielfeld ein. Der Ausgang erscheint dort, wo der verbleibende Boden am weitesten von der stĂ€rksten verbleibenden Zelle entfernt ist â unter den Zellen, die die Leere nicht abgeschnitten hat. Wenn die EinschrĂ€nkungen zu weit gehen, erscheint der Ausgang gar nicht.
viele mögliche Welten
â
EinschrÀnkung
â
weniger mögliche Welten
â
EinschrÀnkung
â
stabile Topologie
â
spielbare Welt
Der Mechanismus bleibt klein, weil das Spielfeld gleichzeitig der Speicher ist. Es gibt keinen Biom-Pass, keinen Raum-Pass, keinen Pfad-Pass, keinen Ressourcenplatzierer und keinen Reparaturschritt, der stillschweigend eine unzulĂ€ssige Karte korrigiert. Ein paar ganzzahlige Regeln, eine Nachbarschaft, eine Quantisierung, fĂŒnf Entscheidungen, zwei Schwellenwerte und eine deterministische Auswahl von Kern und Ausgang reichen aus, damit eine Topologie entsteht. KomplexitĂ€t entsteht hier durch die Wiederholung einer lokalen Regel, nicht durch einen Katalog von Systemen, von denen jedes eine bestimmte Art von Inhalt besitzt.
Das Scheitern gehört zu diesem Ergebnis. Viele Generatoren testen ein Level und versuchen es erneut, bis ein Pfad existiert. Darkwaar20 behĂ€lt das âtoteâ Spielfeld bei. WĂŒrde jede Sequenz zu einer begehbaren Karte repariert, wĂ€ren LEBEN, ORDNUNG und LEERE nur visuelle Vorlieben. âNO WAY OUTâ ist der Beweis dafĂŒr, dass dies nicht der Fall ist. Eine garantiert gĂŒltige Welt lieĂe sich reibungsloser fertigstellen. Ein erlaubtes Scheitern verleiht den fĂŒnf Bedingungen Bedeutung. Darkwaar20 wĂ€hlt die zweite Option.
Der Kompromiss wird anhand eines Startwerts sichtbar. Sequenz A hinterlĂ€sst einen Kern im oberen Bereich des Spielfelds und einen Ausgang in der hintersten Ecke, mit einer spĂ€rlichen Verteilung von Leere und Energie. Sequenz B, die aus denselben ganzen Zahlen entsteht, verwendet vier ihrer fĂŒnf Entscheidungen darauf, nicht unterstĂŒtzte Zellen nach unten zu ziehen, und endet mit einer Welt, die nicht begehbar ist. Gleiches Rauschen. Unterschiedliche kumulierte EinschrĂ€nkungen. Ein anderes Spiel, einschlieĂlich eines Spiels, das nicht gespielt werden kann.
Darkwaar20 spielen
Rauschen ist nicht die generierte Welt. Es ist der Raum der möglichen Welten. FĂŒnf Entscheidungen schrĂ€nken die Möglichkeiten ein, bis eine Welt ĂŒbrig bleibt. Darkwaar20 fordert den Spieler dann auf, die Konsequenzen zu durchlaufen.
Die Generierung ist Teil des Spiels, da der Spieler die Welt einschrÀnkt, bevor er sie spielen muss.
Darkwaar20 kann im Browser auf itch.io gespielt werden. Die Darkwaar20-Veröffentlichungsseite ist der Eintrag zum Spiel auf darkwaar.com.