Ir al contenido
Ayotl

← Todas las notas

21 de octubre de 2026 · En Ayotl

La intro de la casa: una tortuga, una piedra y tres juegos

Los tres juegos de Ayotl arrancan ahora con la misma escena de seis segundos. Un módulo sin dependencias que cada juego alimenta con su lienzo y su audio, porque los tres dibujan y suenan distinto por dentro.

Los tres juegos comparten la estética (píxeles gordos, paleta de una consola de 1977, sonido de chip) pero no el código: uno dibuja en un lienzo de 320x180 con sus propias primitivas, otro en uno de 240x160 que después pasa por un filtro de monitor viejo, y el tercero acaba de nacer. Un módulo compartido tenía que pedir lo mínimo: un contexto 2D, un tamaño, y, si el juego ya abrió el audio, su AudioContext y el nodo donde conectar.

await introAyotl({ ctx, ancho, alto, audioCtx, destino, canvas });
La escena se centra en cualquier tamaño; un toque o una tecla la salta.

El detalle que manda es el audio. La intro va al puro arrancar, antes de cualquier título, y los navegadores no dejan sonar nada hasta el primer gesto del usuario: en la web se ve muda hasta que alguien toca (y ese toque, de paso, la salta); en las apps, donde la WebView deja abrir el audio al cargar, suena desde el primer cuadro. Las cinco notas de las letras (do, mi, sol, do, mi) se tocan con osciladores creados en ese momento, sobre el bus de efectos del juego, y por eso respetan su control de volumen.

Mientras la intro pinta, el bucle del juego tiene que callarse: cada uno tiene ahora un modo «intro» en el que no dibuja (uno de ellos sólo sigue copiando el lienzo interno al de salida, para que el filtro de monitor siga encendido). Al terminar, cada juego vuelve a donde estaba: al menú, o al título con su música. Hay tres copias del archivo, una por repositorio, con una nota arriba que dice que si se cambia una se cambian las tres. Para un archivo de ochenta líneas, un paquete habría sido más ceremonia que ayuda.

Todas las notas