Widok w trzech czwartych na płaskim płótnie

Do wersji 15.0 statek w TUNL był rysowany z góry, podczas gdy jaskinia wokół niego była przekrojem bocznym. Naprawienie tego oznaczało mały model 3D, hitbox, którego obraz nie mógł przerosnąć, i dużo powściągliwości co do tego, co powinno się poruszać.

Devlog · 20 września 2026 · wszystkie wpisy

Niedopasowanie

Jaskinia TUNL to przekrój boczny. Grawitacja ciągnie w dół, stalaktyty zwisają z sufitu, a podejście na początku każdego przelotu to sylwetka miasta o zmierzchu. Statek był jedyną rzeczą w niej rysowaną bezpośrednio z góry, jak rzut z góry samolotu lecącego przez obraz zbocza góry. Gracze zwykle tego tak nie formułują, ale sprawia to, że statek wydaje się lekko doklejony.

Oczywista poprawka, narysowanie zwykłego widoku z boku, odrzuciłaby sylwetkę z góry, po której rozpoznaje się statek, a kształt statku wygląda najlepiej widziany z góry. Kompromisem jest widok w trzech czwartych: model 3D tego samego kadłuba, obrócony z widoku z góry wokół swojej długiej osi i rzutowany płasko.

Malutki renderer

W TUNL nie ma żadnej biblioteki 3D ani etapu budowania, więc renderer jest mały. Kadłub istniał już jako zestaw płaskich fasetek, oświetlonych z góry, z górną połową zmieszaną w kierunku bieli, a dolną w kierunku niemal czerni. Wersja 3D nadaje każdej fasetce trzecią współrzędną, obraca model wokół długiej osi, rzutuje go ortograficznie i wypełnia każdą ścianę w tym samym płaskim, oświetlonym z góry stylu. Daje to około 90 widocznych ścian wypełnianych na klatkę, w porównaniu z około 40 wypełnieniami dla płaskiego kadłuba. Nie ma rozmycia, co ma znaczenie, ponieważ rozmycie to kosztowne wywołanie w widoku webowym telefonu, a poświata to pojedyncze wypełnienie promieniste. Gdyby słabe urządzenie kiedykolwiek miało trudności, oczywistym cięciem jest buforowanie kadłuba według kąta przechylenia w płótnie poza ekranem.

Hitbox rządzi

Najważniejszym ograniczeniem jest to, że kolizja się nie zmienia. Hitbox statku to okrąg, a cała trudność gry została dostrojona względem niego. Więc obraz 3D nie może wyglądać na większy niż okrąg ani na tyle mniejszy, żeby statek "umierał" zanim skrzydło widocznie czegoś dotknie.

To zmieniło kąt przechylenia z wyboru gustu w pomiar. Nachylony o 45 stopni od widoku z góry, czytelne jest tylko bliższe skrzydło, a obraz obejmuje ledwie ponad połowę do około czterech piątych wysokości okręgu. Przy 90 stopniach to po prostu znów stary widok z góry. Przy 60 stopniach czytelne są oba skrzydła, a rozpiętość wraca do około 85% okręgu. Zbudowałem małe laboratorium z pięcioma kandydackimi widokami i krzywą pokrycia i wybrałem 60. Test teraz sprawdza, że przy dowolnym przechyleniu i dowolnym skosie skrzydeł narysowany kadłub nigdy nie wychodzi poza okrąg ani nigdy poza płaski dziób, i że nadal wypełnia zdrową część okręgu podczas lotu.

Co się porusza, a co celowo nie

Gdy tylko statek stał się obiektem 3D, kuszące było animowanie wszystkiego. Większość z tego wycięto. To, co przetrwało, musi nieść informację:

To, co nie przetrwało, to swobodne kołysanie. Wcześniejszy wariant, w którym statek "kołysał się po" ruchu, wyglądał żywo i był szumem: w grze, której jedyną umiejętnością jest odczytywanie odległości, kadłub oscylujący dla samego siebie konkuruje z informacją, której potrzebujesz. To ten sam tok rozumowania, który sprawił, że tło z paralaksą z odległych sylwetek skał zostało usunięte tego samego dnia, w którym je dodano. W grze polegającej na odczytywaniu, gdzie są ściany, drugi zestaw kształtów poruszających się z inną prędkością rozprasza uwagę, nawet przy niskim kontraście.

Malowanie na kadłubie 3D

Sześć wykończeń malarskich statku zaprojektowano dla płaskiego kadłuba, we współrzędnych rzutu. Zamiast rysować je od nowa, użyłem małej sztuczki geometrycznej: przy danym przechyleniu górna powierzchnia kadłuba rzutuje się dokładnie na rzut, ściśnięty pionowo przez sinus kąta przechylenia. Więc istniejący malarz działa pod tym ściśnięciem i jest przycięty do sylwetki 3D. Dwie rzeczy, których nie da się wyrazić w ten sposób, szwy fasetek i obrys, są rysowane w przestrzeni ekranu.

Dla wersji 3D potrzebna była jedna korekta. Płaski kadłub ma siedem fasetek, a wersja 3D ma ich około dziewięćdziesiąt, a rysowanie jasnego szwu na każdej z nich zamieniało wykończenie STEALTH w lampę. Więc w 3D szwy działają z połową mocy i pomijają małe ściany, a gdy kadłub jest niemal widoczny z krawędzi w środku beczki, wzór jest pomijany dla tych kilku klatek.

Co pozostało płaskie

Tylko statek w locie otrzymał nowy widok. Hangar, sklep i karta udostępniania nadal pokazują statek z góry, ponieważ są to portrety statku, a nie obrazy lotu, a widok z góry to ten, który pokazuje cały rzut. Ikona aplikacji i grafiki sklepowe również są portretami z góry, a to, czy powinny kiedyś podążać za widokiem w locie, pozostaje otwartym pytaniem.

Pełny obraz tego, jak statek jest zbudowany i malowany, znajduje się na stronie statków, a jego lot możesz zobaczyć w dzisiejszej jaskini.

Zagraj w dzisiejszą jaskinię