So I took a couple days to tackle a problem I had to deal with a couple of times: Fitting complex images into the 256 tile limit.
What I basically tried out was an automated version of the process I end up do manually. Randomly search for 2 similar tiles that are unique in the nametable and merge them in some way.
In this program similar tiles are pairs of tiles that have the least number of pixels changed, and merging is randomly selecting the pixels from both tiles
Example image NES screen sized image with way too many distinct tiles (471)
Source: https://twitter.com/azumakiyohiko/status/495548119048679426
After merging tiles together until there's only 256 unique ones.
Results vary due to random pixel selections between tiles. Not the best of quality, but looks on par with the worst JPEG compression. In any case I figured this hack of a tool might be useful to someone. It's input is the output of tepple's pilbmp2nes.py
Edit: Attachment moved off site to compress-nes-image.py
What I basically tried out was an automated version of the process I end up do manually. Randomly search for 2 similar tiles that are unique in the nametable and merge them in some way.
In this program similar tiles are pairs of tiles that have the least number of pixels changed, and merging is randomly selecting the pixels from both tiles
Example image NES screen sized image with way too many distinct tiles (471)
Source: https://twitter.com/azumakiyohiko/status/495548119048679426
After merging tiles together until there's only 256 unique ones.
Results vary due to random pixel selections between tiles. Not the best of quality, but looks on par with the worst JPEG compression. In any case I figured this hack of a tool might be useful to someone. It's input is the output of tepple's pilbmp2nes.py
Edit: Attachment moved off site to compress-nes-image.py