High-res effects: explosions, smoke, bursts, impact stars, healing and glowing projectiles as flipbooks

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-08 01:00:20 +01:00
1 parent 7972e8ad1b
commit 8c5afe872f
10 files changed
+218 -51

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
# Effect flipbooks (high-res)
Generated on 2026-11-08 with `fal-ai/nano-banana-pro` (`aspect_ratio: 16:9`, `resolution: 2K`,
one image per effect; the first try with one row of 8 frames at `8:1` came back empty), the
prompt in `batch.py`: the shared text followed by the effect.
```text
An animation sprite sheet of exactly 8 frames in a grid of 4 columns and 2 rows (reading order), each frame in its own equal square cell, the effect centred in every cell and filling most of it, the frames showing the animation from start to end. Hand-painted pixel art for a dark-fantasy dungeon strategy game, crisp pixels, glowing. The background is completely flat pure black (#000000) everywhere - no frames, no grid lines, no text, no numbers. The effect:
```
- **explosion**: a fiery explosion: a small bright flash, growing into a ball of orange and yellow fire with dark red edges, breaking up into flames and embers, fading into thin dark smoke.
- **smoke**: a puff of grey smoke: a small dense cloud growing larger and softer, drifting apart and fading out.
- **burst**: a magic burst seen from the front: a bright white spark growing into a ring of white light rays and sparkles, then scattering into small fading sparkles (pure white and light grey, so it can be tinted).
- **impact**: a hit impact star: a sharp white flash with jagged rays, then smaller sparks flying outwards and fading (pure white and light grey, so it can be tinted).
- **heal**: a healing effect: soft green glowing crosses and sparkles rising upwards and fading, around a gentle green glow.
- **orbs**: eight different glowing magic projectiles, one per cell (not an animation): 1 a fireball with a flaming tail, 2 the same fireball flickering, 3 a white glowing orb with a soft halo (to be tinted), 4 the same white orb pulsing larger, 5 a holy golden light orb, 6 a dark violet shadow orb with wisps, 7 a glowing red rune orb, 8 a blue arcane orb with small sparkles.
## Processing
The explosion sheet had a grey border around its black panel; it was cut to the panel first
(`explosion-trim.png`). Then
```bash
python3 tools/make_fx.py fx.png explosion-trim.png smoke-raw.png burst-raw.png impact-raw.png heal-raw.png orbs-raw.png --margin 0.12
```
cuts the 2x4 frames, turns the dark background into transparency (alpha from the brightness, so
glows and smoke keep soft edges) and writes one row of eight 64x64 frames per effect;
`fx.png` is copied to `assets/textures/fx/fx.png`. In the game (`fx_sprite` in
`src/render3d.rs`, high-res only): fireballs and cannon blasts explode, other flashes burst in
their colour, smoke puffs, hits flash with an impact star, healing rises in green, and the
magic projectiles are glowing orbs (the fireball's tail points back along its way).
+13
View File
@@ -0,0 +1,13 @@
# Effect flipbooks of the high-res style (2026-11-08): one sheet per effect, 8 frames in a row.
STYLE = ("An animation sprite sheet of exactly 8 frames in a grid of 4 columns and 2 rows (reading order), each frame in its own equal square cell, the effect centred in every "
"cell and filling most of it, the frames showing the animation from start to end. Hand-painted pixel art for a dark-fantasy dungeon "
"strategy game, crisp pixels, glowing. The background is completely flat pure black (#000000) everywhere - no frames, no grid lines, "
"no text, no numbers. The effect: ")
FX = {
"explosion": "a fiery explosion: a small bright flash, growing into a ball of orange and yellow fire with dark red edges, breaking up into flames and embers, fading into thin dark smoke.",
"smoke": "a puff of grey smoke: a small dense cloud growing larger and softer, drifting apart and fading out.",
"burst": "a magic burst seen from the front: a bright white spark growing into a ring of white light rays and sparkles, then scattering into small fading sparkles (pure white and light grey, so it can be tinted).",
"impact": "a hit impact star: a sharp white flash with jagged rays, then smaller sparks flying outwards and fading (pure white and light grey, so it can be tinted).",
"heal": "a healing effect: soft green glowing crosses and sparkles rising upwards and fading, around a gentle green glow.",
"orbs": "eight different glowing magic projectiles, one per cell (not an animation): 1 a fireball with a flaming tail, 2 the same fireball flickering, 3 a white glowing orb with a soft halo (to be tinted), 4 the same white orb pulsing larger, 5 a holy golden light orb, 6 a dark violet shadow orb with wisps, 7 a glowing red rune orb, 8 a blue arcane orb with small sparkles.",
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB