208 lines
9.7 KiB
Markdown
208 lines
9.7 KiB
Markdown
|
|
# Theriapolis — Tactical Tile Art Request
|
|||
|
|
|
|||
|
|
This document lists every tactical-scale sprite the engine needs. Tiles are
|
|||
|
|
streamed in-game from a chunked tactical map; placeholder squares stand in for
|
|||
|
|
each tile until you provide the real art.
|
|||
|
|
|
|||
|
|
> **Roadmap note (post-Phase-4 Wang autotiling).** The current renderer uses
|
|||
|
|
> per-tile sprites with a soft *colour-blend* edge softening between dissimilar
|
|||
|
|
> surfaces ("Option B" — see [TacticalRenderer.cs](Theriapolis.Game/Rendering/TacticalRenderer.cs)).
|
|||
|
|
> When the final art set is ready, we plan to upgrade to *full Wang
|
|||
|
|
> corner-based autotiling* ("Option C") using Pixellab's `create_topdown_tileset`
|
|||
|
|
> tool, which produces a 16-tile transition set per terrain pair. At that
|
|||
|
|
> point each terrain *pair* (grass↔dirt, grass↔water, sand↔shallowwater, etc.)
|
|||
|
|
> will need its own 16-tile transition strip, and the per-tile sprites listed
|
|||
|
|
> below become the *base* references the transition tiles blend out to.
|
|||
|
|
> No action needed from artists for that yet — flagged here so the plan isn't
|
|||
|
|
> lost between phases.
|
|||
|
|
|
|||
|
|
## Specifications
|
|||
|
|
|
|||
|
|
- **Resolution:** 32×32 pixels per tile, exactly. The renderer scales each
|
|||
|
|
sprite to one in-engine "world pixel"; at the camera's tactical zoom
|
|||
|
|
threshold the sprite displays 1:1, and it upscales (with crisp pixel-art
|
|||
|
|
filtering) up to ~3.1× at maximum zoom.
|
|||
|
|
- **Format:** PNG, 32-bit RGBA.
|
|||
|
|
- **Surface tiles:** opaque. They tile horizontally and vertically against
|
|||
|
|
copies of themselves; please design seamlessly so adjacent tiles don't show
|
|||
|
|
visible joins.
|
|||
|
|
- **Decoration tiles:** transparent background. They composite on top of the
|
|||
|
|
underlying surface tile, so anything outside the actual prop should be
|
|||
|
|
transparent (alpha 0).
|
|||
|
|
- **Variants (optional):** if you provide multiple variants for a tile, name
|
|||
|
|
them `<tile>_0.png`, `<tile>_1.png`, … `<tile>_N.png` (zero-indexed). The
|
|||
|
|
engine picks one per cell from a deterministic per-tile RNG, so the same
|
|||
|
|
cell always shows the same variant. If you supply a single `<tile>.png`
|
|||
|
|
with no suffix, every cell uses it.
|
|||
|
|
- **Style:** chunky, painterly pixel-art is the target. Saturated but earthy
|
|||
|
|
colors. No outlines on surface tiles; soft outlines OK on decorations.
|
|||
|
|
- **Lighting:** assume a top-down view with diffuse overhead light (no strong
|
|||
|
|
directional shadow). Decorations may cast a small drop shadow that fades
|
|||
|
|
into transparency.
|
|||
|
|
|
|||
|
|
## Directory layout
|
|||
|
|
|
|||
|
|
Drop the finished files into the project at:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Content/Gfx/tactical/
|
|||
|
|
surface/
|
|||
|
|
grass.png
|
|||
|
|
grass_0.png grass_1.png ... (optional variants)
|
|||
|
|
dirt.png
|
|||
|
|
...
|
|||
|
|
deco/
|
|||
|
|
tree.png
|
|||
|
|
tree_0.png tree_1.png ... (optional variants)
|
|||
|
|
bush.png
|
|||
|
|
...
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Filenames are lowercase and exactly match the names below.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Surface tiles
|
|||
|
|
|
|||
|
|
Each surface fills an entire 32×32 tile. Decorations and props are NOT part of
|
|||
|
|
the surface tile — those are separate, listed under **Decorations** further
|
|||
|
|
down.
|
|||
|
|
|
|||
|
|
### Grasslands & light vegetation
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| `grass.png` | Short, healthy meadow grass — the default ground for temperate plains. Mixed greens with subtle blade detail; should feel like trampled, well-grown turf. |
|
|||
|
|
| `tallgrass.png` | Knee-high grasses and wild herbs, denser and slightly taller than `grass`. Still walkable but visibly thicker; muted yellow-green tones suit late-summer scrub. |
|
|||
|
|
| `dirt.png` | Bare earth, packed and a little dry. Used for trails, worn ground around settlements, and exposed soil at biome edges. |
|
|||
|
|
|
|||
|
|
### Forest floor
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| (forest floors reuse `grass.png` and `dirt.png`) | Forest interiors are a mix of these two surfaces with `tree`/`bush` decorations on top — no separate forest-floor surface needed. |
|
|||
|
|
|
|||
|
|
### Mountains, hills, rocky terrain
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| `rock.png` | Exposed bedrock, weathered grey with cracks and faint moss in the seams. The default surface for alpine and cliff biomes. |
|
|||
|
|
| `gravel.png` | Loose, small stones mixed with grit. Used for footpaths, dry creek beds, and rocky scree slopes. |
|
|||
|
|
|
|||
|
|
### Wetlands & water-edge
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| `marsh.png` | Sodden, half-submerged ground threaded with reedy growth. Dark, mossy greens and standing-water highlights; the default for wetland biomes. |
|
|||
|
|
| `mud.png` | Wet, slick mud — the surface of mangrove flats, riverbanks after rain, and tidal pools when the tide is out. |
|
|||
|
|
| `shallowwater.png` | Wadeable water perhaps an inch or two deep. The bed should be visible through the water, with small ripple highlights on the surface. |
|
|||
|
|
| `deepwater.png` | Open water that the player cannot wade through. Solid blue with subtle wave patterns and no visible bed. Used for river centers, lakes, and the ocean. |
|
|||
|
|
|
|||
|
|
### Desert & dry biomes
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| `sand.png` | Fine, wind-rippled sand in pale tan — used for beaches, desert flats, and tidal flats below the high-tide line. The ripple pattern should tile cleanly. |
|
|||
|
|
|
|||
|
|
### Cold biomes
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| `snow.png` | Fresh, undisturbed snowpack with a faint blue cast in the shadows. The default for tundra and high-altitude alpine surfaces. |
|
|||
|
|
|
|||
|
|
### Built environment (settlements, roads, interiors)
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| `cobble.png` | Rounded paving stones set in mortar — the standard street and plaza surface for towns and cities. Worn smooth in the centers of stones. |
|
|||
|
|
| `floor.png` | Interior wood-plank floor for buildings. Simple straight planks with subtle grain; reads as "indoor" at a glance. |
|
|||
|
|
| `wall.png` | Building exterior wall, top-down view — looks like the top of a thick stone-and-mortar wall, not the side. Used as the perimeter outline of placeholder building footprints. |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Decorations
|
|||
|
|
|
|||
|
|
Decorations sit on top of a surface tile and have a transparent background.
|
|||
|
|
The engine renders them as a single 32×32 sprite centered in their cell.
|
|||
|
|
|
|||
|
|
### Vegetation
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| `tree.png` | Single mature tree seen from above — a roughly circular canopy of leaves with a hint of trunk visible through gaps. Color depends on biome but a generic temperate-deciduous green is fine for the base sprite. |
|
|||
|
|
| `bush.png` | A low, broad shrub — smaller and lower-canopy than a tree, walkable-but-slow. Reads as a clump of foliage when seen from above. |
|
|||
|
|
| `flower.png` | A small cluster of wildflowers — a few bright dots of color (pink/yellow/white) on green stems. Decorative only, no gameplay effect. |
|
|||
|
|
| `crop.png` | A patch of cultivated grain or vegetables, neat and orderly compared to wild grass. Used in farmland near settlements. |
|
|||
|
|
| `reed.png` | A tuft of tall water-edge reeds, vertical strokes of green and tan. Sits on `marsh` or `shallowwater` to suggest a riverbank or pond fringe. |
|
|||
|
|
| `snag.png` | A dead, broken tree stump or fallen log — weathered grey wood with no foliage. Adds character to forest edges and old burn scars. |
|
|||
|
|
|
|||
|
|
### Rocks
|
|||
|
|
|
|||
|
|
| Filename | Description |
|
|||
|
|
|---|---|
|
|||
|
|
| `rock.png` (deco) | A small loose stone or two scattered together — clearly walkable around or over. Distinct from the `rock` surface tile (which is bedrock filling the whole cell). Save this in `deco/rock.png` to disambiguate. |
|
|||
|
|
| `boulder.png` | A single large rounded boulder taking up most of the cell. Impassable; the player must walk around it. Add a soft drop shadow on the bottom-right. |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Variant guidance
|
|||
|
|
|
|||
|
|
You don't need to provide variants for everything, but they make the world
|
|||
|
|
look hand-crafted instead of stamped. Highest-impact places to add variants:
|
|||
|
|
|
|||
|
|
- **`grass_0` … `grass_3`** — even slight color shifts dramatically reduce
|
|||
|
|
the "wallpaper" effect in open meadows.
|
|||
|
|
- **`tallgrass_0` … `tallgrass_2`** — different blade angles and clumping.
|
|||
|
|
- **`dirt_0` … `dirt_2`** — patches of pebbles, faint cart-rut grooves, etc.
|
|||
|
|
- **`tree_0` … `tree_3`** — different canopy shapes/sizes; mix of broadleaf
|
|||
|
|
and conifer if you want.
|
|||
|
|
- **`flower_0` … `flower_2`** — different flower colors.
|
|||
|
|
|
|||
|
|
Anything else can be a single sprite for now.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Biome reference (which tiles show up where)
|
|||
|
|
|
|||
|
|
This is for context only — you don't need to author per-biome variants. The
|
|||
|
|
engine composites surfaces and decorations dynamically based on the biome of
|
|||
|
|
each underlying world tile.
|
|||
|
|
|
|||
|
|
| Biome | Primary surface | Common decorations |
|
|||
|
|
|---|---|---|
|
|||
|
|
| Temperate Grassland | `grass`, `tallgrass` | `bush`, `flower` |
|
|||
|
|
| Temperate Deciduous Forest | `grass`, `dirt` | `tree`, `bush`, occasional `snag` |
|
|||
|
|
| Boreal Forest | `dirt`, `grass` | `tree` (read as conifer in art) |
|
|||
|
|
| Subtropical Forest | `grass`, `tallgrass` | `tree`, `bush` |
|
|||
|
|
| Forest Edge | `grass` | `bush`, sparse `tree` |
|
|||
|
|
| Mountain Forested | `rock`, `dirt` | `tree`, `rock` (deco) |
|
|||
|
|
| Mountain Alpine | `rock`, `snow` | `boulder`, `rock` |
|
|||
|
|
| Foothills | `grass`, `rock` | `bush`, `rock` |
|
|||
|
|
| Cliff | `rock` | `boulder` |
|
|||
|
|
| Tundra | `snow`, `dirt` | `rock` (deco) |
|
|||
|
|
| Cold Desert | `sand`, `dirt` | `rock` |
|
|||
|
|
| Scrubland | `dirt`, `grass` | `bush`, `rock` |
|
|||
|
|
| Wetland | `marsh` | `reed` |
|
|||
|
|
| Marsh Edge | `mud`, `grass` | `reed` |
|
|||
|
|
| Mangrove | `mud`, `shallowwater` | `tree`, `reed` |
|
|||
|
|
| Tidal Flat | `mud` | (none) |
|
|||
|
|
| Beach | `sand` | (none) |
|
|||
|
|
| Coastal | `grass`, `sand` | `bush` |
|
|||
|
|
| River Valley | `grass` | `bush`, `reed` |
|
|||
|
|
| Settlements (any biome) | `cobble`, `dirt` | (none — buildings come later) |
|
|||
|
|
| Inside buildings | `floor` | (none) |
|
|||
|
|
| Settlement perimeter | `wall` | (none) |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Summary checklist
|
|||
|
|
|
|||
|
|
**Surfaces (14):** `grass`, `tallgrass`, `dirt`, `rock`, `gravel`, `marsh`,
|
|||
|
|
`mud`, `shallowwater`, `deepwater`, `sand`, `snow`, `cobble`, `floor`, `wall`
|
|||
|
|
|
|||
|
|
**Decorations (8):** `tree`, `bush`, `flower`, `crop`, `reed`, `snag`,
|
|||
|
|
`rock` (deco — note the duplicate name; this one goes in `deco/`), `boulder`
|
|||
|
|
|
|||
|
|
**Total minimum tiles:** 22 (one PNG per row above). Variants are bonuses on
|
|||
|
|
top of that.
|