doom 5John Carmack is the programming wiz at id Software, the Mesquite, Texas-based company that pioneered the first-person shooter game genre that has generated billions of dollars in the game industry since 1993. Now Carmack has returned to the game that started it all: Doom. He has taken the original game and ported the code to run on the iPhone, his favorite new game platform.

Although he is working on big console and PC game projects for id (and its new owner ZeniMax) such as Doom 4 and Rage, Carmack stole time to create the iPhone game, Doom Classic. With 36 levels, this shooting game is a repeat of the original title where you play a space marine who has to wade knee deep in the dead and hold off an onslaught of demons after a mining colony on Mars accidentally opens a portal into Hell. Doom Classic is now available on the iPhone. Here’s our interview with Carmack about how he made it.

VB: Can you tell us how you got Doom Classic onto the iPhone?

JC: This is one of those cases where I’m loving the iPhone work with the classic games because it gives me some real solid ammunition for the first time on the tangible benefits of what we as a company get from having released the source code for our games all those years ago. I have always had to make the argument that we get good will and there are intangible benefits. With both Wolfenstein 3D Classic and Doom Classic for the iPhone, instead of going to find the original source code, resurrect it, and make it compile on an auto compiler, I was able to start with this well maintained cross-platform source code base that people have been improving for years. It did not take me long at all to take the work I had done with Wolfenstein 3D Classic and the open-source Doom code that I started with and get the game up and running on the iPhone in less than a week. The remaining work on it was about trying to polish the interface in terms of making the controls as responsive as I could get them on the iPhone, improving the performance and working on the networking.

AI Weekly

The must-read newsletter for AI and Big Data industry written by Khari Johnson, Kyle Wiggers, and Seth Colaner.

Included with VentureBeat Insider and VentureBeat VIP memberships.

doom 1VB: How long did it take, and how many people worked on it?

JC: It was just me doing the code, and I Shanghaied one of the artists to do icons and things like that. The development all told is hard to estimate. I jumped around doing other things. It was maybe six weeks of serious work. The reason it took so long was because we tried to be good businesspeople and worked around other release dates. I kind of wish we hadn’t. I thought if we rushed it out after two months of Wolfenstein 3D Classic sales on the iPhone, then that might have been a better release time. But the scheduling just wasn’t right for me to put the last couple of days into it. It was only last month where we said we had to get it done and I spent two more days on it and then submitted it to Apple.

VB: Did you take any lessons from your earlier iPhone games like Doom Resurrection and apply it to this?

JC: There were certainly technical details like running in multiple threads. I got more skilled on the platform itself. We went back and forth on the music on Wolfenstein 3D Classic and Doom Classic. We wound up sharing some code back and forth on that. Most of the technical work was learning how the iPhone plays out relative to the underlying hardware. What are the system software and hardware issues? It’s a continuous process of experimenting with user-interface design. I started with the Wolfenstein 3D Classic interface but there are a few new wrinkles. I made positive steps, but a lot of people played Wolfenstein 3D Classic on the iPhone. So any changes I made to the interface really ticked some people off. If you spent 10 hours playing Wolfenstein 3D Classic, any change in the interface means it won’t feel right to you. So I regret I didn’t have the exact same interface.

doom 2VB: Is the interface different from Doom Resurrection?

JC: It’s completely different. Doom Resurrection pulls the user through the world and you just aim at targets. It’s on rails. Doom Classic is much more like Wolfenstein 3D Classic, a shooter with free form movement. You move around, turn, change weapons and shoot.

VB: How does it work on the older iPhone and the newer iPhone 3GS model?

JC: It works fine on the older iPhone. The biggest performance glitch you have on this game is that the Apple system software handles multitouch really really poorly. Apple is aware of this now. The 3.1 iPhone system software made some improvements on it. But fully a third of the CPU time can be sucked up by the multitouch when you have two thumbs on the screen. It’s appallingly bad. They are making some steps to address that. A large chunk of the processing is completely out of my hands. A later release — I’m not sure when Apple has it scheduled — will have a direct, low-level interface into the touchscreen. That will make all of that wasted processing vanish. The bottom line is, the game plays great on every iPod Touch and iPhone ever made.

VB: Does it have better performance on the iPhone 3GS?

JC: No. There is no win on that. The other phones can still play the game at 30 frames per second. You never drop a frame on a 3GS. But there are no extra features. I am excited about doing a tech demo for the 3GS. I believe I can actually retarget some of the mega-texture content creation stuff that we are creating for the big id tech 5 games. I don’t know if I want to make a game out of it or if I want to throw it out there and say, gee, look at this. I am excited about playing with that technology when I get time on my hands.

VB: If you target the iPhone 3GS as a base platform, you could probably do something interesting.

JC: I think we could do the real Xbox Doom 3 game on a 3GS if we targeted it exclusively. That is pushing it a bit. You could probably get that kind of visual fidelity.

