Game Engine Black Book: Wolfenstein 3d

On

I built a 2.5D engine back in about 2006 with SDL and C on OSX. It worked (eventually) and taught me a lot. It wasn't particularly clever but had collision detection and textures, the latter stolen from Wolf 3D of course. It's a valuable experience as a programmer.

  1. Black Book: Epistolary Acumen Walkthrough
Engine

Download Game Engine Black Book: Wolfenstein 3D or any other file from Books category. HTTP download also available at fast speeds.

Renault laguna 2 service manual

What I never managed to understand was how they managed to get the performance they did out of the hardware. Mine crawled at a miserable 8fps at 640x480 on a 2GHz Core 2 Duo iMac. Performance is where the magic in this really is!

Black Book: Epistolary Acumen Walkthrough

Can't wait for the book. This looks very interesting! It's terrific to see people really dig into some of these early technical achievements while they're still fresh in our collective memory - limitations tend to inspire creativity, and I think we all like reading about those creative solutions. Modern embedded systems like Cortex-M processors can probably take some design hints from these projects which were developed on/for machines with very limited resources. I was thinking of looking into writing a simple emulator on one, maybe for the SNES or an early Gameboy (if anyone knows a good resource.?). It'll be super cool to get an in-depth window into how '3D' was managed without niceties like a programmable shader pipeline. The best that ARM-M chips seem to get is a dedicated memory controller for LCD interfacing, some SIMD operations, 2MB of 'bitband' memory that is rapidly addressable on a bitwise basis, and sometimes a display accelerator for single-cycle pixel operations in higher-end models.

3D games use a rectangular perspective projection - they project the scene to a 2D rectangle. Problem is that the FOV (field of view, zoom) is not correct unless you put your head very close to the monitor. This leads to distortion.

For example, if the FOV is 90 degrees, you need to put your eye (will only be correct for one, of course) centered in front of the display at a distance that's exactly half the width of the screen (draw the triangle). Obviously that's extremely uncomfortable so we pull back and deal with the distortion. Working around that with a fisheye projection has other issues, like straight lines in 3D ending up curved on the screen, and is a bit more computationally expensive, though not too bad these days. It's free in Wolfenstein-style 2.5D though (although Doom chose not to do it).