I-CHR: Turn an image sequence into bankswitched CHR

Description of your first forum.
User avatar
Kasumi
Posts: 155
Joined: Fri Mar 09, 2018 11:13 pm

I-CHR: Turn an image sequence into bankswitched CHR

Post by Kasumi » Tue Apr 10, 2018 11:35 pm

I guess I'm finally just going to make a topic.

I see a lot of people making graphics and such. This will let you put your background graphics into an actual NES ROM (or mark where your mistakes are).
Image
You can use this to really drill the limitations into your head before NES Maker. But be aware: It allows things that (from my understanding) aren't currently possible in NES Maker. If your Tile16s count (at the top) goes above 64, your graphics are not NES Maker ready. And if use more than 4 frames, your graphics are not NES Maker ready. If your Tile16s goes above 256... you should definitely revise unless the scene is not meant to be one where gameplay takes place.

It includes a quickref gif of the limitations. But you can also read this more in depth one: https://pixelation.org/index.php?topic= ... #msg115062

Get it here: https://kasumi.itch.io/ichr
Feel free to ask questions.
Last edited by Kasumi on Tue Apr 10, 2018 11:50 pm, edited 1 time in total.
User avatar
Kasumi
Posts: 155
Joined: Fri Mar 09, 2018 11:13 pm

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by Kasumi » Tue Apr 10, 2018 11:46 pm

Making another post so when I update the main post it's not weird. I've been working to make this do more behind the scenes:
Multiple level import:
Image
Sprite import:
Image
And more banking. Currently the images you import are limited to 8 screens. But I want to get up to 256 screens. I want to be able to get this image in: https://i.imgur.com/vHB6WSt.png
Edit: Done.
Image
Now to make it export multiple images in the same ROM.

My final plans for this are to allow it to put together animations/hitboxes of the imported sprites, and maybe place one animated version of a character in the map. It's meant to be more of an image test program like NES Screen Tool than a full game maker like NES Maker. My main goal is to remake the things I didn't like about NES Screen Tool while working on Indivisible.

I'm mainly making it for myself for my own future games, but other people have found it useful.
User avatar
Kasumi
Posts: 155
Joined: Fri Mar 09, 2018 11:13 pm

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by Kasumi » Thu Apr 19, 2018 2:27 am

Image
It now exports multiple "levels" in the same ROM. (But this functionality is still not available to download.)
Diver by Justin Cyr, maps from Link's Awakening and EarthBound Beginnings, Spinning Beach girl by me.

I'm going to work on sprite management stuff now.
User avatar
Kasumi
Posts: 155
Joined: Fri Mar 09, 2018 11:13 pm

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by Kasumi » Sun Apr 29, 2018 10:37 pm

Can any NES Maker Beta user please confirm if the attached file imports correctly?
bckCHR_00.zip
(1.45 KiB) Downloaded 30 times
You have to unzip it since the forum doesn't support bmp files :(
Image
This is what the palettes are meant to look like. (The gray is a border, not part of the palettes. 4 colors, gray, 4 colors, gray etc.) If this works, I'll try to release an update that can output images like this so that you don't have to manually recolor your images for NES Maker.

Image
I've also been working on sprite importing stuff. Importing now works (and is now in the same program as the background tool), but exporting does not. There are also scrollbars now, so large images don't push important information off the screen, as well as zooming support. (But none of this is available yet. Sprite export will probably need to be finished before I update this fully. But I may push out an update for easier NES Maker background import with none of the sprite functionality.)
User avatar
Kasumi
Posts: 155
Joined: Fri Mar 09, 2018 11:13 pm

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by Kasumi » Fri May 11, 2018 11:47 pm

Sprite Exporting done:
Image
But it actually doesn't export the useful files in a useable way. (i.e. outside the ROM)
So I guess the todo list before I upload the new build:
1. Some miscellaneous palette management requests.
2. Adding the concept of sprite animations to the ROM. (In the image above, I'm animating the girl manually. I'd like to be able to export several animations to the ROM and have them play automatically and be switched at runtime.)
3. Exporting useful sprite data.
4. Figure out how I want to handle palettes long term.
And... maybe...
5. Fix the auto sprite overlay behavior. It doesn't export the sprite overlay to the ROM on success, and it doesn't mark errors on failure. I'll probably just remove access to this function for the next release.

