← Volver al devlog

Arte

El primer jefe: diecisiete versiones de un dragón de hielo

El Frost Wyrm es el primer jefe de Ascension con el repertorio completo: seis ataques, cada uno con su preparación y su recuperación. Entre la primera prueba y el vídeo hay diecisiete versiones, y la mayoría se cayeron por detalles que nadie debería notar.

El Frost Wyrm sobrevolando la arena de pruebas mientras su aliento gélido congela el suelo en un abanico por delante de él
El Frost Wyrm sobrevolando la arena de pruebas mientras su aliento gélido congela el suelo en un abanico por delante de él

Este es el primer jefe de Ascension con el repertorio entero animado. Seis ataques, cada uno con su preparación, su golpe y su recuperación:

Entre la primera prueba y ese vídeo hay diecisiete versiones. Casi ninguna se cayó por algo que se vea a primera vista.

Un dragón sin membrana

El Frost Wyrm estaba en el códex desde hace meses como una ficha: jefe, nivel cuarenta y cinco, dragón de hielo. Convertir una ficha en un bicho que se mueve empieza por mirarlo de cerca, y lo primero que vi al mirarlo de cerca fue que las alas no tenían interior.

Eran paneles de una sola cara, con las mismas escamas por los dos lados. Un ala de dragón no es eso: por fuera es piel y por dentro es membrana, y esa diferencia es la mitad de la silueta cuando el ala se abre.

La solución fue añadir una capa interior propia: mil trescientas veinticuatro caras invertidas, a dieciocho cienmilésimas de distancia de la cara exterior. Lo bastante cerca para que nunca se vea el hueco, lo bastante lejos para que no peleen entre ellas por el mismo píxel.

La primera versión de esa membrana sólo era azul, y se notaba. La segunda llevó pliegues radiales, venas ramificadas y variación de tono. Una membrana lisa no parece una membrana; parece una pegatina.

El esqueleto que no lo era

De cincuenta y siete mil cuatrocientos ochenta y tres vértices del modelo, cincuenta y siete mil ciento ochenta y nueve colgaban de un solo hueso.

Eso no es un esqueleto. Es un modelo con un palo dentro.

Así que lo hice de nuevo, desde cero y dentro de Blender: veintinueve huesos al principio, seis de ellos para las alas y cinco para la cola. Después treinta y uno, cuando las escápulas tuvieron que acompañar al paso. Treinta y dos, cuando hizo falta mandíbula para que mordiera. Y cuarenta en la versión que vuela, con catorce controles sólo en las alas: tres rayos de abanico y un pulgar por cada una.

Los colmillos los puse yo, uno a uno, comprobando que la raíz quedara dentro de la encía.

Las cosas que se caen

El paso quedó bien a la primera. Lo que no quedó bien fue todo lo demás, y prefiero contarlo porque es la parte honesta del oficio.

El sur parecía sureste. Las ocho cámaras estaban calibradas contra el frente que yo creía que tenía el modelo, y el frente real estaba veinte grados girado. Todas las direcciones salían corridas a la vez, que es justo el tipo de error que se ve y no se sabe nombrar.

Las patas traseras arrastraban la cola. Mil ciento doce vértices de la cola tenían peso de las patas de atrás, uno de ellos al noventa y ocho por ciento. La cola se movía porque el dragón andaba, no porque la moviera.

Un azul que no se iba. El exterior del ala seguía saliendo azulado aunque apagara la membrana. Estuve un buen rato persiguiendo la capa nueva antes de caer en que el azul estaba en la textura original del modelo. No era mi error reciente: era una suposición vieja que nunca comprobé.

El vuelo subía como una escalera. Lo rechacé. Un dragón no asciende a saltos: se impulsa, y lo que quería ver era que se sostuviera arriba como quien se pone de pie sobre las patas traseras. La versión buena inclina el torso cuarenta y cuatro grados, sube con tres impulsos encadenados y mantiene el cuello compensado para mirar al frente mientras el cuerpo se va.

El hielo sólo cae delante

Este es el detalle del que estoy más contento, y es invisible si funciona.

El aliento gélido del dragón, animado: carga, barrido y el hielo extendiéndose sólo por delante

El aliento gélido congela el suelo. La primera vez que funcionó, congelaba también lo que tenía detrás y debajo, porque el efecto crecía desde el centro de la escena en vez de desde la boca.

Si el jefe congela el suelo que pisas sin avisar, el ataque deja de ser un ataque y pasa a ser una trampa. Un jefe tiene que ser difícil de la manera en que una montaña es difícil: siempre igual, siempre legible.

Así que el hielo ahora sólo existe en el abanico de ciento treinta y dos grados que sale del hocico. Y la máscara va en la geometría, no en la cámara: eso quiere decir que puedes mirarlo desde cualquiera de las ocho direcciones y el suelo de detrás sigue limpio. Si la máscara fuera de cámara, el truco se rompería en cuanto giraras.

Ningún témpano se repite

El segundo ataque de suelo levanta las dos patas delanteras, las estrella contra las losas y lanza una hilera de cristales que avanza recta hacia delante:

La hilera de cristales de hielo avanzando en línea recta desde las patas del dragón

La primera versión usaba el mismo prisma repetido. Se veía ordenado y falso: el hielo real no crece en copias.

Son ochenta y nueve mallas distintas: doce picos principales con secciones de tres a seis caras, astillas laterales, fragmentos de base y sesenta esquirlas pequeñas. Alturas distintas, inclinaciones distintas, hombros irregulares. Ninguna repetida, y lo comprobé por hash.

Y la lluvia de témpanos —el otro casteo— no es una animación fija. Las nueve posiciones se sortean cada vez que el ataque se ejecuta, con una separación mínima entre ellas, dentro del límite de la arena y con el borde frontal respetado. Lo probé con diez mil sorteos distintos comprobando que ninguno rompiera esas tres reglas.

Un jefe que repite el mismo patrón de caída se aprende de memoria. Uno que sortea dentro de reglas conocidas se lee, que no es lo mismo.

La discusión del tamaño

Cuando el dragón entró en Godot con su pase de pixel art —sesenta y cuatro atlas, dos mil ochocientos veinticuatro cuadros, las ocho direcciones— pasó algo que no esperaba: se veía pequeño.

Y ahí empezó un baile de cuatro versiones. Lo puse a su tamaño nativo, un cuarenta y tres por ciento más grande. Entonces se perdió detalle, porque el mismo dibujo repartido en más píxeles no gana información: hubo que volver a renderizar más grande en origen, con el interior intacto y el contorno más suave. Después un cincuenta por ciento más. Y luego otro treinta.

El tamaño final es casi el doble del que parecía correcto al principio. Que un jefe se sienta grande no sale de la ficha ni de la barra de vida: sale de cuánta pantalla ocupa cuando lo tienes enfrente.

Por qué este vídeo no es el juego

El dragón ya pelea dentro de Godot. Tiene tres perfiles de dificultad, decide entre sus seis ataques según dónde estés, y la guardia, el parry y la esquiva de Leo funcionan contra él.

Y aun así, el vídeo de arriba no es una captura del juego. Es el montaje de las escenas originales, completas y a su velocidad real.

Hice primero la versión capturada del juego y la deseché. Los efectos dentro de Godot están simplificados respecto a los aprobados, y los tiempos venían recortados para que cupieran. Enseñar eso diciendo «así quedó el jefe» habría sido enseñar una versión peor de un trabajo que ya estaba bien.

Falta lo que falta: trasladar esos efectos y esos tiempos a Godot sin rebajarlos. Pero prefiero que el pendiente se vea en la lista y no en el vídeo.

← Volver al devlog