Eine Dreiviertelansicht auf einer flachen Leinwand

Bis Version 15.0 wurde das Schiff in TUNL von oben gezeichnet, während die Höhle drumherum ein seitlicher Querschnitt war. Das zu beheben bedeutete ein kleines 3D-Modell, eine Hitbox, die das Bild nicht überwachsen durfte, und viel Zurückhaltung dabei, was sich bewegen sollte.

Devlog · 20. September 2026 · alle Beiträge

Der Widerspruch

TUNLs Höhle ist ein Seitenquerschnitt. Schwerkraft zieht nach unten, Stalaktiten hängen von der Decke, und der Anflug zu Beginn jedes Laufs ist eine Dämmerungs-Skyline. Das Schiff war das Einzige darin, das direkt von oben gezeichnet wurde, wie ein Grundriss eines fliegenden Flugzeugs durch ein Bild der Seite eines Berges. Spieler formulieren das normalerweise nicht so, aber es lässt das Schiff leicht aufgeklebt wirken.

Die naheliegende Lösung, eine reine Seitenansicht zu zeichnen, hätte die Draufsicht-Silhouette weggeworfen, an der das Schiff erkennbar ist, und die Form des Schiffs wirkt von oben am besten. Der Kompromiss ist eine Dreiviertelansicht: ein 3D-Modell desselben Rumpfs, aus der Draufsicht um seine Längsachse gedreht und flach projiziert.

Ein winziger Renderer

TUNL hat keine 3D-Bibliothek und keinen Build-Schritt, also ist der Renderer klein. Der Rumpf bestand bereits aus flachen Facetten, von oben beleuchtet, mit der oberen Hälfte zu Weiß und der unteren Hälfte zu fast Schwarz gemischt. Die 3D-Version gibt jeder Facette eine dritte Koordinate, dreht das Modell um die Längsachse, projiziert es orthografisch und füllt jede Fläche im selben flachen, von oben beleuchteten Stil. Das ergibt etwa 90 sichtbare Flächen pro Frame, verglichen mit etwa 40 Füllungen beim flachen Rumpf. Es gibt keine Unschärfe, was wichtig ist, weil Unschärfe der teure Aufruf in der Web-Ansicht eines Telefons ist, und das Leuchten ist eine einzige radiale Füllung. Sollte ein schwaches Gerät je Schwierigkeiten haben, ist der naheliegende Schnitt, den Rumpf pro Rollwinkel in einer Offscreen-Leinwand zu cachen.

Die Hitbox ist der Boss

Die wichtigste Einschränkung ist, dass sich die Kollision nicht ändert. Die Hitbox des Schiffs ist ein Kreis, und die gesamte Schwierigkeit des Spiels wurde darauf abgestimmt. Also darf das 3D-Bild nicht größer aussehen als der Kreis, und nicht so viel kleiner, dass das Schiff „stirbt“, bevor der Flügel sichtbar etwas berührt.

Das machte aus dem Rollwinkel eine Messung statt einer Geschmackssache. Bei 45 Grad aus der Draufsicht heraus geneigt liest sich nur der nahe Flügel, und das Bild deckt nur etwas mehr als die Hälfte bis etwa vier Fünftel der Kreishöhe ab. Bei 90 Grad ist es einfach wieder die alte Draufsicht. Bei 60 Grad lesen sich beide Flügel, und die Spannweite ist wieder bei rund 85% des Kreises. Ich baute ein kleines Labor mit fünf Kandidatenansichten und einer Abdeckungskurve und wählte 60. Ein Test prüft jetzt, dass der gezeichnete Rumpf bei jedem Rollwinkel und jeder Flügelpfeilung nie über den Kreis hinausreicht und nie über die flache Nase hinaus, und dass er im Flug immer noch einen gesunden Anteil des Kreises füllt.

Was sich bewegt, und was absichtlich nicht

Sobald das Schiff ein 3D-Objekt war, war es verlockend, alles zu animieren. Das meiste davon wurde gestrichen. Was übrig blieb, muss Information tragen:

Was nicht überlebt hat, ist ein frei schwingendes Wackeln. Eine frühere Variante, bei der das Schiff nach einer Bewegung „nachschwang“, sah lebendig aus und war Lärm: In einem Spiel, dessen einzige Fertigkeit das Ablesen von Abständen ist, konkurriert ein Rumpf, der um seiner selbst willen oszilliert, mit der Information, die du brauchst. Es ist dieselbe Überlegung, die dazu führte, dass ein Parallax-Hintergrund aus fernen Felssilhouetten am selben Tag wieder entfernt wurde, an dem er hinzugefügt wurde. In einem Spiel, bei dem es darum geht, zu lesen, wo die Wände sind, ist ein zweiter Satz von Formen, der sich mit anderer Geschwindigkeit bewegt, eine Ablenkung, selbst bei niedrigem Kontrast.

Lack auf einem 3D-Rumpf

Die sechs Lackierungen des Schiffs wurden für den flachen Rumpf in Planform-Koordinaten entworfen. Statt sie neu zu zeichnen, nutzte ich ein kleines Stück Geometrie: Bei einem gegebenen Rollwinkel projiziert sich die Oberseite des Rumpfs genau auf die Planform, vertikal gestaucht um den Sinus des Rollwinkels. So läuft der bestehende Maler unter dieser Stauchung und wird auf die 3D-Silhouette geclippt. Die zwei Dinge, die sich so nicht ausdrücken lassen, die Facettennähte und der Rand, werden im Bildschirmraum nachgezeichnet.

Eine Korrektur war für die 3D-Version nötig. Der flache Rumpf hat sieben Facetten und der 3D-Rumpf etwa neunzig, und eine helle Naht auf jeder einzelnen zu zeichnen, machte aus der STEALTH-Lackierung eine Lampe. Also laufen die Nähte in 3D mit halber Stärke und überspringen kleine Flächen, und wenn der Rumpf mitten in einer Fassrolle nahezu kantenständig ist, wird das Muster für diese wenigen Frames ausgelassen.

Was flach blieb

Nur das Schiff im Flug bekam die neue Ansicht. Hangar, Shop und Share-Karte zeigen das Schiff weiterhin von oben, weil das Porträts eines Schiffs sind, keine Bilder eines Flugs, und die Draufsicht ist die, die die ganze Planform zeigt. Das App-Icon und die Store-Grafiken sind ebenfalls Draufsicht-Porträts, und ob sie je der Flugansicht folgen sollten, ist eine offene Frage.

Das vollständige Bild davon, wie das Schiff gebaut und lackiert wird, ist auf der Schiffe-Seite, und du kannst es in der heutigen Höhle fliegen sehen.

Spiele die heutige Höhle