wolkenscheinDevlog

Devlog · KW 32 2026 · 5. August 2026

Zehn Stufen Feuer

Eine Woche am Kampfspiel Steilgang: aus zwei Versuchen wird ein Spiel mit Halle und Türen, ein Felsen bringt endlich den Bewegungskatalog ins Spiel — und das Feuer, das aussah wie oranges Konfetti, geht durch zehn Stufen. Die billigste davon war die beste.

steilganggrafikgodotdevlog

Worum es geht

Steilgang ist das Kampfspiel des Vereins und zugleich ein Beweis: es lebt auf demselben Bewegungskatalog wie das Naturspiel Immertal — Klettern, Hangeln, Vault, Rutschen, Kriechen — und zeigt damit, dass die Naht zwischen zwei Spielen hält. Diese Woche ging es um drei Dinge, die aufeinander aufbauen: einen Grund zu kämpfen, einen Weg nach oben und Feuer, das nach Feuer aussieht.

Der Bogen stand quer

Zuerst eine Meldung aus dem Spielen: „bogenschiessen sieht noch nicht korrekt aus, bogen ist iwie verdreht”. Das stimmte, und zwar dreifach.

Ein Bogen ist flach: Wurfarme, Sehne, Griff und Pfeil liegen in einer Ebene, und diese Ebene enthält die Schussrichtung. In der Bogen-Szene lag die Sehne sechs Zentimeter seitlich neben dem Griff statt dahinter — die Ebene stand um neunzig Grad verdreht, und der Pfeil durchstieß sie. In der ersten Person war das nie aufgefallen: von dort sieht man den Bogen von der Seite, und flach oder hochkant ist derselbe Strich.

Dazu hing die Sehne an einer Zahl statt an der Hand. Sie wurde beim Spannen um einen festen Betrag nach hinten geschoben, die Armhaltung kam aus einer Tabelle — zwei Quellen für denselben Punkt driften garantiert auseinander. Gemessen lag die Ziehhand 1,12 m vom Nockpunkt entfernt: die Figur zog an Luft. Jetzt meldet der Spieler jeden Frame den Ort der Ziehhand, und die Sehne folgt ihr; im vollen Zug sind es 0,00 m.

Und der Zieharm hatte eine Achse zu wenig. Ohne die Innendrehung des Oberarms liegt die Ebene fest, in der der Ellbogen beugt — die Hand fährt an der Schulter vorbei nach oben statt zum Gesicht. Im Bild war das eine erhobene Faust neben dem Kopf. Dieselbe fehlende Achse war Monate zuvor schon einmal aufgefallen, beim Robben im Gras.

Zwei Versuche werden ein Spiel

Auf der Liste stand seit Wochen ein Satz, den kein Werkzeug beantworten kann: warum kämpft man eigentlich? Ein Wettlauf beantwortet ihn ohne eine Zeile Geschichte. Zwei Lager auf 22 Metern, je drei Heuballen. Wer zuerst die drei des anderen brennen hat, gewinnt.

Das Schöne daran: gebaut werden musste fast nichts. Der Brandpfeil war seit Monaten fertig verdrahtet, die Feuerschale ist die einzige Quelle, und sie steht im eigenen Lager. Daraus folgt die ganze Spannung von selbst, ohne Regelwerk: Feuer holen heißt zurückgehen und dem Gegner den Rücken zudrehen, schießen heißt vortreten. Löschen gibt es nicht.

Neu war ein Gegner, der dasselbe vorhat. Er erbt achtzig Prozent vom bestehenden Nahkämpfer — Körper, Gang, Trefferzonen, Sterben — und bekommt eine zweite Art zu wollen: Abstand halten. Er zielt gerechnet, nicht geraten: der Pfeil fällt, also löst er die Wurfparabel und gibt dem Bogenarm genau diese Erhöhung mit. Was man sieht, ist das, was fliegt.

