High-res interface icons: tools, towers, traps, doors, spells, orders and siege

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-07 23:41:08 +01:00
1 parent 37e5250c52
commit d951c16902
28 files changed
+199

No files matched your search

+66
View File
@@ -0,0 +1,66 @@
# Interface icons (high-res)
Generated on 2026-11-07 with `fal-ai/nano-banana-pro` (`resolution: 2K`, one image per sheet,
`aspect_ratio: 21:9` for the 5-column sheets, `16:9` for the spells). `batch.py` holds the
prompts: the shared text below followed by the numbered icon descriptions.
```text
A sheet of game icons for a dark-fantasy dungeon strategy game, arranged in a grid of {cols} columns and {rows} rows, every icon centred in its own equal square cell and filling about 80 percent of it, all icons the same size and in the same style: hand-painted pixel art, chunky clear shapes, crisp edges, a dark near-black outline, rich but slightly muted colours, readable at small size, light from the upper left. The background is a completely flat pure magenta (#FF00FF) everywhere, also between the icons - no frames, no grid lines, no cell borders, no text, no labels, no numbers. The icons, in reading order (left to right, top to bottom):
```
## tools (5x2)
- `I_PICK`: a pickaxe for digging
- `I_HAND`: a clawed green monster hand reaching to grab
- `I_SELL`: a small pile of gold coins with a curved arrow (selling)
- `I_FLAG`: a red rally flag on a pole
- `I_BOLT`: a yellow lightning bolt
- `I_HEAL`: a glowing green healing cross with sparkles
- `I_SUMMON`: a glowing violet summoning circle with a small imp silhouette
- `I_BRIDGE`: a small wooden plank bridge arch
- `I_WALL`: a block of grey stone wall with an upward arrow
- `I_STEEL`: a riveted dark steel wall plate
## towers (5x2)
- `I_ARROW`: a small wooden watchtower with an arrow
- `I_CANNON`: a squat stone tower with a black cannon
- `I_MAGIC`: a slender dark tower with a glowing purple orb on top
- `I_RUNE`: a dark stone obelisk with a glowing red rune and bronze bands
- `I_DRAWBRIDGE`: a raised wooden drawbridge with chains over water
- `I_RAM`: a battering ram: a tree trunk with an iron cap under a small wooden roof on wheels
- `I_CATAPULT`: a wooden catapult with a stone in its arm
- `I_ORDERS`: two crossed swords (attack order)
- `I_ORDERS+1`: a round shield (guard order)
- `I_FREEZE`: a glowing pale-blue snowflake (frost spell)
## traps (5x2)
- `I_TRAPS`: a floor trap with sharp metal spikes
- `I_TRAPS+1`: a floor vent puffing a green poison cloud
- `I_TRAPS+2`: a floor nozzle shooting a jet of fire
- `I_TRAPS+3`: a big round rolling boulder
- `I_TRAPS+4`: a brass alarm bell
- `I_TRAPS+5`: a glowing red rune mine on the floor
- `I_TRAPS+6`: a floor trap with a glowing blue frost crystal
- `I_TRAPS+7`: a wooden door with iron hinges
- `I_TRAPS+8`: a heavy iron door with rivets
- `I_TRAPS+9`: a magic door glowing with purple runes
## spells (4x2)
- `I_SPELLS`: a glowing all-seeing eye (seer's eye spell)
- `I_SPELLS+1`: falling rocks from a cracked ceiling (cave-in spell)
- `I_SPELLS+2`: a winged boot (haste spell)
- `I_SPELLS+3`: a fist of grey stone (stoneskin spell)
- `I_SPELLS+4`: gold coins raining down (gold rain spell)
- `I_SPELLS+5`: a fading translucent ghostly figure (invisibility spell)
- `I_SPELLS+6`: a green skull in a sickly cloud (plague spell)
- `I_SPELLS+7`: cracked shaking ground with rocks jumping (quake spell)
## Processing
`tools/cut_icons.py <sheet>-raw.png <sheet> --grid 2x5` (spells `--grid 2x4`) keys out only nearly
pure magenta (violet glows stay), crops every icon, centres it in a square and scales it to 64x64
and 128x128 with hard alpha. The strips go to `assets/textures/icons/`; the game puts them into
the high-res atlases' icon cells (`HD_ICONS` in `src/gfx.rs`).
+29
View File
@@ -0,0 +1,29 @@
# The interface icons of the high-res style (2026-11-07): four sheets, each a grid of icons.
# (sheet name, columns, rows, [(atlas cell constant, description)])
STYLE = ("A sheet of game icons for a dark-fantasy dungeon strategy game, arranged in a grid of {cols} columns and {rows} rows, every icon "
"centred in its own equal square cell and filling about 80 percent of it, all icons the same size and in the same style: "
"hand-painted pixel art, chunky clear shapes, crisp edges, a dark near-black outline, rich but slightly muted colours, readable at small size, "
"light from the upper left. The background is a completely flat pure magenta (#FF00FF) everywhere, also between the icons - "
"no frames, no grid lines, no cell borders, no text, no labels, no numbers. The icons, in reading order (left to right, top to bottom): ")
SHEETS = [
("tools", 5, 2, [
("I_PICK", "a pickaxe for digging"), ("I_HAND", "a clawed green monster hand reaching to grab"), ("I_SELL", "a small pile of gold coins with a curved arrow (selling)"),
("I_FLAG", "a red rally flag on a pole"), ("I_BOLT", "a yellow lightning bolt"), ("I_HEAL", "a glowing green healing cross with sparkles"),
("I_SUMMON", "a glowing violet summoning circle with a small imp silhouette"), ("I_BRIDGE", "a small wooden plank bridge arch"),
("I_WALL", "a block of grey stone wall with an upward arrow"), ("I_STEEL", "a riveted dark steel wall plate")]),
("towers", 5, 2, [
("I_ARROW", "a small wooden watchtower with an arrow"), ("I_CANNON", "a squat stone tower with a black cannon"), ("I_MAGIC", "a slender dark tower with a glowing purple orb on top"),
("I_RUNE", "a dark stone obelisk with a glowing red rune and bronze bands"), ("I_DRAWBRIDGE", "a raised wooden drawbridge with chains over water"),
("I_RAM", "a battering ram: a tree trunk with an iron cap under a small wooden roof on wheels"), ("I_CATAPULT", "a wooden catapult with a stone in its arm"),
("I_ORDERS", "two crossed swords (attack order)"), ("I_ORDERS+1", "a round shield (guard order)"), ("I_FREEZE", "a glowing pale-blue snowflake (frost spell)")]),
("traps", 5, 2, [
("I_TRAPS", "a floor trap with sharp metal spikes"), ("I_TRAPS+1", "a floor vent puffing a green poison cloud"), ("I_TRAPS+2", "a floor nozzle shooting a jet of fire"),
("I_TRAPS+3", "a big round rolling boulder"), ("I_TRAPS+4", "a brass alarm bell"), ("I_TRAPS+5", "a glowing red rune mine on the floor"),
("I_TRAPS+6", "a floor trap with a glowing blue frost crystal"), ("I_TRAPS+7", "a wooden door with iron hinges"), ("I_TRAPS+8", "a heavy iron door with rivets"),
("I_TRAPS+9", "a magic door glowing with purple runes")]),
("spells", 4, 2, [
("I_SPELLS", "a glowing all-seeing eye (seer's eye spell)"), ("I_SPELLS+1", "falling rocks from a cracked ceiling (cave-in spell)"),
("I_SPELLS+2", "a winged boot (haste spell)"), ("I_SPELLS+3", "a fist of grey stone (stoneskin spell)"), ("I_SPELLS+4", "gold coins raining down (gold rain spell)"),
("I_SPELLS+5", "a fading translucent ghostly figure (invisibility spell)"), ("I_SPELLS+6", "a green skull in a sickly cloud (plague spell)"),
("I_SPELLS+7", "cracked shaking ground with rocks jumping (quake spell)")]),
]
Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB