59 lines
3.7 KiB
Markdown
59 lines
3.7 KiB
Markdown
# The masters' claimed floors (high-res)
|
|
|
|
Generated on 2026-11-07 with fal.ai: `fal-ai/nano-banana-pro`, `aspect_ratio: 3:2`,
|
|
`resolution: 2K`, one image per master. Each sheet has six tiles in a 3x2 grid on magenta; tiles
|
|
1-5 are used (plain, engraving, cracks, chipped, broken; `HD_FLOORS` in `src/gfx.rs`, weighted
|
|
4:1:3:2:1 so plain tiles come most often).
|
|
|
|
The first version (`v1/`) had regular slabs with thick grout frames and looked too even; this
|
|
one asks for roughly hewn castle flagstones worn smooth by many feet.
|
|
|
|
Prompt template (`{floor}` per master):
|
|
|
|
```text
|
|
A texture sheet of six square floor tiles for a dark-fantasy dungeon strategy game, arranged in a grid of 3 columns and 2 rows, the tiles separated by thin flat pure magenta (#FF00FF) gaps, magenta also around the outside. Every tile is seen straight from above (orthographic top-down, no perspective), flat even lighting, no shadows, and fills its square completely. Every tile is a piece of the floor of an old medieval castle dungeon: irregular, roughly hewn flagstones of clearly different sizes and shapes (some large, some small, uneven outlines, slightly rounded chipped edges), laid with uneven mortar joints of varying width - not a regular grid. Centuries of feet have worn the stones smooth and polished: soft sheen on the walked-on surfaces, rounded worn edges, shallow dips. Along the four edges of every tile runs a mortar joint as thin and irregular as the ones inside, so the tiles fit together in any arrangement without a visible grid. All six tiles use the same stone, colours and style: {floor} The six tiles differ: tile 1 plain worn stones; tile 2 with a carved engraving on one large stone, worn half smooth; tile 3 with hairline cracks; tile 4 with a chipped stone corner and missing splinters; tile 5 with a broken flagstone, cracked through, a piece sunk and loose rubble; tile 6 with a few small worn engravings. Style: hand-painted pixel art, crisp edges, muted natural stone colours, readable at small size. No text, no labels, no numbers.
|
|
```
|
|
|
|
## player
|
|
|
|
```text
|
|
dark red-brown stone with a crimson-purple tint (medium brightness, not black); the engravings are worn demonic runes and horned skulls of an evil dungeon master, the grooves faintly glowing red.
|
|
```
|
|
|
|
## mossgrim
|
|
|
|
```text
|
|
grey-green stone, damp; moss and small fungi grow in the mortar joints and cracks; the engravings are worn mushrooms and coiling mould tendrils.
|
|
```
|
|
|
|
## nightwell
|
|
|
|
```text
|
|
cold blue-grey slate and marble stones with faint silver veins; the engravings are worn lilies and crescent moons with remnants of silver inlay.
|
|
```
|
|
|
|
## saffrax
|
|
|
|
```text
|
|
warm ochre-brown sandstone with a few brass studs; the engravings are worn alchemical sigils and suns, a few sooty scorch marks and yellow sulphur stains.
|
|
```
|
|
|
|
## Processing
|
|
|
|
`tools/make_floor_tiles.py` crops the tiles, fills magenta inside them (chipped corners, holes)
|
|
with a dark void, cuts a thin edge off (the joints and frames the model drew around every tile),
|
|
evens out the light (no vignette, all tiles equally bright, so the grid does not show), scales
|
|
and reduces the colours:
|
|
|
|
```bash
|
|
T=tools/make_floor_tiles.py
|
|
python3 $T player-raw.png player --grid 2x3 --pick 1,2,3,4,5 --size 128 --bright 1.1 --inset 0.03 --flatten
|
|
python3 $T mossgrim-raw.png mossgrim --grid 2x3 --pick 1,2,3,4,5 --size 128 --inset 0.03 --flatten
|
|
python3 $T nightwell-raw.png nightwell --grid 2x3 --pick 1,2,3,4,5 --size 128 --inset 0.045 --flatten
|
|
python3 $T saffrax-raw.png saffrax --grid 2x3 --pick 1,2,3,4,5 --size 128 --inset 0.03 --flatten
|
|
# the same with --size 64
|
|
```
|
|
|
|
`<name>-64.png` / `<name>-128.png` are copied to `assets/textures/floor-<name>.png` /
|
|
`floor-<name>-128.png`; `<name>-128-preview.png` shows a floor laid out at random.
|