Wolfenstein 3D engine

Wolfenstein 3D engine
Developer(s) id Software
Initial release May 5, 1992 (1992-05-05)
Written in C, x86 assembly language
Platform DOS, Xbox 360, PlayStation, Microsoft Windows
Type Game engine

The Wolfenstein 3D engine is the engine that powers Wolfenstein 3D. The biggest part of the engine was programmed by John Carmack. It was written in C and x86 assembly language. It features graphics (ray casting), sound (PCM and IMF), player physics, and game control.

Features and limitations

A simple raycasting rendering similar to the one used in the Wolfenstein 3D engine. The red dot is the player's location. The orange area represents the visible portion of the world within the player's field of view.

To render the walls in pseudo-3D, the game uses ray casting. This technique emits one ray for each column of pixels, checks if it intersects a wall, and draws textures on the screen accordingly, creating a one-dimensional depth buffer against which to clip the scaled sprites that represent enemies, powerups, and props.

Before Wolfenstein 3D, the technology had already been used by id Software in 1991 to create Hovertank 3D and Catacomb 3-D for Softdisk. Other games using the Wolfenstein 3D game engine or derivatives of it were also produced, including Blake Stone, Corridor 7: Alien Invasion, Operation Body Count, Super 3D Noah's Ark, Rise of the Triad, and Hellraiser, an unreleased Color Dreams game planned for the PC and the Nintendo Entertainment System. The success of the engine also inspired numerous imitators such as Ken's Labyrinth (predecessor to the Build engine), Nitemare 3D, Isle of the Dead, The Fortress of Dr. Radiaki, and the Pie in the Sky engine.

According to id Software programmer John Carmack, the game's engine was inspired by a technology demo of Looking Glass Studios'/Origin's first-person role-playing video game, Ultima Underworld: The Stygian Abyss from 1991. Carmack claimed he could make a faster renderer.[1] In this he was successful. The Wolfenstein 3D engine lacks many features present in the Underworld engine, such as ceiling or floor height changes, sloped floors, curved walls, and lighting, but it ran well on relatively weak hardware.

The secret behind engine's performance is vertical scanline scaling algorithm. Unlike later engines and hardware rasterizers, the texture coordinate for the pixel is not calculated at runtime. Instead, a fixed set of several hundred rendering functions is generated during game startup (or viewport size change) where all memory offsets are fixed. To keep the number of these procedures small, height is quantized, which can be easily seen when player is close to the wall, but not looking at it at a right angle.

Features include:

Limitations of the engine include:

"Holo-walls" are walls created by mapmakers using a glitch in the PC version's engine. They are walls that the player can walk through, and are used in some total conversions to simulate windows that players can climb through, and hedges that players can walk through. One way of creating holo-walls is to place a dead guard in a wall.

Games using the Wolfenstein 3D engine

Games that are built on the Wolfenstein 3D engine

Rise of the Triad features a heavily modified version of the Wolfenstein 3D engine which utilizes some early code from the Doom engine.[2]

Predecessors

A few games used the technology developed by John D. Carmack before Wolfenstein 3D, all of which were published by Softdisk under the terms of id's then contractual obligations; the Catacomb 3D sequels were not made by id Software, however. The Wolfenstein 3D engine is a direct continuation of the engine used for these games, though much of the code was optimized and cleaned up from these early bases, as well as the additions of features such as VGA graphics (as opposed to EGA) and digitized sound support (as opposed to PC speaker or AdLib Music Synthesizer Card); texture mapping was also not present in Hovertank 3D, and so all walls were solid colour. The source code to Hovertank and Catacomb 3D were released in June 2014 by Flat Rock Software under the GNU General Public License in a manner similar those done by id and partners.[3]

See also

External links

References

  1. Mallinson, Paul. (2002). [Interview with Paul Neureth and Doug Church, developers of Ultima Underworld]. Games that changed the world: Ultima Underworld, 2002-04-16, archived from the original on 2007-12-12, Computer and Video Games site.
  2. The Rise of the Triad source code from 3drealms.com - released December 20, 2002 under the GNU General Public License
  3. Larabel, Michael (June 6, 2014). "id Software's Softdisk Open-Sources Some Really Old Games". Phoronix. Retrieved June 6, 2014.
This article is issued from Wikipedia - version of the Wednesday, March 09, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.