Biomes A: import authored biome art into the pack #137

Closed
opened 2026-07-22 13:29:06 +02:00 by panda · 3 comments
Collaborator

Import the authored biome art into the committed pack assets.isoa. Design: docs/game-design/systems/biomes.md (parent #135).

Authoring prerequisite (blocker -- art side)

Source PNGs are currently RGB (no alpha) and 1254 px square. Before import: props re-exported RGBA with cut-out background (project forbids color-key), all downscaled (ground ~128-256, props to display size), ground variants seamless iso-tileable, blocking props drawn as grounded volume + contact shadow.

Scope

  • Place grounds under art/land/<biome>_1..4.png, props under art/static/<prop>.png; auto-discovered by OwnArt into the pack.
  • Extend the OwnArt anchor rule so fixture props (pine/boulder/cactus/volcanic-rocks) anchor bottom-centre (like static/tree*); land/grounds anchor centre.
  • Regenerate assets.isoa; keep the committed pack size sane.

Definition of Done (delta)

  • Pack contains the named entries (land/grassland_1..4, static/cactus, ...); props have a transparent background (no opaque square).
  • Committed assets.isoa stays under a sane size (state the number in the PR).
  • The game still loads and plays with the pack absent (placeholder fallback intact).
Import the authored biome art into the committed pack `assets.isoa`. Design: `docs/game-design/systems/biomes.md` (parent #135). ## Authoring prerequisite (blocker -- art side) Source PNGs are currently **RGB (no alpha)** and **1254 px square**. Before import: props re-exported **RGBA with cut-out background** (project forbids color-key), all **downscaled** (ground ~128-256, props to display size), ground variants **seamless iso-tileable**, blocking props drawn as grounded volume + contact shadow. ## Scope - Place grounds under `art/land/<biome>_1..4.png`, props under `art/static/<prop>.png`; auto-discovered by `OwnArt` into the pack. - Extend the `OwnArt` anchor rule so fixture props (pine/boulder/cactus/volcanic-rocks) anchor **bottom-centre** (like `static/tree*`); land/grounds anchor centre. - Regenerate `assets.isoa`; keep the committed pack size sane. ## Definition of Done (delta) - Pack contains the named entries (`land/grassland_1..4`, `static/cactus`, ...); props have a **transparent background** (no opaque square). - Committed `assets.isoa` stays under a sane size (state the number in the PR). - The game still loads and plays with the pack **absent** (placeholder fallback intact).
Owner

⏭️ Heads-up @andrea: #143 (full tiledata data-file) is being implemented now as the foundation for the #113 map editor (owner's call). It absorbs TerrainInfo + BiomeVisuals + StaticCatalog + the terrain legend into one content/tiledata.txt and replaces the TerrainType enum with string ids. This touches the #142 foundation this issue builds on — when you pick it up you'll rebase onto the new model (terrain = string id, flags/art/tint read from TileData). No ProtocolVersion change. Design + invariants recorded on #143.

⏭️ Heads-up @andrea: #143 (full tiledata data-file) is being implemented now as the foundation for the #113 map editor (owner's call). It **absorbs `TerrainInfo` + `BiomeVisuals` + `StaticCatalog` + the terrain legend into one `content/tiledata.txt`** and **replaces the `TerrainType` enum with string ids**. This touches the #142 foundation this issue builds on — when you pick it up you'll rebase onto the new model (terrain = string id, flags/art/tint read from `TileData`). No `ProtocolVersion` change. Design + invariants recorded on #143.
Owner

⏭️ Post-#143 note: biome art now flows through content/tiledata.txt — each terrain row names its landArt key (pack land/<landArt>_0) and its placeholder tint (RRGGBBAA). BiomeVisuals is deleted (LandKey/PlaceholderColor absorbed into TerrainDef). Importing art = drop land/<landArt>_*.png into the pack; when present it replaces the tint automatically. The ground now draws one authored tile per biome (no procedural variety).

⏭️ Post-#143 note: biome art now flows through **`content/tiledata.txt`** — each `terrain` row names its `landArt` key (pack `land/<landArt>_0`) and its placeholder `tint` (RRGGBBAA). `BiomeVisuals` is deleted (LandKey/PlaceholderColor absorbed into `TerrainDef`). Importing art = drop `land/<landArt>_*.png` into the pack; when present it replaces the tint automatically. The ground now draws **one authored tile per biome** (no procedural variety).
Owner

Completata: art dei biomi importata nel pack — ground variants land/<biome>_0..3 (PR #155, 7c00af9) e props/fixture scatterati (static/cactus, marsh_mushrooms, …) (PR #184, cdc1254), auto-discovered da OwnArt. Chiudo — completata.

Completata: art dei biomi importata nel pack — ground variants `land/<biome>_0..3` (**PR #155**, `7c00af9`) e props/fixture scatterati (`static/cactus`, `marsh_mushrooms`, …) (**PR #184**, `cdc1254`), auto-discovered da `OwnArt`. Chiudo — completata.
marco closed this issue 2026-07-25 19:06:19 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marco/IsoMmo#137
No description provided.