Disch wrote:I was never a fan of this idea.
It wouldn't look as good as people imagine it. It might work for backgrounds, but the sprites would look horribly out of place mainly because animation restrictions are still there.
Megaman, for example. Even with souped up graphics, his walking animation is only 3 frames. With NES graphics that looks natural. With "HD" graphics it would look absurd.
Link in the original Legend of Zelda has a 2 frame walking animation.
Link in Zelda 3 had what... 8 frames? Can you imagine how ridiculous Zelda 3 link would look if you cut that animation down to 2 frames?
Also a lot of games recycle tile graphics for multiple frames. Final Fantasy, for example, draws its character graphics with a 2x3 arrangement of sprites. However, when walking, only the bottom tiles animate.. the top 4 tiles are the same as the "standing" graphics. Megaman would be another example of this... when walking, not all of his tiles change each frame.
It also breaks effects. If you throw out the NES palette and use true color images, what do you do about palette animations? How do you tell the difference between red koopa shells and green ones?
It also changes the emulation aspect of things. For an emulator to be really accurate, it has to fetch and process chr data at very specific times. To handle "HD" data, you'd basically have to create an entirely separate PPU emulator. And couldn't that also change the behavior of potentially game altering effects like sprite-0 hit?
You pretty much have to design your new graphics for many different palettes, since palette swaps are a reality. Think of it as replacing NES graphics with SNES-style graphics, then possibly increasing the resolution as well. SNES games used palette swaps too.
Using 16-bit or 24-bit truecolor graphics isn't a great idea at all. I was never suggesting anything like that. Maybe for title screens or something...
I hadn't even thought of different graphics depending on palettes until somebody brought up the clouds and bushes of SMB1. Maybe for specific palettes, they could use different images.
As for the question about sprites being only partially animated, there are two possible approaches to sprite replacement.
You could do a simple tile replacement, where the new tiles are constrained to the size of the old tiles. Then you would need to match the original art style, and work around how the original sprites were animated.
The other approach is to allow replacement "tiles" to be much bigger that the source tile, and can be drawn at an offset location. So you could blank out the parts that animate the wrong way, and make the other sprites bigger so the entire image is covered.
But if you are trying to make new graphics for a classic game, you probably have a lot of respect for the source material, so you are probably more likely to try to emulate how the original game chose to animate its graphics.
The Mega Man walk cycle is downright iconic. Even when it's actually
Coach Z doing a hip-hop dance.
As for emulation, you don't have to change anything at all. You still do enough PPU simulation for accurate sprite 0 hits and Zapper emulation using the original character data. Then you have another engine draw the replacement graphics instead of the original graphics.
Oversized replacement background tiles might be a little tricky, since they can be bankswitched in and out of existence while the frame is rendering, and the tiles can also be scrolled around with wavy background effects. But I think there's a good enough way to handle them.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!