Fake 3D Until You Make 3D
January 9, 2015 5:43 AM   Subscribe

Louis Gorenfeld lovingly explores the mathematics and techniques behind early, pseudo-3D games.
Now that every system can produce graphics consisting of a zillion polygons on the fly, why would you want to do a road the old way? Aren't polygons the exact same thing, only better? Well, no. It's true that polygons lead to less distortion, but it is the warping in these old engines that give the surreal, exhillerating sense of speed found in many pre-polygon games. Think of the view as being controlled by a camera. As you take a curve in a game which uses one of these engines, it seems to look around the curve. Then, as the road straightens, the view straightens. As you go over a blind curve, the camera would seem to peer down over the ridge. And, since these games do not use a traditional track format with perfect spatial relationships, it is possible to effortlessly create tracks large enough that the player can go at ridiculous speeds-- without worrying about an object appearing on the track faster than the player can possibly react since the physical reality of the game can easily be tailored to the gameplay style.
posted by gilrain (16 comments total) 39 users marked this as a favorite
 
Aha, I knew "Extent of the Jam" was familiar -- I have the Digits VST plugin.

Nifty article. I'm amazed at what programmers accomplished on the Atari 2600 given its limitations.

Does anyone else remember Night Driver? Amazing sense of speed, all done with a few fat white blocks outlining the sides of the road, and a permanent decal of a car at the bottom middle of the screen.

280 Zzzap was a fancier, Datsun-branded version with more overlays over the screen, making the speedometer at the bottom section look like a separate display. Hot stuff.
posted by Foosnark at 6:27 AM on January 9, 2015 [4 favorites]


I tend to say "YO I KNOW THAT GUY" a lot, but THIS guy..

Let's just say Louis' work, this info you linked to specifically, has already helped me implement my own pseudo-3D racing engine, using his math and tech notes as a base. So yes, dude knows what he's talking about. This technique really does give you a sense of thrill and exaggerated speed that "real 3D" can't often match, and the stuff Sega pulled off in the early 90s was absolutely ridiculous wizardry.

So the real reason I'm doing this is that nobody would hire me to write a latin jazz fusion FM chiptune soundtrack for a racing game (trust me, I've tried so hard..) The solution was to write my own goddamn game, in order to have visuals for what I hope will be the ultimate Sega S.S.T. Band-style homage. After a year of work, got a full-length game going with 6 stages across the US, but I'm just starting on final artwork to replace the temp sprites, which will take a while (hundreds of buildings, plants, rocks, ferris wheels, road signs, and other objects to blow past at 200mph!)

I plan to present the whole thing to Louis when it's done, like "you see what happens?"
posted by jake at 6:33 AM on January 9, 2015 [31 favorites]


This is so cool to see referenced on the blue! I've been pondering building a Road Rash clone for modern systems for a while, and this kind of reference on the game engine is very helpful.

Nothing else seems to recreate the speed and sense of fluidity of the old raster graphics.
posted by Nutri-Matic Drinks Synthesizer at 6:33 AM on January 9, 2015 [1 favorite]


I've been pondering building a Road Rash clone for modern systems for a while

Yes! I used to go over to my friend Scott's house just to play Road Rash on his Game Gear.
posted by stinkfoot at 7:43 AM on January 9, 2015


I love this effect, even though I'm too young to be nostalgic for it*. It's a such a "pure" effect, a bit of math and clever hardware and you get a road. So cool. Also, raycasting engines.

* okay, not quite. Sonic CD has brutally difficult 3D bonus levels which use something similar to display the ground and I've never been able to beat them consistently.
posted by BungaDunga at 7:43 AM on January 9, 2015


jake: "So the real reason I'm doing this is that nobody would hire me to write a latin jazz fusion FM chiptune soundtrack for a racing game (trust me, I've tried so hard..) The solution was to write my own goddamn game"

This sentence is the most wonderful thing I have read all day.
posted by vanar sena at 7:50 AM on January 9, 2015 [2 favorites]


jake, your inspiration sounds amazing, and your progress looks great! If you intend to release it publicly when ready, I encourage you to post it to Mefi Projects. Just watch out for that "not perfect yet" thought cycle, eh?
posted by gilrain at 8:04 AM on January 9, 2015


That was really great. He missed one example, Hard Drivin' for the Genesis.
posted by codacorolla at 8:31 AM on January 9, 2015


Oh, I so miss the days of trying to figure out how to not touch extra pixels, or how to get rid of the extra perspective divides, or even just smarter ways to figure out the divide by 7 and weird horizontal scanline mapping on the Apple ][.

And wireframe, and...
posted by straw at 9:56 AM on January 9, 2015


Funny you mention Road Rash, as I finally played the thread-appropriate Road Rash 3D. It was horrible. Unplayable. The only way to make it work was to totally ignore the combat aspects and just race for the finish line while hoping you didn't get knocked off your bike. Graphically crap, controls were awful. It was just a disaster, mainly I suspect because they were trying to figure out how to handle actual 3D.

Compare to the original Road Rash gameplay video linked above.
posted by Naberius at 10:04 AM on January 9, 2015


smarter ways to figure out the divide by 7 and weird horizontal scanline mapping on the Apple ][

Anything but lookup tables is Doing It Wrong.
posted by flabdablet at 12:05 PM on January 9, 2015 [1 favorite]


He missed one example, Hard Drivin' for the Genesis.

Hard Drivin' was actually, as far as I know, the first really 3D racing game. It didn't "cheat" like its contemporaries.

Anyone who wants some retro racing in their lives really ought to check out the Drift Stage alpha. It's also real-3D, but still.
posted by neckro23 at 2:55 PM on January 9, 2015 [1 favorite]


It looks like Zaxxon used a completely different method to simulate 3d...
posted by rudd135 at 4:21 PM on January 9, 2015


Let us not forget the advanced programming genius of Bill Gates. This driving game, written personally by Bill Gates, was the most widely distributed video game in history.
posted by charlie don't surf at 8:27 AM on January 10, 2015


Donkey is top-down so they didn't have to deal with 3D. Though when you crash and the car and donkey each explode into two pieces, I notice it changes colour when the piece passes over the cyan sections of the screen. Which feels like the result of a weird graphics hardware limitation, like you couldn't have white and cyan in the same 8x8 block or something.
posted by RobotHero at 9:42 AM on January 11, 2015


feels like the result of a weird graphics hardware limitation, like you couldn't have white and cyan in the same 8x8 block or something.

Nah, the PC let you put all 4 (or maybe 16) colors anywhere on the screen. That effect would be XOR. "The IBM PC/PCjr lacks hardware sprites, but compensates with GET and PUT commands that can store a graphics object in a BASIC array and stamp it onto the screen at any location. By stamping the same shape twice in XOR (exclusive OR) mode, you can restore whatever previously appeared in that area, making it possible to move a graphics object nondestructively."
posted by sfenders at 2:13 PM on January 12, 2015 [1 favorite]


« Older Will your grandkids being able to view a .jpg file...   |   The Rise of Extreme Daycare Newer »


This thread has been archived and is closed to new comments