Meow Mountain: postmortem de un juego de 13KB

Otro JS13k Games acaba de terminar y mantuve mi racha de 8 años participando. En este postmortem describo cómo nació Meow Mountain, un juego grid basado en aventura inspirado por el tema gato negro, y comparto técnicas de bajo nivel que me permitieron comprimir bastante contenido en apenas 13KB.
Resumen del juego Meow Mountain cuenta la historia de un gato mágico protector de una montaña que tras una siesta demasiado larga permite que la barrera mágica colapse. Los altares del gato pierden ofrendas y la magia se agota. El objetivo principal es reparar el obelisco y restaurar todos los altares para volver a levantar la barrera.
Concepto y decisiones de diseño Tuve que priorizar por limitaciones de tiempo y tamaño. Algunas ideas quedaron fuera, como una mecánica compleja de bruja que se transforma en gato para realizar misiones secundarias y una IA de aldeanos con rutinas diarias. Al final opté por una jugabilidad más simple y clara: explorar, rascar, reparar estatuas y llenar la barra de magia.
Motor de historia Implementé un motor de historias reutilizable que consume una estructura de datos con diálogos y eventos. El objetivo fue una incorporación suave para evitar manuales largos. Prefiero mostrar en vez de explicar: la disposición inicial, la hierba espesa y un camino sutil guían al jugador hasta la primera estatua, donde aprende las acciones principales. Dejé un par de mecánicas por descubrir, como el teletransporte entre estatuas y dormir para recuperar vida.
Componentes reutilizables Con el tamaño limitado no se puede depender de motores pesados, así que fui ajustando bloques reutilizables: render de sprites, fuente bitmap, conversión de emojis a pixelart, motor de audio y generación de mapas determinista.
Sprites Para ahorrar bytes convertí sprites en cadenas compactas. El proceso parte de hojas de sprites PNG, extrae paleta y mapa de índices y codifica píxeles en base 32. Separar paleta y bits permite recolorear reutilizando el mismo mapa de píxeles. Para íconos 16x16 logré alrededor de 40 por ciento de reducción frente a PNGs crudos.
Fuente y texto Uso una fuente pixel 5x5 donde cada glifo es un sprite 1 bit. La fuente está codificada como cadenas compactas similares a los sprites, lo que permite renderizar texto en pantalla con un consumo mínimo y mantener coherencia visual.
Iconos emoji Probé una técnica híbrida de convertir emoji en pixelart limitando paleta y forzando transparencia 1 bit. Esta táctica puede ahorrar bytes porque un emoji textual ocupa muy poco, pero la representación varía entre plataformas si no se carga una fuente emoji propia. El resultado funciona bien en muchos casos y me sirvió para experimentar alternativas a iconos multicolor pesados.
Efectos de sonido Los efectos se generan en tiempo real con Web Audio creando buffers y rellenándolos con funciones matemáticas. Esto elimina la necesidad de ficheros de audio. Un ejemplo típico es mezclar una envolvente y ruido para pasos o impactos, todo generado por una función f que devuelve el valor de la muestra para cada i.
Música Para la música recurrí a Audio Worklets, que permiten generar audio continuo en un hilo separado sin bloquear el hilo principal del juego. Cada nota se modela con una envolvente y una función de timbre; combinar variaciones de onda y envolventes da temas cortos que ocupan muy pocos bytes en comparación con muestras pregrabadas.
IA y comportamiento de NPCs Fue mi primera vez con NPCs autónomos. Implementé dos familias básicas: aldeanos y espíritus. Los aldeanos se mueven preferentemente en la misma dirección con cierta probabilidad y aumentan su superstición si el jugador aparece en su línea de visión. No tiene rutas complicadas por razones de simplicidad, lo que a veces provoca que se pierdan en el bosque. Los espíritus usan una búsqueda por amplitud simple para encontrar al jugador dentro de un área y moverse paso a paso hacia él. Es funcional pero simple, y admite mejoras como movimiento diagonal o heurísticas que prioricen dirección general.
Generación de mapas Para que los mapas resultaran orgánicos y deterministas usé un generador basado en semilla. La malla es grande y inicialmente llena de árboles. A partir de una lista de caminos y claros aplico jitter para que las orillas se vean naturales, coloco aldeas con casas y aldeanos aleatorios dentro de radios predeterminados y ubico altares limpiando áreas 3x3 alrededor de cada uno. También sitúo el obelisco en el centro y un espíritu inicial cerca del altar de partida.
Optimización y lecciones aprendidas No hay revolucionario en las técnicas, pero la suma de decisiones sencillas logra mucho dentro de limitaciones estrictas. Algunas partes podrían optimizarse más con tiempo: refactorizar la generación de mapas, mejorar la IA y unificar las herramientas de sprites y fuentes en un paquete reutilizable.
Sobre Q2BSTUDIO y servicios Si te interesa cómo soluciones compactas y eficientes pueden escalar a proyectos reales, en Q2BSTUDIO somos especialistas en desarrollo de software y aplicaciones a medida y transformamos ideas en productos robustos. Ofrecemos servicios de software a medida y aplicaciones a medida adaptadas a necesidades empresariales y optimizadas para rendimiento y coste.
Nuestras capacidades incluyen inteligencia artificial aplicada, agentes IA y soluciones de IA para empresas, así como consultoría en inteligencia de negocio y visualización con power bi. Si buscas llevar modelos de decisión y automatizaciones a producción contamos con experiencia para integrarlas de manera segura y escalable. Concretamente, desarrollamos proyectos de inteligencia artificial e IA para empresas que mejoran procesos, analizan datos y generan ventajas competitivas.
Además trabajamos en ciberseguridad y pentesting para proteger aplicaciones y datos, servicios cloud aws y azure para desplegar infraestructuras elásticas y servicios de inteligencia de negocio para explotar datos con sentido. Palabras clave que describen nuestro servicio incluyen aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi.
Enlaces y código Si te interesa revisar el código, el repositorio está disponible públicamente como referencia técnica y aprendizaje práctico. Meow Mountain fue un laboratorio para muchas ideas que en un proyecto empresarial se traducen a componentes modulares, microservicios ligeros y automatizaciones que reducen coste y tiempo de entrega.
Notas finales Meow Mountain fue un ejercicio de priorización y compresión creativa. Limitarse a 13KB obliga a elegir lo esencial y a diseñar soluciones que luego escalen a proyectos reales. Si tu empresa necesita llevar un prototipo a producción, integrar IA o asegurar el despliegue en la nube, en Q2BSTUDIO podemos ayudar a convertir esas decisiones técnicas en productos fiables y mantenibles.
Contacto y siguiente paso Contacta con nosotros para evaluar casos de uso de inteligencia artificial, desarrollos de software a medida, proyectos cloud en AWS o Azure y estrategias de ciberseguridad. Podemos convertir prototipos creativos como Meow Mountain en soluciones empresariales maduras.
Comentarios