Lovingly reproduced from the Game Engine Black Book: Wolfenstein 3D by Fabien Sanglard.

Wolf3D on Everything: Ports, Odds & Ends
Lovingly reproduced from the Game Engine Black Book: Wolfenstein 3D by Fabien Sanglard.
The Wolfenstein 3D engine was built for one machine and one operating system. Moving it to anything else meant either replacing core systems or accepting significant compromises. In some cases it required abandoning the raycaster entirely. Every port is a story of constraints.
Super Nintendo (1994)
id Software was contracted by Imagineer to port Wolf3D to the SNES in May 1992. The project was promptly subcontracted while the team focused on Doom. Six months later, the contracted programmer had failed to deliver. id stopped working on Doom, put the whole team on the SNES port, and blasted it out in three weeks.
The most significant technical challenge was performance. The SNES CPU is far slower than a 386, and raycasting 320 rays per frame was simply too much for it. John Carmack replaced the raycaster entirely with a BSP-based wall span renderer. Binary Space Partitioning allowed walls to be sorted and drawn from near to far with an occlusion array preventing overdraw. It was faster, and the experience of building it directly informed the Doom renderer.
The SNES has no framebuffer in the PC sense. Its graphics hardware is sprite-based. The solution was to use Mode 7, a hardware transformation mode that can scale and rotate a background layer of tiles. A 112x80 tile arrangement simulated a framebuffer and was scaled up 2x to 224x160 by the Mode 7 matrix. The status bar and weapon were drawn with high-resolution 32x32 sprites from the SNES's sprite engine.
Nintendo's content guidelines required removing blood, replacing dogs with rats, and stripping all World War II German references. The resulting game is noticeably different in atmosphere.
Jaguar (1994)
The Jaguar port was done by John Carmack in vampire mode (working through nights) over a few weeks. It was the only official port that reached 60fps, albeit briefly, and introduced two new weapons: the Flamethrower and Rocket Launcher.
The Jaguar had genuinely interesting hardware. Its memory, bus, blitter, and video processor were all 64-bit wide. Its video compositing engine was described by Carmack as "the most innovative part of the console," and the Wolf3D characters were rendered using the hardware's backend scaler rather than blitting. Carmack's key criticism of the machine was its slow 68K CPU, which meant either running everything slowly on the 68K or writing laboriously optimized parallel assembly chunks for the custom RISC processors.
The game ran at 30fps in practice. Carmack found a specific spot in E1M1 where it could momentarily hit 60fps. He forced it to 30 everywhere else rather than let players feel the drop.
The Jaguar version introduced a small continuity error: the machine gun sprite used was not from the original PC Wolf3D but the Chaingun from Doom, since better assets had been produced by then.
iPhone (2009)
Wolfenstein 3D was ported to the original iPhone by John Carmack himself, with help from Cass Everitt on system setup and Christian Antkow on audio. The source code was released the same day the app appeared on the App Store.
The most notable visual improvement was bilinear filtering on the textures, enabled by the iPhone's hardware 3D acceleration. Not everyone was pleased: some players wanted to see the pixels.
Carmack's development notes, included in full in this book, describe several decisions. Lives and score were removed; these felt like arcade conventions that didn't belong in a modern context. An automap was added after Tim Willits pointed out that wandering lost in a maze wasn't fun for 95% of players. The "open door" button was removed in favor of automatic activation. Pickup radius was increased. Starting ammo was doubled.
The core challenge was a control system for a touchscreen. An iPhone has no physical buttons. After extensive testing, no single "obviously correct" scheme emerged. The dual-stick layout worked well for experienced console players but placed the fire button awkwardly. Tilt controls added fun but confused new players. The final release supported multiple schemes.
Two significant technical problems had to be solved. First, sprites in the original engine were drawn as vertical strips of solid pixels, efficient for the VGA's planar layout. An OpenGL renderer needs square textures with transparent pixels, and drawing large transparent quads wastes GPU fillrate. Later levels with fields of dozens of ceiling lamps could drop to 20fps. Carmack solved this by calculating tight bounding boxes around the solid pixels in each sprite, drawing only that region.
Second, the Wolf3D Redux codebase Carmack started from contained a texture lookup in the inner draw loop that searched through all textures by name on every wall draw call. On early levels with few visible tiles this was invisible. On later open levels with over a hundred visible wall tiles, it caused another 20fps collapse. The fix was a single-line change: replace the string search with a direct array access.
The iPhone version has one last notable detail. The original Wolf3D used red crosses as health symbols. Since then, the International Red Cross organization had asserted trademark rights over red crosses in games. A single sprite had to be modified for the iOS release.
Wolfenstein 3D VR (circa 1994)
A company called Alternate World Technologies (AWT) licensed the Wolf3D engine under special agreement with id Software to create a version for head-mounted displays used in arcade VR cabinets. It became one of three AWT games alongside Blake Stone VR and Cybertag VR, the last being a multiplayer game for up to four players.
The VR integration was minimal. A driver at a hard-coded memory address supplied the viewing angle from the helmet tracker. The engine read this angle each frame and adjusted the player's view accordingly. There was no synchronization between the two eye renders, so the resulting experience was reportedly disorienting.
Carmack's assessment was blunt: "The Wolfenstein VR project had no chance of success. People playing the game never rotated their head to turn; they just faced forward and used the joystick. Even with my knowledge today, I don't think I could do a decent VR experience on the PC hardware of the day back then."
The code is still in the source: a single boolean virtualreality flag, enabled by a command-line parameter.
Wolfenstein 3D shipped in May 1992. By December 1993, Doom was out. Within a decade, id Software had released ten major titles and influenced the direction of an entire industry. Here is where the people behind the original ended up.
id Software's Legacy
Beyond making games, id shaped the hardware industry. VQuake and GLQuake drove early sales of 3D accelerator cards from Rendition, 3dfx, and later PowerVR. A rough estimate puts the number of games powered by id's licensed engines somewhere around 80 titles. id remained committed to releasing source code: Wolfenstein 3D's code was released in 1995, Doom's in 1997, Quake's in 1999, and so on through Doom III in 2011. This practice stopped with Rage (id Tech 5).
The Founding Four
Tom Hall left id during the development of Doom in 1992, following creative disagreements. He went on to work at Apogee and Ion Storm, contributing to games including Rise of the Triad, Terminal Velocity, and Anachronox. At the time of this book's writing, he was Senior Creative Director of mobile games at Glu, working on the Diner Dash franchise.
John Romero left id after the release of Quake in 1996. He had been instrumental in both the game development and the licensing business, where his recommendation of the NeXT workstation and id Tech tools helped studios like Raven publish Heretic and Hexen. He later founded Ion Storm and Monkeystone Games. At the time of writing, he was living in Ireland and working on a new game.
Adrian Carmack left id after Doom III and retired from the game industry. He had created every piece of visual art in Wolfenstein 3D, drawing by hand with a mouse in Deluxe Paint. He later announced a collaboration with John Romero on the Blackroom project.
John Carmack remained at id until 2013, when he joined Oculus VR as CTO to work on the coming wave of virtual reality headsets. He had received two Emmy awards for science and engineering, a Game Developers Conference Lifetime Achievement Award, and a BAFTA Fellowship.
The Rest of the Team
Jay Wilbur, id's business manager, went on to work on Doom, Doom II, Final Doom, and Quake before becoming Vice President of Business Development at Epic Games.
Kevin Cloud was still at id Software at the time of this writing, the last remaining member of the original Wolfenstein 3D team. He was an owner of the company until Zenimax Media acquired id and was serving as Executive Producer.
A Note from John Carmack, Twenty Years Later
In 2012, for the game's 20th anniversary, Carmack played through Wolfenstein 3D and recorded his commentary. His reflections are worth reading in full (they are reproduced in the appendices), but a few stand out.
On why the engine worked: raycasting was chosen over his previous polygon-based approach because the previous approach kept producing visual glitches. The raycaster was slower but rock solid, and rock solid was what Carmack wanted.
On the enemy AI: the different enemy types moved differently because of a single design choice in the movement code. Brown guards closed the larger axis gap first, which made them line up predictably along corridors. Officers closed the smaller gap first, which made them come at the player diagonally, as if dodging. One implementation decision, two distinctly different behaviors.
On the scope of the project: the code fit in a single directory. A handful of C files and a few assembly files. The whole thing was four months of work by eight people. "It seems today we can't throw a dialog up on the screen without invoking 10 different frameworks and 50 thousand lines of code."
And perhaps the most important observation: "The fun core elements of things aren't the ones that take a man century of effort like so many of the big things do. I think it's good to be reminded every now and then that the essence isn't necessarily in what you throw the man centuries and huge human waves at."
Four months. One directory. Millions sold. An industry changed.
