# 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 -raw.png --size 128 --colors 32` scales it to a 2x2 block of 64x64 tiles, makes it seamless and reduces the colours; `-128.png` is copied to `assets/textures/.png`. `-128-preview.png`: 3x3 copies to check the seams. Shared style text: ```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) ```text 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) ```text Solid packed brown earth seen from above, soil with small stones, roots and darker clumps, slightly lumpy. ``` ## rock: T_ROCK (bedrock) ```text Hard dark blue-grey bedrock seen from above, angular rock facets and deep cracks, very solid and impenetrable. ``` ## water: T_WATER ```text Deep dark blue underground river water seen from above, gentle wave crests and ripples in lighter blue-cyan, slight foam streaks. ``` ## lava: T_LAVA ```text 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): ```bash python3 tools/make_tile.py -raw.png --size 256 --colors 48 --band 28 ``` `-256.png` is copied to `assets/textures/-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: ```text 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/.png` and `-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: ```bash python3 tools/make_tile.py -raw.png --size 256 --colors 48 --band 28 --variants 5 # 128x128 tiles python3 tools/make_tile.py -raw.png --size 128 --colors 32 --band 14 --variants 5 # 64x64 tiles ``` `-v64.png` / `-v128.png` are copied to `assets/textures/`; `-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: ```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: ```bash 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). ## Ores, second version (2026-11-08) The first ore textures (`ore-v1/`) were hard to tell from plain earth in the game. Made again from `earth-raw.png` with `fal-ai/nano-banana-pro/edit` (`1:1`, `1K`), bigger lumps with dark outlines; the game keeps their colours (no matching to the pixel-art cells): ```text Keep this seamless tileable earth texture (same soil colours, same style, same top-down view) and embed {ore} in it: about twenty lumps, many of them large, together covering about a third of the surface, spread evenly over the whole image including the edges, each lump with a dark outline so it stands out clearly from the soil. No veins, no lines - only separate lumps. Keep the texture seamless across all four edges. No text. ``` - gold: `big chunky shining yellow gold nuggets with bright highlights` - silver: `big chunky shining white-silver ore nuggets with bright highlights` - ruby: `big chunky glowing red ruby crystals with bright highlights` - diamond: `big chunky sparkling pale-blue diamond crystals with bright highlights`