Hay una trampa muy habitual cuando empiezas un juego pequeño.
Piensas: “son cuatro enemigos, un personaje y un par de plataformas”. Todo cabe en un archivo. Todo parece sencillo. Y durante unas horas lo es.
Hasta que aparecen vidas, HUD, móvil, enemigos especiales, bosses, rankings, efectos, debug, nuevas mecánicas… y de repente el proyecto ya no es un juego. Es un ecosistema.
Con Antitropic Kids apareció algo curioso. Sin buscarlo demasiado, el proyecto empezó a parecerse más a una arquitectura de producto que a un experimento de Phaser.
Y eso cambia la forma de pensar.
La primera decisión importante fue separar responsabilidades de verdad. La interfaz dejó de vivir mezclada con la lógica del juego. La escena principal se ocupa de física, enemigos y mecánicas. La interfaz vive aparte. Las pantallas finales también. Incluso el modo debug tiene su propio espacio.
Pero lo interesante no fue dividirlas.
Fue impedir que se conocieran entre sí.
En lugar de que una escena metiera mano directamente en otra, todas empezaron a hablar mediante un pequeño EventBus. Un sistema absurdamente sencillo: alguien emite un evento y quien quiera escuchar, escucha.
No hay dependencia directa.
No hay «oye, entra aquí y cambia esta variable».
No hay cables cruzados.
Suena pequeño, pero en realidad es una de esas decisiones invisibles que marcan proyectos enteros.
Lo mismo pasó con algo aparentemente trivial: los controles móviles.
El movimiento ya funcionaba con teclado. La solución rápida habría sido meter condiciones por todas partes:
«si es móvil haz esto…»
«si es táctil ejecuta aquello…»
Y así empiezan muchos monstruos de código.
En vez de eso apareció un puente muy simple: una capa intermedia donde teclado y móvil escriben el mismo lenguaje. El jugador ya no sabe quién pulsa. Solo sabe que alguien quiere moverse.
Parece una tontería.
Pero pequeñas decisiones así evitan guerras futuras.
También ocurrió con los niveles.
El generador no sabe qué es Phaser.
No sabe pintar.
No sabe renderizar.
Solo recibe un número y responde:
«nivel 5 → estas plataformas, estos enemigos.»
Nada más.
Separar datos de representación parece exagerado cuando el proyecto mide unas pocas carpetas. Hasta que un día necesitas tocar dificultad, balancear el juego o probar cosas nuevas.
Y descubres que tocar una pieza no rompe las otras.
Quizá esa es la parte más curiosa.
Muchas veces pensamos que arquitectura significa añadir capas, complejidad y palabras enormes.
Pero en proyectos pequeños quizá arquitectura sea justo lo contrario.
Quitar acoplamiento.
Quitar dependencias.
Quitar ruido.
Porque un EventBus de treinta líneas puede darte más orden que un framework entero.
Y porque incluso un juego sobre física, criaturas de luz y entropía termina enseñando algo bastante humano:
el caos casi nunca aparece de golpe.
Empieza con pequeños atajos.
Y el orden también.
Empieza exactamente igual.
«Entender rápido lo importante en un mundo que cambia demasiado rápido.»
Apoya este blog
Si quieres apoyar el blog con una aportación.

Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.