Overdrive 2 scene by scene

Discussion of development of software for any "obsolete" computer or video game system. See the WSdev wiki and ObscureDev wiki for more information on certain platforms.
Post Reply
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Overdrive 2 scene by scene

Post by tepples »

The demo Overdrive 2 by Titan is made for 50 Hz Mega Drive systems. It is not compatible with Genesis systems or Japanese Mega Drive systems, and there are reports that the debug mode on which it relies doesn't even work correctly on all European console revisions. Because I can't afford to import a full 50 Hz stack, I had to refer to a video while making the following breakdown of how the effects might be replicated elsewhere

0:03 film-like pacing
0:33 Cube Quest/Iridion 3D-like background loop
1:00 Fuzz is HDMA on horizontal scroll
1:06 subtractive color math
1:14 pushing 16x16-pixel sprite chunks together
1:27 average color math (Donkey Kong Country does similar effects), with the texture pattern gradually clearing up over the scene. Not sure how the clouds in the far layer were built
1:59 Tunnel of squares curving in all four directions. Do whatever Nintendo's X/Lunar Chase does.
2:05 Plan VRAM very carefully for the transition from mode 7 (zooming) with a sprite-based background plane to mode 2 (OPT).
2:15 The logo becomes sprites. The circles aren't mode 7; they're mode 0.
2:26 Checkerboard. I have no idea what's being done here. If there were four layers, HDMA in mode 0 could change HV offset every line, but there are more than four. Perhaps use window to render the frontmost layer once there are more than 4 squares?
2:37 Rendering polygons in planar mode is tough, I'll admit. Fortunately it doesn't start to spin until the checkerboards are out of the way and the maximum vertical area isn't very big, so use of mode 7 for its packed mode might be practical.
2:48 mode 0. color math, pseudo hires... I think
3:09 3D matrix math for that many sprites... now that's tough without any sort of 16x16 multiply. I see a moiré background, and I can't tell know it's done perhaps because of video encoding artifacts.
3:20 This should be fairly easy to do with HDMA to change V offset. It's just a lot of geometry to interpolate every frame. There are shadows, for which a window may help.
3:31 I've seen similar rotating checkerboard effects in Mental Respirator by Phantasy, rendered as one row of tiles per layer and then offsetting that every 8 pixels. It's just that there are too dang many layers.
3:47 fairly obvious additive color math
4:15 no idea how to replicate "broken border" here
4:25 mosaic? SNES does that in hardware
4:30 just do it with mode 7, and renormalize coordinates once it gets far enough in
4:52 also mode 7, though as at 3:20 there's a lot of geometry
5:08 No idea how to make that gyroscope efficient, other than taking advantage of it being small.
5:19 no idea how to do this blobs that also appears at 0:42 in Farbrausch's fr-018: aGb
5:30 The interlace lines give a bit of clue about the plasma, and the scene is subtractively blended on
5:35 ooh, a mode 2 plasma
5:46 getting this perspective-correct might be tough
6:08 oh crap, full screen 6DOF 3D, do we need a Super FX now? I can tell it is using OPT for the sky box just like Star Fox
6:35 Don't be fooled. This isn't a mode 7 floor; it tilts.
6:45 End of demo. What remains is credits.
User avatar
Nikku4211
Posts: 569
Joined: Sun Dec 15, 2019 1:28 pm
Location: Florida
Contact:

Re: Overdrive 2 scene by scene

Post by Nikku4211 »

tepples wrote: Sat Jan 23, 2021 11:28 am 4:15 no idea how to replicate "broken border" here
Since this is a PAL thing, you may not need to if you wish to accomplish NTSC compatibility.

The SNES has an overscan mode that gives it 15 more scanlines, though that may not be enough of a border.
Last edited by Nikku4211 on Wed May 05, 2021 4:47 pm, edited 1 time in total.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.
turboxray
Posts: 348
Joined: Thu Oct 31, 2019 12:56 am

Re: Overdrive 2 scene by scene

Post by turboxray »

