Cómo reconstruimos Gorillas para el navegador
Qué hace falta para traer un clásico de DOS de 1991 a la web moderna: un motor de lienzo sin dependencias, audio de osciladores, una página en seis idiomas y un multijugador que no necesita servidor.
Un remake puede ir por dos caminos: una pieza de museo que reproduce el original píxel a píxel, o una reconstrucción que se queda con lo que hacía funcionar el juego y deja ir el resto. Elegimos el segundo. Esto es lo que significó en la práctica.
Lienzo, no sprites
El original lo dibujaba todo con bloques de color. Mantuvimos la paleta — un skyline de neón de noche — pero dibujamos con Canvas 2D en vez de celdas de caracteres. La ciudad se genera nueva cada ronda a partir de una semilla, los gorilas se dibujan y se animan por procedimiento, y el plátano sigue el mismo tipo de parábola que calculaba el original, solo que ahora a sesenta fotogramas por segundo, con estela y con explosión completa.
Sin dependencias en tiempo de ejecución
El motor entero es JavaScript puro. No hay framework de juego, ni librería de física, ni librería de audio. El estruendo de la explosión no es un fichero de sonido: son unos cuantos osciladores que dan forma a lo que el original reproducía por el altavoz del PC, un homenaje que también se oye en la melodía de intro.
Una página, seis idiomas
El juego es una sola página, pero un buscador debe ver una página real por idioma, no una página que se traduce en el navegador. Así que el build escribe seis URLs — una por idioma — con los textos ya en el HTML, cada una con su título y sus enlaces hreflang a las otras cinco. Añadir un idioma es un fichero de traducción y una línea.
Multijugador sin sala de espera
La restricción más interesante fue jugar contra otra persona sin pedirle que se registre. La ciudad y el viento salen de una semilla; el árbol de cráteres se deduce de los tiros. Eso significa que una partida entera puede viajar en un código corto. Lo mandas y tu rival aterriza en tu ciudad exacta, en tu ronda exacta y con tu marcador.
Lo que mantuvimos
La sensación. Ángulo y potencia como dos mandos del mismo tiro. Un viento que castiga los tiros perezosos. Edificios que puedes perforar y usar como cobertura. La satisfacción tranquila de dejar caer un plátano por un hueco que hiciste tres turnos antes. Todo lo demás era nuestro para cambiarlo; esa parte no.