A lone coder has ported many of id Software’s classic shooters to Apple’s iOS and tvOS, though you’ll have to do a bit of work to get them working on your iDevices.
The porting story goes back to 2009, when id Software brought official versions of Wolfenstein 3D and the original Doom to the iOS App Store. Updates for those ports stopped in 2014, though, and that became a problem in 2017, when iOS 10.3 officially stopped supporting “legacy” apps developed with a deprecated 32-bit codebase.
That sunsetting inspired mobile developer Tom Kidd, who noted that both Wolfenstein 3D and Doom had long been available as open source apps on id Software’s GitHub page, complete with the iOS versions of their respective engines. “I went and did the work to update them and get them working in the latest versions of iOS,” Kidd wrote last year. “This wound up being both harder and easier than I expected.”
Kidd goes into intense detail on the porting process over on his blog, including fights with checksums, coordinate systems, and resolution changes that have intervened since these games last saw an official iOS release. The results of his efforts were posted to his own Github pages last year, complete with MFi controller support and full-screen stretch on the iPhone X.
But Kidd didn’t stop there. First, he ported both games to Apple’s tvOS, for play on a modern Apple TV. Then he spent the next year diving into similar ports for the rest of id’s open source library: Doom II and Final Doom, Quake, Quake II, Quake III: Arena, and Return to Castle Wolfenstein. The porting effort concluded earlier this month with Kidd’s release of an iOS/tvOS-compatible version of Doom 3.
The detailed porting discussions accompanying each of those releases provide a fascinating journal of the vagaries of open source code and the difficulties whipping it into shape for a closed environment like iOS. “In almost every case, I was able to incorporate the work of others, and pretty much none of the games were the same thing twice,” Kidd writes. “Every game posed a unique challenge, which was part of the fun.”
If you want to take advantage of Kidd’s efforts yourself, you can’t just download these new ports from the App Store (where the copyrighted code would never pass Apple’s checks). Instead, the above-linked articles include links to GitHub projects that you can compile into iOS or tvOS executables. Getting those onto your iDevice means using a Mac with a copy of Xcode and an Apple Developer account, or you can sideload via less scrupulous methods.
You should also note that these are pure engine ports, which means copyrighted game data like graphics, sound, and level design are not included in most cases (as they weren’t included in id’s open source releases). You’ll have to provide your own files from the original releases to fill in those gaps and get a playable game.
Listing image by schnapple.com