MushRog

El yelmo cambia y el sprite cambia

12 de octubre de 2026 artearquitetura

Traducción automática, aún sin revisar.

Los rectángulos se volvieron personajes. El Mago tiene túnica morada y bastón, el Guerrero tiene armadura de placas, yelmo y espada larga, y apretar una tecla cambia el yelmo de acero por uno dorado sin recargar nada. Es la primera prueba del equipo visible, hecha con arte prestado del Liberated Pixel Cup.

Por qué

El mayor riesgo de arte de MushRog es que el equipo aparezca en el personaje pieza por pieza. Antes de que la artista dibujara una sola pieza, el juego tenía que probar que arma un personaje de capas, cambia una de ellas en tiempo real y anima todas juntas. El LPC tiene justo ese formato, así que lo usamos para probar la tubería, no para quedarnos con él.

Cómo funciona

Cada personaje es una receta: una lista de capas (sombra, cuerpo, pantalón, botas, torso, cabello, yelmo, arma) con orden de profundidad. Cambiar equipo es cambiar la imagen de una capa. Todas usan la misma cuadrícula de frames, así que una animación mueve cuerpo, ropa y arma en sincronía. Caminar, golpear, conjurar, estocar y recibir daño ya funcionan.

La cuadrícula (tamaño del frame, filas de cada animación, cantidad de frames) vive en un archivo de datos, y el código nunca asume 64 píxeles. Cuando la artista defina su estándar, cambiamos el archivo y la carpeta de sprites.

Un script copia solo las capas usadas del generador LPC, comprueba el tamaño de las hojas y regenera los créditos a partir de la hoja de autores del propio LPC. Los sprites prestados no entran al repositorio: quien clona el proyecto corre el script y tiene el prototipo igual, y lo que queda versionado es la receta.

El jefe se volvió un cuerpo musculoso del LPC a escala doble y teñido de naranja. Feo, pero sirve, porque lo que importa es que el mismo sistema vale para enemigos.

Cambio de fuente

Pasamos a usar el repositorio oficial del generador, que mantiene la organización del Liberated Pixel Cup. Cambió de formato: una imagen por animación, y colores por paleta en vez de un archivo por color. El script de exportación ahora compone cada capa en una sola hoja con el layout del juego, y las variantes de color quedan a cargo del shader. El Guerrero perdió la espada larga por ahora, ya que las armas grandes usan frames más grandes que 64 píxeles y el juego todavía no lo lee. Pelea con daga hasta que entre.

Color sin sprite nuevo

La misma tarde entró el recolor por shader: una capa puede tener matiz, saturación y brillo desplazados en la tarjeta de video. Cada color del sprite se convierte exactamente en otro color, así que el pixel art mantiene la misma cantidad de colores y no se borronea. La tecla H gira el color del cabello, y el jefe recibió el rojo de fuego por el mismo camino. La artista dibuja el cabello una vez y el juego entrega todos los colores.

Fase 0 cerrada

Con cambio, reacción, esquiva, equipo en capas y recolor funcionando, y el playtest interno diciendo “me gustó, siempre pierdo, quiero aprender”, la fase 0 cumplió lo que prometía. Lo que sigue: meter a cuatro personas en la misma sala.

Cambios

  • feat(client): layered paper-doll characters from LPC sprites

    PaperDoll node builds a character from a layer recipe (data/dolls.json) over a shared frame grid (data/sprite_spec.json) and animates walk, slash, thrust, spellcast and hurt across all layers. tools/lpc_export.py copies only the used sheets from a local LPC generator clone into the gitignored assets/lpc/ and regenerates CREDITS.md. E key swaps the warrior helmet as the live equipment test.

  • art: compose sprites from the official LiberatedPixelCup generator

    The upstream generator now ships one image per animation and recolors by palette. tools/lpc_export.py composes each layer into the game's single-sheet layout from data/sprite_spec.json; recipes point at layer folders; helmet variants come from the HSV shader. Warrior carries a dagger until oversize weapon frames are supported.

← Volver al devlog