Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

I-CHR

Turn pixel art into an NES ROM! · By Kasumi

Error help

A topic by Isometrics256 created Mar 19, 2023 Views: 126 Replies: 2
Viewing posts 1 to 3

Hello Kasumi,

I love I-CHR a lot, an amazing app :  ) I'm making NES roms with it, but sometimes I get stuck, for example with this sequence:
10 transparent PNGs 256x240 px with one color:

And I have this error: too many tiles...

May you help me to know how to decrease the number of tiles without resizing the image and frames?

I will appreciate any help.


Thank you very much!

Iso

Developer (1 edit)

There isn't a solution that doesn't involve resizing your frames, or programming your own ROM, unfortunately. I-CHR is designed more for detecting and creating data for a scene that reuses animated tiles like this one from Kirby's Adventure:

rather than true full screen animation. I-CHR's tile count (and palette detection) works across frames.
Say for example frame 1 is half white (left side), and half black (right side). 
And say you you have a 128x240 image that is placed on both the right/left side on frame 2.

If you load only frame 1, you'd get 2 tiles.
If you load only frame 2, say you got 64 tiles.
If you load both frames the tile count might be 128.

Why? Even if the right/left sides of the image in frame 2 are identical, all of the tiles on the left side of the entire animation have white in the first frame, and all of the tiles on the right side of the animation have black as the first frame. For I-CHR to consider a tile the same, the section of the image has to match across all frames.

If you work in a 128x128 resolution in the future, you can get up to 64 frames of four color arbitrary animation.
Alternatively, you can import each frame individually to get data you could put into a ROM you program yourself (assuming each individual frame is less than 256 tiles). You cannot get an automatic animated ROM, though. It's not impossible to eventually support, but I'm on other projects at the moment. Even the improved beta doesn't do it.

Edit: That said, I have a version of the program can do lossy tile reduction (your animation will no longer be pixel perfect), but there are reasons it isn't released yet. This is an example of how the animation you posted would look: 


It is almost certainly possible to do it lossless, but not with code I already have

Thank you so much! working with 128x128 px of resolution :  )