Describe the terrain autotile kind
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent
d2dbf02ba6
commit
430769cc03
2 files changed
+32
-4
No files matched your search
+1
-1
@@ -14,7 +14,7 @@ npm run build # writes dist/ and regenerates index.html
|
||||
./build.sh # the same under `set -o pipefail`, for callers that pipe the output
|
||||
php tools/make-user.php <name> <password> [admin|user] # an account; every tool signs in (see Accounts)
|
||||
php tests/php/accounts.test.php # the API's account rules, no server needed (CI's gate job)
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1363 editor checks, screenshots in /tmp/gm-e2e-*.png
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1367 editor checks, screenshots in /tmp/gm-e2e-*.png
|
||||
GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step
|
||||
./e2e.sh start [GM_STEPS] # the same run detached, see below
|
||||
./e2e.sh status # live progress, or the last run's result
|
||||
|
||||
+31
-3
@@ -5,15 +5,16 @@ same grass is used by several maps, the same way a texture is worn by several sp
|
||||
the asset was called *autotile*; a project still holding that type loses those assets on load
|
||||
(no migration, #137).
|
||||
|
||||
A tile is one of three **kinds**:
|
||||
A tile is one of four **kinds**:
|
||||
|
||||
| Kind | Block | Tiles it produces | What it does |
|
||||
|---|---|---|---|
|
||||
| **None (1 × 1)** | 1 tile | 1 | the picture as it is, repeated in every painted cell — the default |
|
||||
| **Floor (2 × 3)** | 2 tiles wide, 3 tall | 47 | an **autotile**: edges, convex corners and **notches** (inner corners) |
|
||||
| **Wall (2 × 2)** | 2 tiles wide, 2 tall | 16 | an **autotile**: edges and convex corners, no notches |
|
||||
| **Terrain (6 × 4)** | 6 tiles wide, 4 tall | 47 | an **autotile** in the layout of the common top-down sheets, see [below](#terrain) |
|
||||
|
||||
A plain tile (*None*) ignores its neighbours. The two autotile kinds draw their own edges: paint a
|
||||
A plain tile (*None*) ignores its neighbours. The autotile kinds draw their own edges: paint a
|
||||
patch of grass onto a map and the borders towards everything else — the rounded corners, the
|
||||
straight edges, the notch where two edges meet — are picked per cell from one hand-drawn **block**.
|
||||
|
||||
@@ -37,6 +38,33 @@ in the sheet. The borders behave normally, left on the left and top on top. The
|
||||
RPG Maker MZ (`Tilemap.FLOOR_AUTOTILE_TABLE`), and the tests check the editor against that table
|
||||
row by row.
|
||||
|
||||
### Terrain
|
||||
|
||||
The terrain block is the layout many top-down tilesets use for ground, cliffs or stone patches:
|
||||
|
||||
```
|
||||
column 0 1-3 4 | 5
|
||||
row 0 strip top top-left, top, top-right notch bottom right | notch bottom left
|
||||
row 1 strip mid left, inside, right notch top right | notch top left
|
||||
row 2 strip end bottom-left, bottom, ... notches TL + BR | notches TR + BL
|
||||
row 3 lone tile strip left, middle, right (unused)
|
||||
```
|
||||
|
||||
- **Columns 0-3** hold one whole tile for each of the 16 ways the four sides can join: the
|
||||
bordered 3x3, a vertical and a horizontal strip, and the lone tile.
|
||||
- **Columns 4-5** hold the notches. The 2x2 on top is a small hole seen from its four sides, so
|
||||
each of its tiles has one notch. Row 2 has the two diagonal pairs. The two tiles in row 3 are
|
||||
not used.
|
||||
- **A tile the sheet draws is taken whole.** A strip or a lone rock looks the way the artist drew
|
||||
it, even where it differs from the 3x3.
|
||||
- **The rest is composed**: an edge with a notch, or notches next to each other. It is the tile of
|
||||
its sides with the notch quarters put in. A notch also brings the quarter above or below it
|
||||
from the same notch tile, when that quarter would be plain inside. That is what keeps a cliff's
|
||||
notch whole: its wall reaches over the crossing into the quarter above. On flat ground that
|
||||
quarter is plain inside anyway, so nothing changes.
|
||||
- The inside is **not** turned by half a tile as in a floor block. The 3x3 is an ordinary
|
||||
nine-slice.
|
||||
|
||||
**The tile size comes from the picture**: the kind says how many tiles wide a block is, so a 96 px
|
||||
wide floor block means 48 px tiles and 24 px quarters, and a 48 px square picture is a 48 px plain
|
||||
tile. A plain tile only has to be square — an odd side is fine; an autotile block must split evenly
|
||||
@@ -54,7 +82,7 @@ asks for; a picture that does not fit is kept and named, never silently dropped.
|
||||
like any other picture — it has no frames, so it is always the whole canvas —, or
|
||||
[pixel art](Pixel-Art), whole or one of its frames. Cutting frames is
|
||||
the [Textures](Textures) tab, by hand or with **Slice…** where the sheet is a regular grid.
|
||||
- **Kind** — *None (1 × 1)*, *Floor (2 × 3)* or *Wall (2 × 2)*. Chosen, not guessed: a sheet whose rows alternate
|
||||
- **Kind** — *None (1 × 1)*, *Floor (2 × 3)*, *Wall (2 × 2)* or *Terrain (6 × 4)*. Chosen, not guessed: a sheet whose rows alternate
|
||||
between the two shapes (`Outside_A4` in RPG Maker) would be read wrong either way, and the choice
|
||||
is one click.
|
||||
- **Frames per second** and **Playback** (*Loop* or *Ping-pong*) — how the pictures run. One
|
||||
|
||||
Reference in new issue
Block a user