nesdev.com
http://forums.nesdev.com/

Sprite shearing to fake rotation
http://forums.nesdev.com/viewtopic.php?f=21&t=9678
Page 3 of 4

Author:  Bregalad [ Sat Mar 16, 2013 4:32 am ]
Post subject:  Re: Sprite shearing to fake rotation

Just as a side note, a similar effect can be done to fake scaling as well. The image has multiple scaled versions of itself, and to make the transition smoother, between them the sprites within the metasprite are themselves scaled.

Quote:
Have you played or watched a video of the game where this is used? These are boxes that a (disturbingly legless) person pushes around, so they have to be animated like that.

Not before, but now I just wated it and apparently the video is older than the last post as there is less angles in the video than on tepple's last post apparently.

Author:  tokumaru [ Sat Mar 16, 2013 6:16 am ]
Post subject:  Re: Sprite shearing to fake rotation

There's a newer video in the game's thread that has the new animation.

EDIT: As for the scaling trick, I'm sure I've seen it in a fighting game for another console... Characters could jump to a second, farther away plane, and the transition was made smoother by "compacting" the individual sprites closer together. I'm not sure if there was a second set of sprites for the second plane or if it was all done with "compacted" sprites. I think it's the Yu Yu Hakusho game on the Mega Drive, gotta check it out.

Author:  tepples [ Sat Mar 16, 2013 6:51 am ]
Post subject:  Re: Sprite shearing to fake rotation

3D Battles of Worldrunner uses compacting for "pillar" type objects.

Author:  Sik [ Sat Mar 16, 2013 12:52 pm ]
Post subject:  Re: Sprite shearing to fake rotation

tokumaru wrote:
EDIT: As for the scaling trick, I'm sure I've seen it in a fighting game for another console... Characters could jump to a second, farther away plane, and the transition was made smoother by "compacting" the individual sprites closer together. I'm not sure if there was a second set of sprites for the second plane or if it was all done with "compacted" sprites. I think it's the Yu Yu Hakusho game on the Mega Drive, gotta check it out.

Yep, though there's only one set of sprites (in fact that was probably the whole point, otherwise they wouldn't have bothered with it since the only sprite that is actually involved in the transition is the hop when you switch planes).

EDIT: also the problem with this method is the added sprite overlap increases the chances of sprite overflow. Not really much of an issue on the fourth generation consoles, but definitely a huge issue for the NES where you can have only 8 tiles worth of sprites on the same line.

Author:  tokumaru [ Sat Mar 16, 2013 7:05 pm ]
Post subject:  Re: Sprite shearing to fake rotation

Sik wrote:
in fact that was probably the whole point, otherwise they wouldn't have bothered with it since the only sprite that is actually involved in the transition is the hop when you switch planes

True. I just checked the game, and indeed it's easy to see the imperfections on the compacted sprites.

Author:  Sik [ Sun Mar 17, 2013 5:04 am ]
Post subject:  Re: Sprite shearing to fake rotation

Only if you're actively looking for them, and honestly doesn't look much worse than if you did scaling the proper way. But it only shrinks the sprites down just a bit, I'd imagine it'd be much more noticeable if it shrunk down by a pretty large amount. The text in the middle at the start and end of a match actually does that, but it animates so fast it's pretty much impossible to notice how bad it looks.

Author:  mikejmoffitt [ Thu Mar 21, 2013 7:33 am ]
Post subject:  Re: Sprite shearing to fake rotation

Street Fighter 2 uses this technique of compacting sprites together to produce a fake scaling effect for the "Round [n]" thing at the start of the round:
Image
It looks... okay?

Author:  tepples [ Thu Oct 31, 2013 8:09 pm ]
Post subject:  Re: Sprite shearing to fake rotation

In cartoons, it's common to momentarily squash an object that comes in contact with another object. This can be simulated on the NES in a similar manner to shearing: by drawing the 8x8 pixel sprites of an animation cell less than 8 pixels apart for a few frames. (Yes, this may momentarily increase flicker on the overlapped scanlines.) Do any NES games do this?

Attachments:
nosquash.gif
nosquash.gif [ 3.2 KiB | Viewed 2800 times ]
squash.gif
squash.gif [ 3.29 KiB | Viewed 2800 times ]

Author:  tokumaru [ Fri Nov 01, 2013 7:20 am ]
Post subject:  Re: Sprite shearing to fake rotation

The difference is very subtle, but I think it does improve the overall perception of smoothness. The same could be done horizontally, when running into walls or other objects.

I'm not aware of any NES games squashing sprites on impact, but the concept of animating things without actually changing the graphics has been used since forever to make animations look smoother. In Anime for example, where characters are animated at 12fps or less, it's common practice to alternate background and foreground animations so that you don't end up with 2 consecutive identical video frames. If a character is moving, the same animation frame might be reused in different positions a couple of times before it's replaced by the next frame, so even though the character is in the exact same pose the result will look smoother than 12fps. This happens in video games all the time, because even if a game uses a really poor 2-frame walk cycle, the character will still "slide" smoothly over the floor.

I'm all for making the most out of the few tiles we have available on the NES, so if you can add extra animation frames just by displacing the tiles a bit, I say go for it.

Author:  lidnariq [ Fri Nov 01, 2013 12:10 pm ]
Post subject:  Re: Sprite shearing to fake rotation

Kirby in Kirby's Adventure uses the "compress self" (down) cel at the end of landing.

Author:  Dwedit [ Fri Nov 01, 2013 3:01 pm ]
Post subject:  Re: Sprite shearing to fake rotation

tepples wrote:
In cartoons, it's common to momentarily squash an object that comes in contact with another object. This can be simulated on the NES in a similar manner to shearing: by drawing the 8x8 pixel sprites of an animation cell less than 8 pixels apart for a few frames. (Yes, this may momentarily increase flicker on the overlapped scanlines.) Do any NES games do this?


Zelda 2 kinda does, Link enters the crouching animation when he lands from a full height jump or fall.

Author:  Bregalad [ Fri Nov 01, 2013 3:26 pm ]
Post subject:  Re: Sprite shearing to fake rotation

It might be a small detail, but I think it makes the animation looks 10 times better.

Author:  mikejmoffitt [ Fri Nov 01, 2013 10:50 pm ]
Post subject:  Re: Sprite shearing to fake rotation

Dwedit wrote:
tepples wrote:
In cartoons, it's common to momentarily squash an object that comes in contact with another object. This can be simulated on the NES in a similar manner to shearing: by drawing the 8x8 pixel sprites of an animation cell less than 8 pixels apart for a few frames. (Yes, this may momentarily increase flicker on the overlapped scanlines.) Do any NES games do this?


Zelda 2 kinda does, Link enters the crouching animation when he lands from a full height jump or fall.


Ducktales does this with Scrooge as well in the same situation.

Author:  Shiru [ Fri Nov 01, 2013 11:02 pm ]
Post subject:  Re: Sprite shearing to fake rotation

So does Chip & Dale and many other games where artists had some understanding of basics of animation. The idea that tepples suggested is not in using the same basics, but in implementing it with relative sprite shifts rather than with extra tiles for the squashing frame, like (almost) all games are doing.

Author:  tepples [ Sat Nov 02, 2013 7:41 am ]
Post subject:  Re: Sprite shearing to fake rotation

Another thing I thought of is combining the two: using relative sprite shifts to transition in and out of the crouch pose.

Page 3 of 4 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/