Beyond those things, I want a way to manage hitboxes, and a way to define collision info for background tilesets. Then I can really start using the data this thing puts out for games.
User avatar
Kasumi
Posts: 155
Joined: Fri Mar 09, 2018 11:13 pm

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by Kasumi » Tue Jun 19, 2018 1:58 pm

Watch... as I keep posting updates here, but never actually release the program with the updates.

This was posted in another topic:
Image
You can now also save and load characters to a file. This would allow you to share them, or whatever. But it also allows you to avoid the time consuming tilification™ process.
Here are some animations from Street Fighter 3: 3rd Strike's Chun Li:
Image
(The holes are because most of these are more than 63 8x8 sprites. I-CHR only supports 63 [rather than 64] to avoid moving a pointer.)
You can export multiple characters in a ROM too.
I made the Chun Li animations 3 colors to make it use fewer sprites, but the program can import 12 color characters if you really want.

What's left before release is just a lot of cleanup. The ROM doesn't support say... 80 characters, but the program won't stop you from adding that many. It won't give an error if you export too much CHR. Things like that.

I also need to make it export useful data for homebrewers sprite-wise. (The ROM is cool, but not useful if you wanted to use the character in one's own game.)
DChilders84
Posts: 28
Joined: Sat Apr 21, 2018 12:43 am
Location: Colorado, USA
Contact:

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by DChilders84 » Tue Jun 19, 2018 5:41 pm

The stuff you post is always impressive Kasumi.
User avatar
Kasumi
Posts: 155
Joined: Fri Mar 09, 2018 11:13 pm

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by Kasumi » Wed Jun 20, 2018 7:22 pm

Thanks, Dchilders84!

I converted a pixel friend's art using the unreleased version of this software: https://twitter.com/Namatnieks/status/1 ... 9305621504

I just hope it ends up useful to some people.
User avatar
Kasumi
Posts: 155
Joined: Fri Mar 09, 2018 11:13 pm

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by Kasumi » Sun Aug 12, 2018 1:52 pm

I did want to have this out before NES Maker's release for the auto red, green, blue, black bitmap creation at least, but hey, what can you do?
New gif:
Image
You can now load an image sequence and it will automatically make that sequence an animation so you don't have to manually add the frames. The gif shows me loading a Super Mario Bros. image sequence, then loading a Mega Man sequence. The sequences are "regular" images, they're not already made into tiles or anything. I-CHR does that automatically. (It even guesses the palettes automatically.) Basically so long as your image sequence has less than 13 colors (13 because of transparency), I-CHR will import it without complaining. But if it's HUGE, it may still need more than the 64 sprites NES has to display it. And if it's HUGE and a lot of frames, the importing is VERY slow. Mario and Mega Man together took about 8 seconds to import, so it's fine for sane art. (I cut some of the loading time out of the GIF for presentation purposes.)

The GIF also shows some palette remapping stuff. If you don't like I-CHR's guesses (or you just want to make them purple silhouettes :P ), you can load your own palette that has the indices in the order you want. The sprite stuff isn't very NES Maker compatible, I just think it's cool. I've also fixed a few bugs on the background import side that will help with special screen creation. When's it coming out? Who knows.
User avatar
MistSonata
Posts: 267
Joined: Fri Feb 16, 2018 7:10 am

Re: I-CHR: Turn an image sequence into bankswitched CHR

Post by MistSonata » Sun Aug 12, 2018 7:03 pm

As always, super impressive stuff, though as someone who knows absolutely nothing about CHR files, I have no idea exactly what it's doing and why it's useful.

I was hoping you could explain what possible applications this could have, practically speaking? Does it populate a tileset for you? Is there any applications that are NESmaker specific that might help people do things easier?
Post Reply