Axelay scroll proof of concept

Announce (tech) demos or games releases

Moderator: Mask of Destiny

Posts: 35
Joined: Tue Sep 06, 2011 2:16 am
Location: Austin, TX

Post by tristanseifert » Mon Apr 16, 2012 4:53 am

This is indeed a very interesting effect! As Oerg stated above, we did get something like this done, just a lot more efficiently and in pure ASM. I ran some basic benchmarking and optimised the HBlank handler a little, and there's a lot of free time during active display.

The bottom line is: I doubt you could do this in a Sonic hack or something, but it should be fine when you don't need to do many processing intensive things. Should work fine for most games out there. It's just a matter of optimising it, and knowing your game engine.

Very interested
Posts: 62
Joined: Sat Aug 08, 2009 4:44 pm

Post by andlabs » Sun Apr 22, 2012 12:41 am

One thing I don't get (and why I need to start playing around with the VDP): if this is just setting vertical scroll position, how is the effect of squishing achieved? Optical illusion? tristanseifert says it is...

Chilly Willy
Very interested
Posts: 2854
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Sun Apr 22, 2012 3:30 am

Think of the vscroll as a means of skipping lines. If the source image is 512 tall, and you set the vscroll for each line so that you skip every other line, you are scaling the image to 256 tall. Now vary that scale at the top and bottom of the frame for perspective to make it look like the image is rounded instead of a flat shrink.

Set the top scroll to skip more lines, which shrinks the image more making it look further away. Gradually shrink the image less as you approach the middle to make it look like it's coming closer. Hold that across the middle, then shrink more as you move toward the bottom of the screen to make it look like it's further away. That gives a rounded or horizontal cylinder look to the image. Then offset all the scales to make it look like the cylinder is rotating.

Post Reply