Drei Fehler daran hat kein Auge gefunden, sondern der Prüfstand:

  • Die Mauer sperrte den eigenen Schützen ein. Eine durchgehende Mauer hält auch den auf, der dahinter steht — er hing 26 Sekunden an der Innenseite und schoss keinen Pfeil. Im Bild sah er aus, als würde er gleich losgehen.
  • Ein gefallener Spieler fror die Partie ein. Die Engine pausiert beim Tod den ganzen Baum; die Wette stand danach für immer auf „läuft”.
  • Der Schütze war schneller als der Prüfstand. Die Zählprüfungen maßen seine Treffer statt der gesetzten.

Danach kam der Rahmen: drei Spielarten, drei Türen, eine Halle als Startseite. Vorher erreichte man Arena und Brandwette nur, indem man in der Projektdatei die Hauptszene umstellte.

Ein Felsen, und was in den Händen ist

Dann eine Zahl, die unangenehm war: Klettern, Vault, Hangeln und Robben kommen im Übungsgelände dreißigmal vor — in beiden Spielarten null mal. Ein Projekt namens Steilgang, dessen Spiele auf platter Ebene stattfinden, hat seine eigentliche Frage offen: verdient man sich Höhe, oder ist sie nur ein besserer Platz?

Die gute Nachricht beim Nachsehen: Höhe ist Geometrie, keine Mechanik. Klettern, Kante und Mantling tasten mit Strahlen gegen beliebige Körper und fragen nur nach dem Winkel. Kein Marker, kein Layer. Der Felsen in der Feldmitte ist ein Quader — mehr nicht.

Was gefehlt hat, war eine Regel: Was in den Händen ist, kann nicht klettern. Vorher ging man mit gespanntem Bogen die Wand hoch, Höhe war gratis, und damit war die Frage tot. Jetzt ist die Waffe weg, solange geklettert wird, und sie kommt erst nach einer halben Sekunde zurück. Genau diese Sekunde ist das Fenster, in dem einen jemand erwischt.

Der Felsen steht in der Mitte, nicht in den Lagern. Ein Turm im eigenen Lager wäre ein Geschenk; in der Mitte kostet er, was er wert ist.

Zehn Stufen Feuer

Und dann das Feuer. Es war eingebaut, es trug ein Spiel — und es sah aus wie Konfetti. Gezählt in allen vier Feuern des Spiels: Farbverlauf , Größenkurve , Alpha-Ausblendung , Schatten . Ein Partikel wurde geboren, blieb von der ersten bis zur letzten Millisekunde dieselbe orange Kugel und verschwand dann schlagartig.

Eine Feuerschale im Dunkeln: gleichmäßig orange Kugeln steigen in einer Kette auf

Die Arbeit lief in zehn Stufen. Damit man sie vergleichen kann, entstehen die Bilder auf einer festen Bühne: gleicher Boden, gleiches Licht, gleiche vier Kameras, ein Ordner je Stufe. Ohne das vergleicht man hinterher Äpfel mit Kameras — ein neuer Blickwinkel sieht nach Fortschritt aus, auch wenn sich nichts geändert hat.

Stufe 1: die billigste war die beste

Ein Farbverlauf über die Lebenszeit (weißgelb → orange → dunkelrot → durchsichtig), eine Größenkurve, additives Mischen. Drei Ressourcendateien, keine Zeile Code.

Dieselbe Feuerschale: heller Kern unten, zum Rauchgang hin kühler werdend, oben verlöschend

Das ist der ganze Unterschied zwischen Konfetti und Feuer, und es ist der größte Gewinn je Stunde in der ganzen Liste. Wer stattdessen zuerst den Shader baut — Stufe 6 — wundert sich, warum es kaum hilft.

Stufe 2: ein Licht, das nicht flackert, ist eine Lampe

Drei Sinus mit unrunden Verhältnissen statt Zufall: langsam neigt sich die Flamme, mittel zieht die Luft, schnell knistern die Funken. Jedes Feuer bekommt seine eigene Phase — ohne das pulsiert die ganze Szene im Gleichtakt, und aus einem Lagerfeuer wird eine Diskothek.

Nachtaufnahme: zwei brennende Heuballen werfen warmes Licht und Schatten auf den Boden

