Exceptional NES visual effects animated GIF collection

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Exceptional NES visual effects animated GIF collection
by on (#185980)
I collected a few animated gifs here. If I missed anything, let me know.
Re: Exceptional NES visual effects animated GIF collection
by on (#185984)
Nice collection.

Bucky O'Hare also has some nice effects.
Re: Exceptional NES visual effects animated GIF collection
by on (#185985)
Good idea! From the top of my head, I can think of the cutscenes in Moon Crystal. I also want to say the fog in Faxanadu, which despite being a primitive trick, reasonably succeeded in simulating a translucent layer.

I also want to second Bucky O'Hare, that game is packed with interesting effects:

https://youtu.be/dWHPNnrTmKs?t=4m22s
https://youtu.be/dWHPNnrTmKs?t=5m38s
https://youtu.be/dWHPNnrTmKs?t=7m22s
https://youtu.be/dWHPNnrTmKs?t=10m28s
https://youtu.be/dWHPNnrTmKs?t=14m3s
https://youtu.be/dWHPNnrTmKs?t=24m23s
https://youtu.be/dWHPNnrTmKs?t=34m7s
https://youtu.be/dWHPNnrTmKs?t=34m29s
https://youtu.be/dWHPNnrTmKs?t=34m49s
https://youtu.be/dWHPNnrTmKs?t=36m25s
https://youtu.be/dWHPNnrTmKs?t=42m21s
https://youtu.be/dWHPNnrTmKs?t=43m1s
Re: Exceptional NES visual effects animated GIF collection
by on (#185986)
The gallery is hard to play on my computer because it tries to animate all of them at once, causing massive frame skipping. I looked for a slideshow mode button so that only one animation in the gallery could be animating at a time, so that the CPU can give each its full attention, but couldn't find one.
Re: Exceptional NES visual effects animated GIF collection
by on (#185987)
tepples wrote:
The gallery is hard to play on my computer because it tries to animate all of them at once, causing massive frame skipping. I looked for a slideshow mode button so that only one animation in the gallery could be animating at a time, so that the CPU can give each its full attention, but couldn't find one.

Right click and "open image in new tab"?
Re: Exceptional NES visual effects animated GIF collection
by on (#185994)
When I tried that, it was as if all the images kept animating at once in the hidden tab. But then I also had a Kickstarter tab open, and I ended up discovering that Kickstarter's background scripts are also a CPU hog. I'll try it again.
Re: Exceptional NES visual effects animated GIF collection
by on (#185995)
tokumaru wrote:
I also want to second Bucky O'Hare, that game is packed with interesting effects:


Wow. Those effects are brilliant. I'll try to capture some of them.
Re: Exceptional NES visual effects animated GIF collection
by on (#185998)
Some of those Bucky O'Hare effects are blowing my mind. I'm trying to wrap my brain around how some were done. But the tired-of-tech part of my brain says to just enjoy them :) Very impressive.

There's a similar effect in Mega Man 2 during the intro, specifically to give the impression of the camera panning up a really tall building: https://www.youtube.com/watch?v=vuJ8Qr-3_zg&t=30s (for those wondering: the windows and ledges on the left side of the building are moving sprites; everything else is the normal background)
Re: Exceptional NES visual effects animated GIF collection
by on (#186001)
tepples wrote:
When I tried that, it was as if all the images kept animating at once in the hidden tab.

Close the hidden tab, watch the one gif you selected, then right click the tab bar and select "reopen closed tab" to see the list again. Not perfect, but also not a terrible waste of time for something you'll not be doing all the time.

If I could suggest an improvement, it would be to get into the technical aspect of these tricks, maybe even include some visual aids so that even those who aren't familiar with the system's architecture can appreciate the effort put into creating those effects. That'd be a significant amount of work, but maybe we can collaborate.
Re: Exceptional NES visual effects animated GIF collection
by on (#186003)
Isn't this all either swapping out a few tiles to make it look like there's another background layer or changing scroll registers per scanline, coupled with sprites to hide horizontal splits on a few of these? Of course, I say this as if it were easy, and I know this is more difficult on the NES than the SNES or most anything else after it. The main thing that seems to limit what new thing you can show off is the lack of vram, and although some games like Battletoads have ram for tile data, I heard there's not enough time to update a substantial part of it outside the characters so you won't see anything like psychopathicteen's bullet demo. Elite is definitely impressive though (I'm assuming graphics are split into two bitplanes? I don't know how that much is being updated) and I don't know how Noah's Ark is doing the grayscale water effect, as I heard you can't swap colors midscreen on the NES. Recca is impressive on the CPU side for pushing that much crap.
Re: Exceptional NES visual effects animated GIF collection
by on (#186005)
I'll try to break down some of the effects in Bucky O'Hare:

Quote:
https://youtu.be/dWHPNnrTmKs?t=4m22s

Mid-screen horizontal scroll changes, the tail fins are sprites so that there's an overlap between layers.

Quote:
https://youtu.be/dWHPNnrTmKs?t=5m38s

Horizontal scroll changes to make the water surface scroll faster, ice crystals made of sprites follow along and help with the illusion of a superimposed layer.

Quote:
https://youtu.be/dWHPNnrTmKs?t=7m22s

I don't quite remember how they handled the vertical scroll changes, but the fact that the ice block wobbles so little has me believe that they didn't know how to fully control the fine Y scroll, so they might have used only $2006, instead of mixing $2006 and $2005 writes to gain full control over the scroll.

Quote:
https://youtu.be/dWHPNnrTmKs?t=10m28s

Plain old horizontal scroll changes, it seems.

Quote:
https://youtu.be/dWHPNnrTmKs?t=14m3s

The background patterns are bankswitched to various rotations to cancel out the scrolling of the foreground, so it appears to scroll independently.

Quote:
https://youtu.be/dWHPNnrTmKs?t=24m23s

Same thing, but restricted to windows.

Quote:
https://youtu.be/dWHPNnrTmKs?t=34m7s

The background is redrawn to move the pistons, but since each piston is composed primarily of vertical lines, only the part with spikes has to be redrawn, so the updates are actually quite small.

Quote:
https://youtu.be/dWHPNnrTmKs?t=34m29s

The name tables are blanked and little squares showing parts of the background are moved in software, while sprites are placed around each square to round them off and make them move smoothly.

Quote:
https://youtu.be/dWHPNnrTmKs?t=34m49s

I haven't checked, but there are several ways to mask sprites like that. I assume they're either disabling sprite rendering or using high priority sprites hidden behind the background.

Quote:
https://youtu.be/dWHPNnrTmKs?t=36m25s

My favorite. Notice how the right side is very detailed, but the left side is just repetitive horizontal patterns. Scrolling is used to move the right part, while only the edges of the left part are redrawn to negate the scrolling. The spikes are sprites. The far background is also very repetitive, it's only 8 pixels wide, but since the platforms move 4 pixels at a time or the movement would look too rough, they bankswitch the background to a version that's offset by 4 pixels, so that it looks stationary even when the platforms move.

Quote:
https://youtu.be/dWHPNnrTmKs?t=42m21s

This is very similar to an effect in Battletoads. Only the ends of the snake are updated in the name tables as it moves, while the illusion of movement is created by bankswitching the patterns of the body.

Quote:
https://youtu.be/dWHPNnrTmKs?t=43m1s

The huge beams are drawn on the background.
Re: Exceptional NES visual effects animated GIF collection
by on (#186006)
Espozo wrote:
Isn't this all either swapping out a few tiles to make it look like there's another background layer or changing scroll registers per scanline, coupled with sprites to hide horizontal splits on a few of these?

Mostly yes, but it does make games stand out from the rest of the library.

Quote:
I don't know how Noah's Ark is doing the grayscale water effect, as I heard you can't swap colors midscreen on the NES.

You can change the palette mid frame, but it's a pain in the ass and has several catches. Noah's Ark is simply turning on the monochrome bit along with the blue emphasis bit though, which isn't tricky at all. You just need a timer to know *when* to make this change.
Re: Exceptional NES visual effects animated GIF collection
by on (#186012)
tokumaru wrote:
Mostly yes, but it does make games stand out from the rest of the library.

True. I like the look of horizontal splits a lot more, but I think it looks best when both are combined. It would be really cool to see a more elaborate version of swapping tiles to make it look like there's another tilemap in the background. Most of the time, it's just some ugly 16x16 pattern. Of course, this would make it impossible to use ram for the graphics and the cartridge would have to be that much more complex along with taking more memory. this also could only realistically work if the screen was moving along one axis, but most NES games do already. The 16x16 palette area is also a huge problem, but if you were to pull off something crazy like this, it's probably expected you'd use the MMC5.

tokumaru wrote:
along with the blue emphasis bit though

It looks straight-up gray to me.
Re: Exceptional NES visual effects animated GIF collection
by on (#186013)
Cool collection, thanks for sharing!
Re: Exceptional NES visual effects animated GIF collection
by on (#186014)
Espozo wrote:
It looks straight-up gray to me.

It's blue. Check the RGB values.
Re: Exceptional NES visual effects animated GIF collection
by on (#186057)
The ones I don't know first:

Cosmic Epsilon, 3D world-runner, Tetrastar: not familiar with how they did it, though obviously all non-floor/gap objects are sprites in 3D world-runner.
Days of Thunder: Also unsure. Looks like the clouds are sprites, and I suspect the diagonal track is partly to have sprites on different lines, but I have no clue.
Castelian: one I want to know, since there was a TAS lately for it.
============
I'll add my best-guesses/observations for the rest.
Quote:
Plain old horizontal scroll changes, it seems. (Bucky O'hare, red planet: 10:28 )

-plus the horizontal-lines between platforms and the parallax background, and the horizontal lines above the parallax layers…tricking your eyes into adding their own scroll values for these, despite them being static.
Quote:
only the part with spikes has to be redrawn, so the updates are actually quite small.
It's still an 4-tall chunk of tiles each to draw (piston-or-blank, rivet, spike, spike). One thing is, the pistons don't all update on the same frame.
Quote:
The name tables are blanked and little squares showing parts of the background are moved in software,
Attribute tables paletting things to black (or not) would make more sense to me, but not sure. It's a lot fewer updates per-frame to diddle AT…and, if I see correctly, each lighting-up shot carefully stays within one attribute-table byte's 32-px band. The level geometry then makes all platforms also align to 32px, making the shots remain threatening.

Quote:
The huge beams are drawn on the background.
They don't even do the Quickman (Megaman 2) trick of having a sprite at the head of the beam to make it come out smoothly, but it's going much faster, anyway.

Of the gallery…a lot of them are just a buncha raster scroll splits, whether parallax or sinusoidal.
Metal Storm, Thunder Warrior: banking the central chasm (or other distant BG) to "slow down" its scrolling, getting apparent vertical parallax.
Crisis Force, Sword Master: combine above bank-slow with parallax scroll
Dizzy: change vertical scroll each scanline, invert scroll/compress (with per-line scrollchange) for the "Rolled" segment…and, since it looks a bit narrow, is using a thick bunch of sprites to obscure the glitches around HBlank, probably.
Boku Dracula-Kun: we've had a topic on this. Tower and (some) stars are sprites, so the moon/alien are parallaxed.

Battletoads (level 2: Wookie Hole): rewrite the tiles at the edges to slow their scroll; also note very little variation in the level BG. The color choices are handy for trcking your eyes into adding more parallax depth than exists.
Kirby's Adventure Butter Building Tower: banked tiles to look like it's spinning. The illusion doesn't look quite right on the bit where they draw three towers.
Micro Machines: the two-color distant-BG tile layer here, being 8x8 alternating squares, is very cheap to rewrite the pattern for each frame (Micro Machines uses CHR-RAM), as one will be able to write the same bytes multiple times.
Monster in my Pocket: the edges of the TV are narrow enough to be sprites, and behind the face notably shares a palette with outside it.
Rescue - the Embassy Mission: blue and brown palettes only have 3 colors, so one duplicates BG-black so it can occlude the 8x8 sprites beng moved behind it. Note that the window is only 7 tiles wide-this makes for a 1-tile(/sprite) scrollseam allowed.
Secret Ties: parallax+sprite to mix layers
Street Heroes: unconventional choiec of BG color as red, use of priority.
Summer Carnival '92 RECCA: scroll splits, scroll splits, sprite flicker, and more scroll splits. OH, hey, there's that laser effect that Minus Infinity lifted. Some manner of spritework.
Why is Taboo on there? That's just changing palette table and plain scrolling, not even having to rewrite NTs.
Final Lap: like Rad Racer, I bet: a lot of scroll splits and a surprisingly-static NT.

Quote:
impossible to use ram for the graphics
nah, you can have bankswapped CHR-RAM. Only a few programs did it (inc. Videomation, RacerMate Challenge II, and Oeka Kids), but it's possible and been done.
Re: Exceptional NES visual effects animated GIF collection
by on (#186062)
Myask wrote:
Days of Thunder: Also unsure. Looks like the clouds are sprites, and I suspect the diagonal track is partly to have sprites on different lines, but I have no clue.

It uses the two nametables as a double buffer, and the track displays at 30 fps (taking 2 frames to update the field of view, which only takes up half the screen).

It doesn't use sprites for the diagonals. It's just got a lot of tiles dedicated to the track, occupying 3k of the CHR space constantly, paging pieces in 1k blocks. Probably some technical animator spent a lot of time working out a sequence of which 1k blocks you'll need, frame by frame? There are a lot of rough edges though, maybe it's some sort of heuristic best-fit situation? The tracks are deterministic, of course, you can only go forward, so the exact sequence of images needed can be determined in advance.

The clouds are sprites, yes. Interestingly, there are also behind-the-background masking sprites at the left and right edges of the field to hide the edges of sprites as they scroll into view.