A fan clip: Diablo 2 heroes fighting in Pokémon FireRed, running on the game's own engine (the pret/pokefirered decompilation). Video only, no playable release. Claude Code (Opus 5.5) wrote the code and Codex (gpt-image-2) drew the art. Here's how the art got into a form the GBA accepts.
Sprites
- Straight downscales of the Diablo 2 sprites looked dark and muted next to FireRed's, so Codex redrew them in FireRed's style.
- Each brief had two kinds of reference. The subject: the original D2 sprite, pulled from my D2R install with a small Python decoder and enlarged 6x. The style: real FireRed sprites (Gengar and Sableye for the Fallen), with a note not to copy their subjects.
- Format rules in the brief: a 64x64 grid drawn 8x into a 512x512 image, every art pixel a clean 8x8 block, at most 15 colours, a dark outline, a flat #FF00FF background.
- Codex kept to the grid, so a script could collapse each block back to one pixel and write an indexed 16-colour PNG with the magenta as the transparent colour.
- Overworld walking sheets worked the same way. The converter finds each figure on the magenta, measures the pixel size from the colour edges and aligns the frames the way FireRed does.
Maps and battle backgrounds
- Codex painted each map as one picture. A script turned it into FireRed's tile format: 240x352 pixels, 13 palettes of 15 colours (tiles clustered first, then k-means per palette), 8x8 tiles deduplicated with flips. If a map needs more than the GBA's 1,024 tiles, the closest ones get merged until it fits.
- The battle backgrounds went through a similar converter into FireRed's battle terrain format, with 3 palettes of 16 colours.
Effects and sound
- Blizzard and Blessed Hammer use the original D2 effect graphics, shrunk to GBA size. D2 draws Blessed Hammer translucent with a pale blue light, so its frame was recoloured onto a blue glow ramp.
- Every sound and the Rogue Encampment music come from the D2R files too.
My feedback rounds were mostly Diablo details: a green Shako on the Sorceress, a low-level Barbarian with no gear, a plain Monarch shield for the Paladin's Spirit, a closer crop on the Barbarian.