[ 3 / biz / cgl / ck / diy / fa / g / ic / jp / lit / sci / tg / vr / vt ] [ index / top / reports / report a bug ] [ 4plebs / archived.moe / rbt ]

Due to resource constraints, /g/ and /tg/ will no longer be archived or available. Other archivers continue to archive these boards.Become a Patron!

/vr/ - Retro Games


View post   

[ Toggle deleted replies ]
>> No.3076267 [View]
File: 886 B, 171x40, gif.latex.gif [View same] [iqdb] [saucenao] [google] [report]

OP here. This took a while to appreciate how it was done when I puzzled over it years ago. The implementation is actually very simple.

Clearly the background is using SNES Mode 7. In a nutshell, Mode 7 let's you transform a single background layer with 2x2 matrix and translate it with a 2D vector (math speek: a 2D affine transformation). The cool thing is that Samus moves with the background, and you can tell she interacts with the slanting floor as you'd expect. So how was this done, especially on old hardware?

Easy: You run the game physics like normal, with no modification. When it comes time to render the frame, you enable special programming for this room that tweaks the background and on-scene objects' RENDERED position using a single affine transformation; Mode 7 is used as usual, while Samus' has her normal render position transformed in software and then drawn to hardware. Where in the room to position the camera is more involved than usual, however under restrictions (like being a vertical shaft) the programming probably isn't that complicated.

>> No.3067292 [View]
File: 886 B, 171x40, gif.latex.gif [View same] [iqdb] [saucenao] [google] [report]

That's one way to look at it. Technically the SNES performs an affine transformation (matrix multiply+vector addition). If you were to apply the transform to a rectangular grid of points, then this is equivalent to your "trapezium" visualization. Matricies and vectors are just how you make that idea exact.

View posts [+24] [+48] [+96]