tepples wrote: Sat Jan 23, 2021 11:28 am
2:37 Rendering polygons in planar mode is tough, I'll admit. Fortunately it doesn't start to spin until the checkerboards are out of the way and the maximum vertical area isn't very big, so use of mode 7 for its packed mode might be practical.
You don't need to render all of it to planar. Use the BG mode that uses 8x8 tiles and 8px vertical offset. You can then have a display that is 8x1. Have the renderer optimize horizontal pixel in runs of 8px for an 8x1 tilemap entry instead of writing to a planar tile. You can even have edge/color transitions. Just have a bunch of tiles with two color offsets at varying offset inside the 8x1 slice.
User avatar
Nikku4211
Posts: 569
Joined: Sun Dec 15, 2019 1:28 pm
Location: Florida
Contact:

Re: Overdrive 2 scene by scene

Post by Nikku4211 »

turboxray wrote: Sat Jan 23, 2021 1:40 pm You don't need to render all of it to planar. Use the BG mode that uses 8x8 tiles and 8px vertical offset. You can then have a display that is 8x1. Have the renderer optimize horizontal pixel in runs of 8px for an 8x1 tilemap entry instead of writing to a planar tile. You can even have edge/color transitions. Just have a bunch of tiles with two color offsets at varying offset inside the 8x1 slice.
I wonder: would this 8x1 tilemap renderer system run faster than rendering to mode 7's chunky tileset format or rendering to mode 7 tilemap using solid colour tiles?
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.
LocalH
Posts: 186
Joined: Thu Mar 02, 2006 12:30 pm

Re: Overdrive 2 scene by scene

Post by LocalH »

Nikku4211 wrote: Sat Jan 23, 2021 12:13 pm
tepples wrote: Sat Jan 23, 2021 11:28 am 4:15 no idea how to replicate "broken border" here
Since this is a PAL thing, you may not need to if you wish to accomplish NTSC compatibility.

The SNES has an overscan mode that gives it 15 more pixels, though that may not be enough of a border.
Given the video chips that I've seen to have an unofficial capacity to disable the border, you need to find some way to fool the video chip into forgetting to draw the border
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Overdrive 2 scene by scene

Post by tepples »

Sik says 0:33 works more like the game Yoomp! for the Atari XL/XE (video).
User avatar
Nikku4211
Posts: 569
Joined: Sun Dec 15, 2019 1:28 pm
Location: Florida
Contact:

Re: Overdrive 2 scene by scene

Post by Nikku4211 »

tepples wrote: Wed May 05, 2021 5:35 am Sik says 0:33 works more like the game Yoomp! for the Atari XL/XE (video).
Oh, you had a chance to talk to one of the people who coded the demo?

How many of the effects did you guess correctly about how they worked?
tepples wrote: Sat Jan 23, 2021 11:28 am 1:14 pushing 16x16-pixel sprite chunks together
I've been thinking about this a lot and I realised one thing about this:

Doing that wouldn't really work that well when your sprite has big transparent areas in its edge.
tepples wrote: Sat Jan 23, 2021 11:28 am 2:26 Checkerboard. I have no idea what's being done here. If there were four layers, HDMA in mode 0 could change HV offset every line, but there are more than four. Perhaps use window to render the frontmost layer once there are more than 4 squares?
There seems to be 7-8 visible layers per frame.
tepples wrote: Sat Jan 23, 2021 11:28 am 3:09 3D matrix math for that many sprites... now that's tough without any sort of 16x16 multiply. I see a moiré background, and I can't tell know it's done perhaps because of video encoding artifacts.
Maybe you can do the maths using look-up tables? I'm not an expert at that field, though.

The moire background looks like it can be done with 2 layers of circles.
tepples wrote: Sat Jan 23, 2021 11:28 am 6:08 oh crap, full screen 6DOF 3D, do we need a Super FX now?
You sure this isn't a vector streamer that doesn't actually do 3D maths? All the NICCC demos are just vector streamers.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.
Post Reply