Beim Einschalten der Schatten wurde das Nachtbild erst einmal schwarz: Hunderte Flammenpartikel vor einem Schatten werfenden Licht verdunkeln die halbe Szene. Und das Licht saß im Ballen und warf dessen eigenen Schatten als schwarzen Keil über den Boden — es gehört in die Flamme, nicht in den Brennstoff.

Stufe 4: die Strohpuppe ist aus Stroh

Die vielleicht wichtigste Stufe hat kein Galeriebild, weil sie keine Frage des Aussehens ist. Bis dahin erfüllte genau ein Ding im ganzen Spiel den Feuer-Vertrag: der Heuballen. Die Strohpuppe am Schießstand ist aus Stroh, die Zielscheiben sind aus Holz, und beide blieben unbeeindruckt, wenn ein Brandpfeil in ihnen steckte. Das ist die Art Lücke, die niemand meldet, weil sie aussieht wie eine Entscheidung.

Die brennende Strohpuppe am Schießstand, Flammen über dem Kopf

Jetzt gibt es ein Bauteil, das aus irgendetwas etwas Brennbares macht — und die Puppe stirbt an ihrem eigenen Brand.

Stufe 6 bis 10: Shader, Funken, Kohle, Hitze, Fläche

Die Flamme bekam einen Shader mit Rauschtextur: weicher Rand, zerfaserte Kanten statt harter Kreise.

Die Feuerschale mit weichen, zerfaserten Flammen statt runder Kugeln

Dann Funken, die wegfliegen und dort zünden, wo sie landen — damit wird Übergreifen emergent statt einer Zahl. Dann Kohle, die von der Trefferstelle nach außen wächst statt gleichmäßig dunkler zu werden, mit einem glühenden Saum an der Grenze.

Ein brennender Heuballen: Kohlering mit glühendem Rand, weicher Rauch, ein Funke daneben

Zuletzt Hitzeflimmern über der Flamme, ein Aufwind, der fliegende Pfeile anhebt, und Feuer als Fläche: ein Raster mit Brennstoff, in dem sich eine Front bildet und mit dem Wind wandert — mit einem gemeinsamen Partikelsystem statt neunhundert.

Was hängengeblieben ist

Die Frequenz einer Rauschtextur ist der Unterschied zwischen Wolke und Grieß. Bei einem Wert sind die Strukturen 35 Pixel groß; auf einem Partikel, der am Bildschirm 40 Pixel misst, wird daraus Rauschen im Wortsinn. Erst bei einem Viertel davon sieht man Zungen.

Und die Galerie hat zweimal gelogen. Ein ganzer Durchlauf legte vier bitgleiche Bilder ab — der Bildaufbau hing hinter der Kamerabewegung her, und gespeichert wurde jedes Mal derselbe Frame. Das ist die schlimmste Sorte Fehler für eine Bildreihe: sie sieht aus wie ein Ergebnis („nichts hat sich geändert”) und ist keines. Seitdem wird jedes Bild vor dem Abholen erzwungen gezeichnet.

Was offen bleibt

Zwei Dinge, die nicht schöngeschrieben werden:

Das Flammenfeld rechnet, aber zeigt sich nicht. Die Flächenausbreitung ist geprüft — 194 Zellen brennen, die Front zieht mit dem Wind, sie brennt aus —, aber die Partikel des gemeinsamen Emitters zeichnen noch nicht. Logik steht, Bild fehlt.

Der Schütze kann nicht klettern. Höhe ist damit asymmetrisch: der Mensch kommt hinauf, der Gegner nicht. Das ist bewusst so — erst wenn sich Höhe als Vorteil erweist, lohnt der Aufwand für einen kletternden Gegner. Ob sie das tut, kann kein Prüfstand sagen; dafür gibt es einen Schalter, der dasselbe Feld ohne Felsen baut. Beide Fassungen spielen und zählen, wer gewinnt — das bleibt Arbeit für einen Menschen.

Am Ende der Woche: 457 automatische Prüfungen über vierzehn Prüfstände, alle grün, und drei Spielarten hinter drei Türen.

← Alle Berichte