Files
dungeoncraft/art/generated/textures/floors/PROMPTS.md
T

3.7 KiB

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):

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

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

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

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

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:

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.