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

5.9 KiB

High-res tile textures (test)

Generated on 2026-11-07 with fal.ai for the high-res graphics style (HD_TILES in src/gfx.rs).

  • Model: fal-ai/flux-2-pro, image_size: square_hd (1024x1024), output_format: png, seed: 4242 (floor and gold: a second try with seed: 4243 and the prompts below; the first floor had a frame and a centre motif, the first gold too few veins)
  • Prompt: the kind's sentence followed by the shared style text.
  • tools/make_tile.py <name>-raw.png <name> --size 128 --colors 32 scales it to a 2x2 block of 64x64 tiles, makes it seamless and reduces the colours; <name>-128.png is copied to assets/textures/<name>.png. <name>-128-preview.png: 3x3 copies to check the seams.

Shared style text:

Seamless tileable square texture, viewed straight from above (orthographic top-down, no perspective), flat even lighting, no shadows, no vignette, no border, no text. Hand-painted pixel art style for a dark-fantasy dungeon strategy game: chunky clear shapes, crisp edges, limited muted palette, readable at small size. The pattern continues seamlessly across all four edges.

floor: T_FLOOR (dug-out floor)

A uniform all-over pattern of rough grey-brown cobblestones of mixed sizes set in packed dirt, evenly spread from edge to edge with no frame, no border and no centre motif, like a cropped piece of a large dungeon floor.

claimed

Replaced by the masters' floors with five slabs each, see floors/PROMPTS.md.

earth: T_EARTH (earth blocks)

Solid packed brown earth seen from above, soil with small stones, roots and darker clumps, slightly lumpy.

rock: T_ROCK (bedrock)

Hard dark blue-grey bedrock seen from above, angular rock facets and deep cracks, very solid and impenetrable.

water: T_WATER

Deep dark blue underground river water seen from above, gentle wave crests and ripples in lighter blue-cyan, slight foam streaks.

lava: T_LAVA

Molten lava seen from above, glowing orange and yellow molten rock flowing in swirls, darker red cooling streaks, very hot and bright, no black crust.

In the game

Water and lava flow as before (the shader moves the texture along the river and lets the surface swell); in the high-res style a second, larger layer of the same texture drifts slower and sideways over it, so the surface churns.

128x128 (2026-11-07)

The same raw pictures also give 128x128 tiles for close views (HD_TILE2; the world shows them when a tile gets nearly 128 pixels, else the 64x64 ones):

python3 tools/make_tile.py <name>-raw.png <name> --size 256 --colors 48 --band 28

<name>-256.png is copied to assets/textures/<name>-256.png.

Gold, silver, ruby and diamond: lumps without veins (2026-11-07)

Made from the earth picture so the soil matches: fal-ai/nano-banana-pro/edit with earth-raw.png as the reference image (aspect_ratio: 1:1, resolution: 1K, one image each). The prompt template, {ore} per kind:

Keep this exact seamless tileable earth texture (same colours, same soil, same style, same top-down view) and embed {ore} scattered in the soil: about twelve separate lumps of different sizes, partly buried, spread evenly over the whole image including near the edges. No veins, no lines, no cracks filled with ore, no streaks - only separate lumps. The texture must stay seamless across all four edges. No text.
  • gold: chunky nuggets of shining yellow gold
  • silver: chunky nuggets of bright shining silver ore
  • ruby: chunky raw red ruby crystals
  • diamond: chunky raw clear pale-blue diamond crystals

Gold has four variants (--size 128 and --size 256 like the others). Silver, ruby and diamond have two variants: one seamless tile for both (--size 64 --colors 32 --band 8 and --size 128 --colors 48 --band 14), copied to assets/textures/<name>.png and <name>-128.png.

Five variants per kind (2026-11-07)

Floor, earth, rock and the ores (gold, silver, ruby, diamond) now have five tiles each that fit together in any order (HD_SETS in src/gfx.rs; a tile picks one by its position). No new pictures: tools/make_tile.py --variants 5 takes the seamless sheet of a raw picture, makes one quarter of it seamless on its own as the shared border and fills the middles of the other tiles from other windows of the sheet:

python3 tools/make_tile.py <name>-raw.png <name> --size 256 --colors 48 --band 28 --variants 5   # 128x128 tiles
python3 tools/make_tile.py <name>-raw.png <name> --size 128 --colors 32 --band 14 --variants 5   # 64x64 tiles

<name>-v64.png / <name>-v128.png are copied to assets/textures/; <name>-v128-preview.png shows a floor laid out at random. Water and lava keep their 2x2 blocks (they flow).

Reinforced wall (2026-11-07)

Roughly hewn stone instead of bricks. fal-ai/flux-2-pro (square_hd, seed: 4244), the sentence followed by the shared style text:

A uniform all-over pattern of a fortified dungeon wall seen straight on: roughly hewn, irregular grey stone blocks of clearly different sizes and shapes, chiselled rough faces with tool marks and chipped edges, fitted tightly with thin dark mortar that has a faint dark-crimson tint, very solid and heavy - not bricks, not a regular brick pattern, no frame, evenly spread from edge to edge.

The stones came out small, so the middle of the picture (pixels 100-500) is used:

python3 -I -c "from PIL import Image; Image.open('reinforced-raw.png').crop((100,100,500,500)).save('/tmp/reinf-zoom.png')"
python3 tools/make_tile.py /tmp/reinf-zoom.png reinforced --size 256 --colors 32 --band 28 --variants 5 --bright 1.25
python3 tools/make_tile.py /tmp/reinf-zoom.png reinforced --size 128 --colors 24 --band 14 --variants 5 --bright 1.25

The pixel-art atlas (16x16) does not use the picture (scaled that small it turns to mush): its reinforced wall is drawn in code in the same spirit (T_REINF in gen_atlas: rubble stones around a jittered grid, crimson-tinted mortar).