Need Some Help

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Need Some Help
by on (#218141)
I made the following image in MS Paint for a cutscene in a game and now am stuck trying to convert it over into NES.

Attachment:
Corrected.bmp
Corrected.bmp [ 180.05 KiB | Viewed 5038 times ]


I knew I would have to do a mid-frame bankswap so I went and used nearly 500 unique tiles. That is not a problem. The problem is that I miscalculated the number of sprites needed to fill in the character colors. If I removed the dark green from the background (and replaced it with a shade of gray) and then used some of the background to color parts of the two people at the bottom, I believe I can get close. But that is not an easy task given the tools I have available (YY-CHR, MS PAINT, NESST).

The other option I have is to keep the image in a single palette grayscale

Attachment:
BWCorrected.bmp
BWCorrected.bmp [ 180.05 KiB | Viewed 5038 times ]


And reserve the 3 other background palettes and all the sprites palettes for the character profiles that will be "talking" to each other in the black area above the scene.

Here are the profile pictures of the characters

Attachment:
Profile Pictures.bmp
Profile Pictures.bmp [ 49.83 KiB | Viewed 5038 times ]


I have attached a ZIP file of the screen in NESST. You will have to swap between banks A and B to see the screens middle and bottom parts, respectively.
Re: Need Some Help
by on (#218146)
If it's just 512 or less. You don't need bank switching. 256 in tile set A. 256 in tile set B. Associate BG with set A for the top half of the screen and change it to set B midscreen.

(set A = $0000-0fff, set B = $1000-1fff, usually for sprites)

Or not, if you are going to layer more than 4 colors, then I suppose you need bank switching.
Re: Need Some Help
by on (#218147)
There are 474 unique tiles. I didn't look for a particular split scanline; instead, I just ran this script originally by JRoatch to automatically combine similar tiles down to 256.
Attachment:
vqbeforeafter.png
vqbeforeafter.png [ 9.72 KiB | Viewed 5024 times ]


A split point would allow for cutting it a bit less, without quite this much JPEG-like mosquito noise, to allow CHR space for the dialogue area at the top. If you can get it down to (say) 160 above the split and 256 below, you can use 32 of the remaining tiles above the split for a portrait and 64 for a font or a VWF canvas. Want me to try running the script to see what 160 above and 256 below would look like?

As for going past grayscale, you could assign black, dark gray, light gray, and one of four accent colors to various parts of the background. The attributes would still be on a 16x16 grid unless you want to get real tricky with sprite 0, in which case 16x8 is possible.
Re: Need Some Help
by on (#218158)
Again, I want reiterate. The number of tiles is NOT the problem. I already have the IRQs code written and ready to go (and used in several other places in the game). The problem is that I screwed up making the image in MSPaint and assumed I could fix it after the fact. To do so has become more of a pain that I assumed.
Re: Need Some Help
by on (#218159)
What exactly are you asking for, then? A way to make it work as it is? Someone to redraw it in a way that does work?

BTW, if this is a mostly static screen with little to no game logic taking place, you shouldn't even have to worry about sprite 0 hits or IRQs, you could easily handle all the splits with timed code.
Re: Need Some Help
by on (#218172)
Confirming what you want: A version of the image with the green background made gray?

Here's an automatic attempt from the still not public version of my tool with the sprite overlay layer removed:
Image
It wants these background palettes:
Image
(As a tip, it may be possible for some of the areas the tool took away to be put back because this isn't really... done yet.)

The sprite palettes it wants may be incompatible with your portraits?
Image
(I actually don't know if these are accurate, I broke parts of this and haven't touched it in a while. I also believe these are probably terrible palette group choices for colors needed...)
If this works for what you want, I can try to coax it to export a 4 color bitmap version for you that you can paint attributes in with NESST. Hopefully it's not too tough. My tool really doesn't like >256 tile things.

I can maybe also make it export what it expects to be the sprite layer but that's... harder as it is right now.

Anyway, confirm if this is what you're looking for and I'll try to get a version of the image you can work with! Otherwise, I'll do something else. :P
Re: Need Some Help
by on (#218544)
I think I figured out how I want to do this scene now. It just took my a good month to figure it out.

Here is my idea.

1. I'm going to use the grayscale image.
2. When a character is talking, I'm going to "color" their character in the scene and have their profile picture in the HUD.

This options gives me more flexibility with colors and I think it be a cool effect.