Escribir paquetes de criaturas
Un paquete de criaturas es el arte de las criaturas contra las que se lucha en Game Mode. Cuando se elige un paquete, un enemigo para el que tiene arte se dibuja con ese arte en el tablero de batalla en lugar de con una ficha redonda. El arte mira hacia donde se movió el enemigo por última vez y se dibuja al tamaño propio de la criatura. Un enemigo para el que el paquete no tiene arte conserva su ficha. Consulta Batallas tácticas y terreno para ver cómo se ve durante el juego.
Un paquete es un solo archivo JSON (.creatures.json). La forma más fácil de crear uno es la pestaña Creatures (Criaturas) de Pixelforge, una herramienta externa que construye el archivo a partir de una imagen por criatura. Esta guía describe el archivo en sí, para quien construya paquetes de otra forma.
Usar un paquete
Antes de empezar, crea o descarga un archivo .creatures.json. Pixelforge es una app de creación aparte y no forma parte de Marinara.
- Abre la pestaña Creatures de Pixelforge.
- Para cargar un archivo, elige Import a creature pack file (Importar un archivo de paquete de criaturas). Para un paquete que creaste en Pixelforge, elige Save to the library (Guardar en la biblioteca).
- Elige Use for fights (Usar en las peleas).
Un solo paquete dibuja todas las peleas. Para volver a las fichas, quita el paquete elegido o elige Use tokens instead (Usar fichas en su lugar).
El archivo
{
"creaturePackVersion": 1,
"id": "my-monsters",
"name": "My monsters",
"version": 1,
"author": "Robin",
"tileSize": 48,
"sheets": [{ "id": "s1", "png": "data:image/png;base64,iVBORw0KGgo...", "width": 2048, "height": 1536 }],
"creatures": [
{
"id": "goblin",
"match": ["5e-2014/creatures/goblin", "Goblin"],
"size": "small",
"w": 1,
"h": 2,
"frames": 1,
"variants": [
{ "sheet": "s1", "x": 0, "y": 0 },
{ "sheet": "s1", "x": 1, "y": 0 }
]
}
]
}| Campo | Qué es |
creaturePackVersion | 1, o 2 para un paquete con imágenes de vuelo (Capability API 1.352). |
id | Letras minúsculas, dígitos, _ y -. La biblioteca guarda un paquete importado como local/<id>. |
name, author | Se muestran en la biblioteca. author es opcional. |
version | Un número entero. Una versión nunca se reescribe: para cambiar un paquete, sube su versión. Volver a importar el mismo archivo no cambia nada. |
tileSize | Una celda en píxeles, un múltiplo de 16 entre 16 y 96. La cuadrícula de Game Mode es de 48. |
sheets | Hasta 64 imágenes, cada una de 8192 píxeles por lado como máximo. |
creatures | Hasta 2000 criaturas. |
| Tamaño del archivo | Como máximo 32 MB. |
Hojas
El png de una hoja debe ser una data URL de PNG: data:image/png;base64, seguido de base64 y nada más. Se rechaza un enlace a una imagen alojada en otro sitio, y también cualquier cosa después del base64. Así, un paquete solo puede mostrar sus propias imágenes. width y height deben ser el tamaño real del PNG; el motor los lee de la cabecera de la imagen y rechaza un paquete cuyas hojas indiquen otra cosa.
Una criatura
| Campo | Qué es |
id | El ID de la criatura en el paquete; debe ser único. |
match | Para qué es el arte, de 1 a 16 entradas. Una entrada es una criatura de un conjunto de reglas o un nombre, y los dos tipos pueden ir uno junto al otro. |
size | tiny, small, medium, large, huge o gargantuan. Solo afecta a cómo se ve; cada unidad sigue ocupando una casilla. |
w, h | El tamaño de un fotograma en celdas, de 1 a 6 cada uno. |
frames | 1 para una criatura quieta, 3 para una que camina (paso, de pie, paso). |
variants | Sus aspectos, de 1 a 8, cada uno con el lugar de la hoja donde empieza su bloque: sheet y la celda superior izquierda x, y. |
fly | Opcional, necesita creaturePackVersion 2: sus bloques de vuelo, con la estructura de un bloque de caminata (tres fotogramas de ancho y las cuatro orientaciones hacia abajo), colocados como variants. Uno para todos los aspectos, o uno por aspecto en el mismo orden. |
Vuelo
Una criatura con fly se dibuja desde su bloque de vuelo, con sus fotogramas reproducidos en el orden 0, 1, 2, 1, mientras se muestra en el aire en una pelea. Eso significa que cumple cualquiera de estas condiciones:
- tiene velocidad de vuelo y no tiene velocidad de caminata
- está flotando
- está en una posición por encima del suelo
- hizo un vuelo en este turno (un paso que solo permite su vuelo, como sobre el agua)
En los demás casos se dibuja desde su aspecto, como antes.
Un paquete de mapas de Experience cuyos paquetes de criaturas tengan imágenes de vuelo necesita Capability API 1.352.
Qué nombra match
- Una criatura de un conjunto de reglas:
<catalog>/<entry>(por ejemplocreatures/goblin) coincide con esa entrada del bestiario en cualquier conjunto de reglas.<ruleset>/<catalog>/<entry>(por ejemplo5e-2014/creatures/goblin) solo coincide con ella en ese conjunto de reglas. - Un nombre: coincide con un enemigo por su nombre. Se ignoran las mayúsculas y la puntuación, y también un número final, así que "Goblin 2" es un goblin.
Un combatiente del bestiario de un conjunto de reglas se busca primero por su entrada y luego por su nombre. Si dos criaturas coinciden con lo mismo, tiene prioridad la que aparece primero en el paquete; el motor lo indica al importar el paquete.
Tamaños
Los fotogramas se miden en celdas, y una criatura se dibuja de pie sobre el borde inferior de su casilla, centrada, así que una grande se extiende sobre las casillas de alrededor. Estos tamaños se ven bien en la cuadrícula de 48 píxeles:
| Criatura | Fotograma (w por h) |
| Diminuta, o una criatura pequeña o mediana de cuatro patas | 1 por 1 |
| Pequeña o mediana, erguida | 1 por 2 |
| Grande | 2 por 2, o 2 por 3 si está erguida (un ogro, un gólem) |
| Enorme | 3 por 3, o 3 por 4 si está erguida (un gigante) |
| Gargantuesca | 4 por 4 |
El bloque: filas y fotogramas
Cada aspecto es un bloque en su hoja. Un bloque tiene frames fotogramas de ancho y 4 filas de alto, y cada fotograma mide w por h celdas. Las filas son las orientaciones, en este orden:
- abajo (hacia quien mira)
- izquierda
- derecha
- arriba (vista de espaldas)
Una criatura quieta (frames: 1) es una columna con las cuatro orientaciones. Una que camina (frames: 3) tiene paso, de pie y paso a lo largo de cada fila, como en una hoja de sprites de caminata típica. Cada bloque debe quedar por completo dentro de su hoja; el motor nombra cualquiera que sobrepase el borde.
Aspectos
Una criatura con varios aspectos (otra ropa, otros colores u otras armas) le da uno a cada uno de sus combatientes. Un combatiente conserva el mismo aspecto cada vez que se dibuja, y dos goblins de una misma pelea pueden verse distintos. Todos los aspectos de una criatura tienen el mismo tamaño.
En la pestaña Creatures de Pixelforge, Add looks (Añadir aspectos), junto a una criatura, añade más imágenes del mismo tamaño que la primera, hasta ocho en total.