생물 팩 작성하기

생물 팩은 Game Mode가 싸우는 생물을 위한 그림입니다. 팩을 고르면 팩에 그림이 있는 적은 전투 보드에서 둥근 토큰 대신 그 그림으로 그려집니다. 그림은 적이 마지막으로 움직인 방향을 바라보며, 생물 자신의 크기로 그려집니다. 팩에 그림이 없는 적은 토큰을 그대로 사용합니다. 플레이 중 모습은 전술 전투와 지형을 참고하세요.

팩은 JSON 파일 하나(.creatures.json)입니다. 가장 쉽게 만드는 방법은 Pixelforge의 Creatures(생물) 탭입니다. Pixelforge는 생물마다 그림 한 장씩을 받아 파일을 만들어 주는 외부 도구입니다. 이 가이드에서는 다른 방법으로 팩을 만드는 분을 위해 파일 자체를 설명합니다.

팩 사용하기

시작하기 전에 .creatures.json 파일을 만들거나 다운로드하세요. Pixelforge는 Marinara에 포함되지 않은 별도의 제작 앱입니다.

  1. Pixelforge에서 Creatures 탭을 여세요.
  2. 파일을 불러오려면 Import a creature pack file(생물 팩 파일 가져오기)을 선택하세요. Pixelforge에서 만든 팩이라면 Save to the library(라이브러리에 저장)를 선택하세요.
  3. Use for fights(전투에 사용)를 선택하세요.

팩 하나가 모든 전투를 그립니다. 다시 토큰으로 돌아가려면 선택한 팩을 제거하거나 Use tokens instead(대신 토큰 사용)를 선택하세요.

파일

{
  "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 }
      ]
    }
  ]
}
필드내용
creaturePackVersion1이며, 비행 그림이 있는 팩은 2입니다(Capability API 1.352).
id소문자, 숫자, _, -를 사용합니다. 라이브러리는 가져온 팩을 local/<id> 아래에 보관합니다.
name, author라이브러리에 표시됩니다. author는 선택 사항입니다.
version정수입니다. 한 번 쓴 버전은 다시 쓰지 않으므로 팩을 바꾸려면 버전을 올리세요. 같은 파일을 다시 가져오면 아무것도 바뀌지 않습니다.
tileSize한 칸의 픽셀 크기로, 16에서 96 사이의 16의 배수입니다. Game Mode의 격자는 48입니다.
sheets그림 최대 64장이며, 각 그림은 한 변이 최대 8192픽셀입니다.
creatures생물 최대 2000개입니다.
파일 크기최대 32 MB입니다.

시트

시트의 png는 PNG data URL이어야 합니다. data:image/png;base64, 뒤에 base64만 오고 다른 것은 없어야 합니다. 다른 곳의 이미지를 가리키는 링크는 거부되며, base64 뒤에 무엇이 붙어 있어도 거부됩니다. 그래서 팩은 언제나 자신의 그림만 보여 줄 수 있습니다. width와 height는 PNG의 실제 크기여야 합니다. Engine은 그림의 헤더에서 크기를 읽고, 시트에 적힌 크기가 다르면 팩을 거부합니다.

생물 항목

필드내용
id팩 안에서 쓰는 생물 ID이며 고유해야 합니다.
match그림을 적용할 대상으로, 1~16개 항목입니다. 항목은 규칙 집합 생물이나 이름이며, 두 종류를 나란히 쓸 수도 있습니다.
sizetiny, small, medium, large, huge, gargantuan 중 하나입니다. 보이는 모습에만 영향을 주며, 모든 유닛은 여전히 한 칸을 차지합니다.
w, h한 프레임의 크기를 칸 단위로 적으며, 각각 1~6입니다.
frames가만히 있는 생물은 1, 걷는 생물은 3(한 걸음, 서기, 한 걸음)입니다.
variants생물의 외형으로 1~8개이며, 각 외형은 시트에서 블록이 시작하는 위치입니다. sheet와 왼쪽 위 칸 x, y를 적습니다.
fly선택 사항이며 creaturePackVersion 2가 필요합니다. 비행 블록으로, 걷기 블록처럼 가로 세 프레임, 세로 네 방향으로 배치하며 위치는 variants와 같은 방식으로 지정합니다. 모든 외형이 함께 쓰는 하나를 두거나, 외형마다 같은 순서로 하나씩 둡니다.

비행

fly가 있는 생물은 전투에서 공중에 있는 것으로 표시되는 동안 비행 블록으로 그리며, 프레임을 0, 1, 2, 1 순서로 재생합니다. 다음 중 하나에 해당하면 공중에 있는 것으로 표시됩니다.

그 밖에는 이전처럼 외형 블록으로 그립니다.

생물 팩에 비행 그림이 있는 Experience 지도 팩에는 Capability API 1.352가 필요합니다.

match가 가리키는 대상

규칙 집합의 생물 도감에서 나온 전투원은 먼저 항목으로, 그다음 이름으로 찾습니다. 두 생물이 같은 대상과 일치하면 팩에서 먼저 나열된 생물이 우선합니다. Engine은 팩을 가져올 때 이 사실을 알려 줍니다.

크기

프레임은 칸 단위로 세며, 생물은 자기 칸의 아랫변 가운데에 서 있도록 그려지므로 큰 생물은 주변 칸까지 걸쳐 서 있습니다. 48픽셀 격자에서는 다음 크기가 잘 어울립니다.

생물프레임(w × h)
초소형 생물, 또는 네 발로 걷는 소형이나 중형 생물1×1
똑바로 서는 소형이나 중형 생물1×2
대형2×2, 똑바로 서는 생물(오우거, 골렘)은 2×3
거대형3×3, 똑바로 서는 생물(거인)은 3×4
초거대형4×4

블록: 행과 프레임

각 외형은 시트 위의 블록 하나입니다. 블록은 가로로 프레임 frames개, 세로로 4행이며, 각 프레임은 가로 w칸, 세로 h칸입니다. 각 행은 바라보는 방향이며 순서는 다음과 같습니다.

  1. 아래(보는 사람 쪽)
  2. 왼쪽
  3. 오른쪽
  4. 위(뒤에서 본 모습)

가만히 있는 생물(frames: 1)은 네 방향이 한 열로 놓입니다. 걷는 생물(frames: 3)은 일반적인 걷기 스프라이트 시트처럼 각 행에 한 걸음, 서기, 한 걸음이 가로로 놓입니다. 모든 블록은 시트 안에 완전히 들어가야 하며, 가장자리를 넘는 블록이 있으면 Engine이 어느 블록인지 알려 줍니다.

외형

외형이 여러 개(다른 옷, 색, 무기)인 생물은 그 생물로 나오는 전투원마다 외형을 하나씩 줍니다. 전투원은 그려질 때마다 같은 외형을 유지하며, 한 전투에 나온 고블린 둘이 서로 다르게 보일 수 있습니다. 한 생물의 외형은 모두 크기가 같습니다.

Pixelforge의 Creatures 탭에서 생물 옆의 Add looks(외형 추가)는 첫 그림과 같은 크기의 그림을 더 추가하며, 모두 합쳐 최대 8장까지 넣을 수 있습니다.