Better fading

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Better fading

Post by tokumaru »

Since the NES palette doesn't have many colors, fading in and out smoothly can be very hard. Most (all?) games I've seen just mess with the brightness of the colors, which means that fading sequences have only 4 steps. Personally, I think that's too little.

In other platforms (such as the SMS, which has a comparable number of colors), I've seen something that appears to make the process smoother, which is moving the palette towards blue as brightness goes down. That could double the number of steps when alternating between making the palette darker and making it bluer.

I implemented something similar and it looked great, but it used some huge look-up tables. Now that I've decided to work with less ROM, I had to cut those tables out, but would like to maintain the smooth fades. I've tried to calculate the palette on the fly and use smaller look-up tables but I think it's still too slow.

What I meant to ask is: does anyone know of any NES game that does this? I've never seen one, and was just curious to see how someone might have implemented this. Also, if anyone has any ideas, I'd sure like to hear them. I'm not expecting to copy anything from anyone, I'm just in search of some new ideas.

Another thing I have considered for smoother fades is alternating between changing the brightness bits and turning the color emphasis bits. For example, if I wanted to fade out I'd first turn all color emphasis bits on. During the next step I'd turn them off and decrement the brightness of all colors. Then the color emphasis again, and so on. I though that might make the fading smoother, but still doesn't help if I want to fade to white.
User avatar
koitsu
Posts: 4203
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Post by koitsu »

I think it'd be best to just stick with a 4-stage fade as you described initially. You're dealing with limitations of the hardware, and all the other ideas you proposed sound like they'd be visually more annoying to the player than just "keeping it retro".
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

koitsu wrote:You're dealing with limitations of the hardware, and all the other ideas you proposed sound like they'd be visually more annoying to the player than just "keeping it retro".
Do you think that fading through blue looks annoying? I think it looks great! All SMS games that use it look much better than the ones with 4-stage fades. And I'm pretty sure the idea of using the emphasis bits would allow for intermediate levels of brightness between each of the basic 4 stages.

I plan to do as little "sticking with the basics" as possible, as that is the reason the homebrew scene is stuck with technicaly uninteresting games (which doesn't necessarily mean they are bad games). Why would I go with the old, blocky 4-step fade when an 8-step is perfectly possible? I'm just looking for ideas on how to save ROM without wasting too much CPU, but it's definitely possible, one way or another, and it looks great.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Well, 4-stage fading looks great as long as it's fast enough. That's a hardware limitaiton of the NES somehow. Using color emphasis you could increase the number of stages as you say, but it could result in the impression of flickering on colors that are initially bright (altough you'd have to try on real hardware to know).

To fade to blue you'd probably want to reduce the hue as well as the luminousity. Final Fantasy does palette fade to hue instead of luminosity for more stages and this looks fun.
Useless, lumbering half-wits don't scare us.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Ah, Final Fantasy, huh? Great, that's exactly what I was looking for: NES games that work on hue during fading. I'll check it out.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Uh... I couldn't find a fade like you described in any Final Fantasy... They seem to use moving black bars for scene transitions, and the only time I've seen a palette animation was when you go into battle, but that was not a fade, it was just flashing. Is there a specific moment in the game I should be looking for?
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Post by Celius »

Perhaps it's in the Inn in FF2 or FF3... I would suggest trying one of those. I know it fades TO blue in FF3 when you stay at the inn.

EDIT: Go into the menu in FF3; I think it does it there.
CKY-2K/Clay Man
Posts: 214
Joined: Sun Apr 01, 2007 2:10 pm

Post by CKY-2K/Clay Man »

I've seen some games where they flicker between colors to try to mix them, and use that in a fading transition.

like

pink, flicker pink-lightred, lightred, flicker lightred-red, red, flicker red-darkred, darkred, flicker darkred-black, black

something like that.
Image
Here to at least get an idea of how the NES works. I mean I know alot of the basic things, but this place'll help me grasp more how NES functions.
Major respect to NES developers.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

I think flicker-based color mixing on consoles died with the seizure lawsuits.
Drag
Posts: 1350
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Post by Drag »

tepples wrote:I think flicker-based color mixing on consoles died with the seizure lawsuits.
In Megaman 2, when Megaman gets equipped with a new weapon, the part where he flickers between the two colors appears as a solid, non-flickering color on my tv. :P
Last edited by Drag on Thu May 14, 2009 9:36 pm, edited 1 time in total.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

Celius wrote:I know it fades TO blue in FF3 when you stay at the inn.
I suck at this game too much in order to bother finding an inn! O_o
EDIT: Go into the menu in FF3; I think it does it there.
This is a regular 4-step fade.
CKY-2K/Clay Man wrote:I've seen some games where they flicker between colors to try to mix them, and use that in a fading transition.
Oh no, flickering looks terrible! Is it possible that no NES games used hue shifts to increase the length of fading sequences?

EDIT: I checked some SMS games I had laying around and found 2 that fade through colors: Daffy Duck in Hollywood and Putt & Putter (found others, but they don't look as good). Ninja Gaiden has a pretty good fade-through-blue too. The SMS palette is RGB, and since it uses 2 bits per component, it would make sense to use a basic 4-step fade like on the NES. But instead, many games fade the components in clever orders to have a smoother animation. I find it strange that this isn't common at all on the NES (I can't seem to find a single game with a smoother fade).
Celius
Posts: 2159
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Post by Celius »

Oh, I guess you're right about the menu. Oops. Also, you wouldn't get to an Inn unless you beat the first boss and went to the first town. You start in a cave, so this takes about 10-15 minutes. Anyways, I looked and it actually doesn't fade to blue. It does like a hue cycling thing and stops on blue. I'm not actually sure where any fade to blue stuff happens in any FF game now that I think about it...

This may be a strange idea, but if you're using CHR RAM, you could try doing some dithering to fade out. For example, if you have a blue tile, place a black checkerboard over it to make it fade down once. But this might look really stupid, and might not be worth the time. But I just thought I'd mention it.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Uh... I couldn't find a fade like you described in any Final Fantasy... They seem to use moving black bars for scene transitions, and the only time I've seen a palette animation was when you go into battle, but that was not a fade, it was just flashing. Is there a specific moment in the game I should be looking for?
I was talking about when you enter or quit the menu or when you get OUTSIDE of battle in FF1.

About flickering, Mega Man actually appers flickering on my TV. That's where it really make a difference between CRTs and LCDs. At 50/60 Hz, CRTs will look flickering, but LCDs will shot a nice average of both color. So while flickering will be okay for GB, GBA or DS games, games that connects to a non HD TV set should avoid flickering unless it's supposed to flicker.
Useless, lumbering half-wits don't scare us.
User avatar
miau
Posts: 189
Joined: Mon Nov 06, 2006 9:34 am
Location: Potsdam, Germany
Contact:

Post by miau »

Celius wrote:This may be a strange idea, but if you're using CHR RAM, you could try doing some dithering to fade out. For example, if you have a blue tile, place a black checkerboard over it to make it fade down once. But this might look really stupid, and might not be worth the time. But I just thought I'd mention it.
That's an interesting idea actually. Could you theoretically achieve fade-out patterns like in Cave Story (first two seconds in the video)? They don't look too bad.

I suppose that would only work as long as there aren't many different tiles on screen because the NES would be too slow to handle all the chr ram updates within one vblank.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Destiny of an Emperor actually does something similar when entering in battle.
Useless, lumbering half-wits don't scare us.
Post Reply