Una vista de tres cuartos en un lienzo plano

Hasta la versión 15.0, la nave en TUNL se dibujaba desde arriba mientras que la cueva a su alrededor era un corte lateral. Corregir eso significó un pequeño modelo 3D, una hitbox que la imagen no podía sobrepasar, y mucha contención sobre qué debía moverse.

Devlog · 20 de septiembre de 2026 · todas las entradas

El desajuste

La cueva de TUNL es un corte lateral. La gravedad tira hacia abajo, las estalactitas cuelgan del techo, y la aproximación al inicio de cada partida es un horizonte urbano al atardecer. La nave era lo único ahí dibujado directamente desde arriba, como un plano cenital de un avión volando a través de una imagen del costado de una montaña. Los jugadores no suelen expresarlo así, pero hace que la nave se sienta ligeramente pegada encima.

La corrección obvia, dibujar una simple vista lateral, habría desechado la silueta cenital por la que se reconoce a la nave, y la forma de la nave luce mejor vista desde arriba. El compromiso es una vista de tres cuartos: un modelo 3D del mismo casco, girado desde la vista cenital sobre su eje largo y proyectado plano.

Un renderizador diminuto

No hay biblioteca 3D en TUNL ni paso de compilación, así que el renderizador es pequeño. El casco ya existía como un conjunto de facetas planas, iluminadas desde arriba, con la mitad superior mezclada hacia el blanco y la mitad inferior hacia el casi negro. La versión 3D da a cada faceta una tercera coordenada, rota el modelo alrededor del eje largo, lo proyecta ortográficamente y rellena cada cara con el mismo estilo plano, iluminado desde arriba. Resulta en unas 90 caras visibles rellenadas por fotograma, frente a unos 40 rellenos para el casco plano. No hay desenfoque, lo cual importa porque el desenfoque es la llamada costosa en la vista web de un teléfono, y el resplandor es un único relleno radial. Si un dispositivo débil algún día tiene problemas, el corte obvio es cachear el casco por ángulo de alabeo en un lienzo fuera de pantalla.

La hitbox manda

La restricción más importante es que la colisión no cambia. La hitbox de la nave es un círculo, y toda la dificultad del juego se ajustó contra ella. Así que la imagen 3D no puede verse más grande que el círculo, ni tan más pequeña que la nave "muera" antes de que el ala toque visiblemente algo.

Eso convirtió el ángulo de alabeo en una medición en vez de una elección de gusto. Inclinada 45 grados fuera de la vista cenital, solo se lee el ala cercana, y la imagen cubre poco más de la mitad hasta unos cuatro quintos de la altura del círculo. A 90 grados es simplemente la vieja vista cenital otra vez. A 60 grados ambas alas se leen y la envergadura vuelve a alrededor del 85% del círculo. Construí un pequeño laboratorio con cinco vistas candidatas y una curva de cobertura, y elegí 60. Ahora una prueba comprueba que a cualquier alabeo y cualquier flecha de ala, el casco dibujado nunca sobrepasa el círculo ni nunca la nariz plana, y que sigue llenando una porción saludable del círculo mientras vuela.

Qué se mueve, y qué deliberadamente no

Una vez que la nave fue un objeto 3D, era tentador animarlo todo. La mayor parte de eso se recortó. Lo que sobrevivió tiene que llevar información:

Lo que no sobrevivió es un bamboleo libre. Una variante anterior donde la nave "se balanceaba después" de un movimiento se veía animada, y era ruido: en un juego cuya única habilidad es leer distancias, un casco que oscila por su cuenta compite con la información que necesitas. Es el mismo razonamiento que hizo eliminar un fondo con paralaje de siluetas de rocas lejanas el mismo día que se añadió. En un juego que consiste en leer dónde están las paredes, un segundo conjunto de formas moviéndose a distinta velocidad es una distracción, incluso a bajo contraste.

Pintura sobre un casco 3D

Los seis acabados de pintura de la nave se diseñaron para el casco plano, en coordenadas de planta. En vez de redibujarlos, usé un pequeño truco geométrico: a un alabeo dado, la superficie superior del casco se proyecta exactamente sobre la planta, aplastada verticalmente por el seno del ángulo de alabeo. Así que el pintor existente corre bajo ese aplastamiento y se recorta a la silueta 3D. Las dos cosas que no se pueden expresar así, las costuras de las facetas y el borde, se trazan en el espacio de pantalla.

Se necesitó una corrección para la versión 3D. El casco plano tiene siete facetas y el 3D tiene alrededor de noventa, y dibujar una costura brillante en cada una convertía el acabado STEALTH en una lámpara. Así que en 3D las costuras corren a media intensidad y se saltan las caras pequeñas, y cuando el casco está casi de canto a mitad de un tonel, el patrón se omite durante esos pocos fotogramas.

Lo que quedó plano

Solo la nave en vuelo recibió la nueva vista. El hangar, la tienda y la tarjeta para compartir todavía muestran la nave desde arriba, porque esos son retratos de una nave, no imágenes de un vuelo, y la vista cenital es la que muestra toda la planta. El icono de la app y los gráficos de la tienda también son retratos cenitales, y si algún día deberían seguir la vista en vuelo sigue siendo una pregunta abierta.

La imagen completa de cómo se construye y pinta la nave está en la página de naves, y puedes verla volar en la cueva de hoy.

Juega la cueva de hoy