Joe Rogan | What Lead id Software to Open Source Their Games w/John Carmack

87 views

5 years ago

0

Save

John Carmack

1 appearance

John Carmack is a computer programmer, video game developer and engineer. He co-founded id Software and was the lead programmer of its video games Commander Keen, Wolfenstein 3D, Doom, Quake, Rage and their sequels. Currently he is the CTO at Oculus.

Comments

Write a comment...

Transcript

Now, what about the possibility of a haptic feedback vest or a suit or something you could put on your body? So, there's the interesting things all the way back into the doom and quake days. I remember one of the really early kind of entrepreneur guys that came by, he had made this leather jacket with all these impact pucks on it. And it had like eight or nine different things that were the solenoids that could deliver a pretty sharp thud and he wanted to get support added to the games for that. The idea you play that and when you're getting shot, it actually feels like you're getting hit in the back. And I didn't think that was a very likely mass market consumer thing. I mean, not too many people want that level of fidelity where it actually starts making you soar. But that's one of the wonderful things about being able to open source the various codes after the games are a little bit older where anybody that wants to can nowadays go and take doom or quake or those earlier titles and program in for whatever crazy thing. They don't have to convince someone. They don't have to go convince skeptical John Carmack that this device is going to be a worthwhile thing to add support to the mainline code. They can just go do it, which is a wonderful thing. That is very cool that you guys do that. I think that's really cool. Yeah, that was one of those things where early on, as you can imagine, that was a tough sell in the company where the people that weren't coming from the sort of hacker ethic background on the programming side, you get the business people and the artists and the designers. And they're like, we want to just give away our source code. Won't that be a leg up to the competitors? Why do you want to do this? And it was one of my I made me really happy when many years later, Kevin Cloud, one of my early partners told me that, yeah, in retrospect, that was really the right thing to do. And it's great with Doom and Quake now, especially Doom, where anything that has a processor runs Doom. If it's got a 32 bit processor and it can conceivably display an image, people have ported Doom to it and that code will live forever. A hundred years from now, people will be able to dig up and run the Doom source code in some emulator. Yeah, that is very cool. Now what was the conversation like, like when you guys when you were saying, hey, this is good for the community. This is good for games overall. It's going to get people excited about it. It's just going to generate more business. Like what did you how did you sell it? So it's an interesting path there where in our earliest games, I can remember that some of the very first things that happened with Wolfenstein 3D before Doom, where that was not set up to be easy to be modified. We were still back in those days of fitting on floppy disks. So I had all the data compressed in this nonstandard thing that I just made up at the time. But people dug through all of that disassembled the code figured out how it worked and started making some level editors and doing the things like, you know, replacing Hitler with Barney and all these early mods. And we're all like, well, this is fantastic. You know, this is people taking the game. They played through the game. They loved it and they loved it so much. They want to keep doing things on it. And they wind up breaking into the game at that time, essentially, to figure out how to make new things. So by the time we were working on Doom, it was an explicit top line technical goal for me that, okay, I had these graphics things I wanted to do. I wanted to do networking, but I also wanted to really make game modding a first top level feature. So we added all this ability to do the wads and Pwads and we documented all of it and we released a lot of the tools, the early source code. So here's how you go ahead and it was much harder at that point with the more sophisticated stuff going on. But here's how you build a level in Doom. And we even released the code for our level editor, although that didn't help the community that much because we were using these crazy expensive next workstations and other people had to take the steps to go ahead and make them run on PCs. But the step beyond that, when we were looking at Quake, I am so I knew that I wanted to enable actual changes of the gameplay because in doing you could swap out all the different models you could swap out. I, I had the way things look the way things sounded and some people would go in and actually patch the executable to do a few minor changes in gameplay. But the next step clearly was allowing people to really make whole new gameplay modes. So that was how Quake got this Quake C extension language and we wrote a lot of the game in that and that led to all the things like Capture the Flag and Team Fortress and all those which was, yeah, all these really, really great things. But there were still things that you couldn't do or couldn't do effectively there. And that's where there was still this desire to be able to say, well, what if we just gave them everything? What if we gave them the full source code and let them sort of hack to their hearts content port to other platforms? And again, it wasn't a super popular decision, but the way I was pitching it was, well, it still helps our titles. It still gives them life. It gives them life after they would have been off the shelf falling off of people's radar, just falling into some game of nostalgia. But being able to let people make real new versions of it would be, you know, it would keep them current. It would keep them relevant. And so the pitch that I ran for years there was after our new game came out with brand new technology, then we should be able to open source release the previous generation. So first, when Doom was out, we released Wolfenstein. When Quake was out, we released Doom. And when the later Quakes were out, we released the Quake 1 code. And that worked out really remarkably well. I know at the time there were some people in the company that are just like, this is just John's thing and they were not really happy about it. But I was in a position where I could kind of throw my weight around a little bit that and I was happy that I did it. And in the end, everybody agrees it was a good win. I'm a little sad that more companies weren't able to take that final step. Modding was embraced broadly by a lot of game companies, but only a handful of companies were able to really go the entire way and release full source code in the years since. That's too bad because that is one of the cooler aspects of the Quake community is that, you know, you guys did release that stuff and there were all those cool extras and things you could download in maps. So many different maps that people had created that were really interesting. Like I remember one was a guy's apartment. Like you could play Quake in an apartment. Like you could shoot, you could get to the top of the toilet and shoot at things off the toilet. It was really amazing.