VB: That’s starting to get exciting, graphically.

JC: Yeah, very much so.

doom 4VB: How well have some of these games sold and, considering the time you put into them, is the trade-off pretty good and does it pay off?

JC: The classic games, where I don’t spend much time, are very lucrative. We have been very happy with Wolfenstein 3D Classic sales. Doom Resurrection was an experiment. It was the very first game that id Software funded completely out of pocket. We have always instead made publishers cough up money with a guarantee. We were doing it ourselves. We took money from our bank account and paid an outside development company. That was a bit of a gamble. It was before we saw the sales results from Wolfenstein 3D Classic. But it did earn out completely and had hundreds of thousands of dollars in profit and it is still earning revenue. We expect Doom Classic to be the biggest seller out of all of them. It’s the biggest intellectual property and has the biggest nostalgia factor. We have made more money in the traditional cell phone market, the Java/Brew market, where we have sold a few million units. But developing on those is so much less fun. You have to cram everything into these ridiculously small memory limits and worry about compatibility across 300 handsets. We are in the process of winding down our traditional cell phone development in favor of iPhone development.

VB: How do you feel about the iPhone platform now?

JC: There are definitely a set of system software things that should improve like multitouch handling. That’s at the top of the list. There are issues with Bluetooth support. One of the spectacular things is that Graeme Divine, who used to work for me at id, is now at Apple in their software division. I have a great man on the inside helping me get questions answered and things accomplished. It will be very good for the evolution of the platform going forward.

VB: It sounds like Apple has really stepped up the game developer support?

JC: Yes, they have. Our relationship with Apple is kind of a rollercoaster. We are very tight for periods. Then I say something negative in a press interview and then the word goes out that no one is supposed to speak to me for six months or something. But the iPhone relationship has been pretty good. They have hired some good people to support game development explicitly. They are doing a better job at that than they ever did on the Mac platform.

VB: They have had some new things like the free-to-play virtual goods model. Does that interest you?

JC: Every product we are doing is an experiment. We did a free version that didn’t make any difference on Wolfenstein 3D Classic sales. We originally wrote the setup for the in-app commerce but just made it a free update. We are still feeling our way around on business models here. Our current plan of record is to make discreet, separate apps with different price points. Probably we will have in-app commerce. We are not final on any of that. That is subject to change on a whim.

doom 3VB: Apple said there are 100,000 apps today. Others have had the problem of not getting noticed and not selling for a long period in the top ranks. You seem to have less problem getting noticed. You have brand recognition.

JC: There is no doubt that having a PR team and recognizable intellectual property helps. But the iPhone is still a vastly superior platform for an unknown developer to break into than anywhere else. If you look at the top 50 games, there are lots of quirky little games that don’t have a major publisher behind them. And they’re doing great. It’s still a great platform for a few guys in a garage to make something for.

VB: Some developers try to increase loyalty by creating social networks around their games.

JC: Those are excellent moves on their part. But it doesn’t really fit with the older catalog titles that we are doing now. I did spend time with our Quake Live team at id to figure out what experience we had with back-room infrastructure for Quake Live that we could apply to mobile titles. We didn’t really come to a conclusion. I hope to have one iPhone release a quarter, a combination of new titles and older titles. There are so many things I’d like to explore. We don’t have the time or resources to pursue all of them.

VB: So this Doom Classic game is a longer title?

JC: Yes, it’s longer. It has the original Doom with three episodes and a fourth episode created later. It is 36 levels. We have a total of 110 commercial Doom levels if we count Final Doom and all of the others. I’m not sure yet what I am going to do with all of those. We might stream them out an episode at a time. We might do a super edition with everything. We might try downloadable content. We haven’t reached a firm direction on that.

VB: That answers some of the criticism that Doom Resurrection was too short. Do you find people have an appetite for longer games on the iPhone?

JC: We intentionally did not try to make Doom Resurrection very long. It was fairly expensive as a development. I wouldn’t be shocked if it was at that point the most expensive development cost for an iPhone game. It cost quite a bit of money to develop. It was an experiment to go out at $9.99. If iPhone games are going to approach the quality of console games, they will have to support higher price points. But the market isn’t accepting that now. I don’t think we will have another $9.99 release in the coming year. That influences what we can do.

VB: Is piracy a concern on the iPhone?

JC: It could be I am reading the market wrong. But it is not a concern to us. At this point, we consider it to be like console game piracy, which is small. Only fringe hackers will pirate games and go to the trouble, compared to the casual piracy on the PC which is rampant.

VB: So it sounds like you are having a lot of fun on the iPhone.

JC: I am having a lot of fun with the iPhone and I am sad I won’t spend much time on it for a couple of months at least. We have major curnches coming up on Rage and Doom 4. But I am going to come back to it sometime next year.

VentureBeat's mission is to be a digital town square for technical decision-makers to gain knowledge about transformative enterprise technology and transact. Learn More