Interview with John Knottenbelt of Introversion Software

John Knottenbelt is a Director with Introversion Software, currently leading development on the multiplayer game destined for a Linux or OS X computer near you: Multiwinia. For the better part of an hour he answers my questions about the game industry ignoring Linux as a gaming platform, postulating on ray tracing with 100 CPU cores, and proving he is indeed one of the last ‘bedroom programmers.’

Introversion Software has shipped three games in 6 years, an impressive feat for a company who hasn’t broken the magical 10 employee mark, while remaining an independent studio – being fully owned by the people who work there.

Little bit of a warning here, this is about 45 minutes of audio transcribed into text, with some minor changes for grammar and readability. It’s a really LONG read… if you prefer an streaming audio version, just hit the player. Also available to download the MP3 or OGG versions (right click, save as). It’s about 50MB.

Otherwise, if you enjoy a long read, go ahead, make my day.

Tell me a bit about yourself.
My name is John, John Knottenbelt, and I am the fourth director at Introversion Software – the first three being Chris, Mark and Tom who founded the company. I joined near the end of 2006, though I had always been on the sidelines before that. What happened is Mark, Tom and Chris founded the company just following graduation from university, and I went on to do a Ph.D. Which is why at the end of my education, I joined later.

What I started doing at Introversion was looking after the ports. Traditionally what happens is Chris comes up with some great game ideas, and he’s a pretty good coder so he gets down to it. He makes the game in Windows, this is how it happened for Uplink. Then Mark and Tom said “Chris, we think you should sell Uplink,” and they did. Thus Introversion was born.

And then they thought that Uplink might have a Linux market. People who enjoy Linux might enjoy a hacking game. Not to say that Linux users are criminals, it’s a particular kind of puzzle solving in Uplink, and it’s similar to things people do in Linux anyways.

He said to me, Johhny can you help with a Linux port. And I said “Why certainly, of course.” At the time I was using Linux as my main desktop, and was full-time hacking away at Linux.

I did the same thing for Darwinia, but for Defcon we got some help from fans to port it to Linux, while I oversaw the operation. Ambrosia Software is our partner for the Macintosh, and for Uplink they independently ported it to the Mac. Later on when we did Darwinia, we actually did that in-house. They are remarkably similar [...Skype from US to Russia takes a shit] to the original games.

Porting to Mac OS X is very similar for many of the issues with porting to Linux, especially when you use libraries like SDL. So we did that for MacOS as well, we had help from fans for the

What I am doing now – my role has shifted – We are now working on Multiwinia, which is the successor to Darwinia, the multiplayer version if you like. Multiwinia is where you get to have some full-scale battles between teams of Darwinians. It will have maybe up to four players will be able to play over the internet. It has a similar style of networking architecture to Defcon. The game is much more fast paced. The games probably last about 10 minutes on average. Some games are 5 minutes, some are 15 minute long games. They’re much shorter games.

So right now what my role at Introversion is busy developing Multiwinia. We’ll be bringing it to multiple platforms. We’re going to try for a simultaneous Windows and Mac OS release. A Linux version will follow later.

We wont try for a simultaneous Linux release, because it’s hard enough to just to get the PC and the Mac version working together. When I say “PC” I mean windows. When you look at the numbers, Linux users do contribute to sales. The lions share comes from the Windows users. Then maybe 15% are Mac, then around 2 or 3% is Linux.

It’s still worthwhile doing Linux ports, we just have to focus on getting the game out first.

Linux users as a whole are more vocal and have more mind share with other “less techie” individuals. Do you think by overlooking the Linux community, other developers are loosing out on revenue and word of mouth advertising?

Yeah! That’s very true. That’s one thing that helped us hugely, because we had the Linux port. You were saying about word of mouth, and how valuable that is. We’re still a small company, you know, now we’re around 7 full-time employees. And that’s tiny. We don’t have the big budget to advertise in the conventional sense, and when we can get word of mouth support, that ends up really helping.

[Skype cuts out...]

[Dialing Skype...]

[Skype Voicemail loud and clear...]

“Well that’s not good.”

[Dialing Skype...]

[Skype Voicemail again...]

Lots of typing, jet flies overhead.

[John is offline]

[John is online]

I read that Darwinia was designed with multiplayer support in the engine, but it was just a single player game.

That’s interesting, because if you read about the history of Darwinia, you’ll remember that there was this idea just to use the point sprite support in gfx cards to try and render as many of these sprites as possible, and have BIG, BIG BATTLES with them. The game originally started out with more realistic fractal landscapes, and yes – you’re absolutely right – it was originally designed with multiplayer support in it, but it never saw the light of day.

I think the reason for this is at the time, Introversion was going through very hard times. We ran out of money. I think Darwinia took three years to complete, and two years into it, we ran out of money. I think probably because we were concentrating on making the game, and not watching the books, to be honest. What we decided to do was to make a great single player game, and not worry about the multiplayer.

The whole idea behind Darwinia’s multiplayer engine carried across to Defcon’s networking code. Defcon made it work, there’s a lot of states in Darwinia, Defcon, and Multiwinia as well. And there are alot of characters doing their thing. In Darwinia internally, discrete event simulation. You sending changes to the world state. This Darwinian has died. At the coarsest level, this player has selected this unit. Everything else is simulated.

What this means is that your protocol can be very low bandwidth because you’re only sending very high level events. Everything else can be simulated. For example, if you have 2000 Darwinians, and they’re not actively doing anything, if there’s no input, everything can be simulated. This is the same thing that happens in Defcon. Internally, there is a client server architecture used locally so the client is kept busy maintain the world state. It’s also the same with Multiwinia.

So it’s a good architecture if you want to minimize bandwidth, but it also has problems. For example in a shooter, in a death match, you just broadcast the position of all the players. If you’ve got four players with four characters, just broadcasting location, you’re OK. When you have 2000 Darwinians on the screen, or 200 units you’re controlling, you have to be smarter than that.

[Skype dies again, I give up at this point and purchase SkypePro and call his landline at a rate of 0.0211 cents a minute...]
On a side note, This interview cost $0.74 of SkypeOut credit. Not bad.

Let’s talk about Steam. I’ve been a long-time fan of Value, and I think Steam Distribution Network is a way to kind of cut out the middleman, as far as publishers go. How does Steam differ from a regular “publisher?”

Well, I suppose the main difference between Valve as a publisher, Valve doesn’t consider themselves to be a publisher. They consider themselves to be a distributor. They aren’t actually placing any requirements on your game. A publisher will say “here’s some money, go make your game to our standards.”

Say they want to have a game in Wal*Mart, they have to take out the blood, nudity, etc?

Exactly. So Valve is much more interested in distributing games to people who also have Steam. There is a certain amount of “publishing” that they have to do, because they are such a big name. For example, when you get a game onto Steam, there is an advert on the front page for awhile, and so that’s kinda like publishing in the sense, that they’ll see it, they’ll investigate and maybe buy the game. It’s not publishing in the worldwide sense, only in the sense that it’s distributing to Steam users.

They’re a very easy company to work with. They’re not (for example) like trying to bring a game to a console where you have to meet a bunch of certification requirements, which are designed with preserving that platforms’ certain types of games in a certain style, in a PC it doesn’t really make sense.

I’ve Heard Some Rumors that Introversion Software is going onto Xbox Live, the Playstation Network, or the Wii Virtual Console, is that something that is going to happen?
That’s not something that I can say directly, what I can say is that we are very interested in bringing our games to the console world, and that’s about all I can say.

Just as speculation, it would make sense for Defcon and Darwinia to be on a console. It would be a really great fit.
I think that Defcon, Multiwinia and Darwinia would make great console games, but I’m not so sure about Uplink since it’s so text based, but never say never. It’s not that you can’t make a text-based console game. But Defcon, the idea is very easy to comprehend. That would be a very good bet on a console. Multiwinia as well, when it comes out. You will agree that it will make a good console game too. I think because Defcon and Darwinia are relatively small games, if you’re a good gamer, you’ll finish it in a say a day. I think there’s 10 levels in Darwinia. In a console perspective, you couldn’t just put it on there because the content isn’t there. If you start to look at platforms like XBL Arcade or Sony and Nintendo, they have downloadable titles, it makes a lot more sense.

When you download a game, you’re not quite expecting a AAA title with 40 hours of content kinda thing.

It’s more a casual, “I’m bored and 5 bucks to spend, what’s on?”

Introversion hasn’t really gotten into the casual game space, but the casual game distribution method suits us very well. Now I wouldn’t say that Uplink or Darwinia was a casual game. Defcon – the concept – is very easy to understand, but actually getting into it, looking for strategies, I think that’s not really quite a casual game. It’s harder than Tetris.

Is everyone in Introversion supportive of Linux ports?

Oh yeah. I think that certainly Chris and Mark and Tom are very supportive of Mac and Linux ports. I think that we need to prioritize what order we do these things. We need to manage the cash-flow as well.

Mark for example uses a Mac. We use Linux for our servers extensively, and to run the game matching server for Defcon, and so on. I don’t actually use Linux as a desktop platform anymore. Although I have a Linux machine running at home, now that my job has shifted from somewhat to be more focused on Windows development while I’m doing Multiwinia. I would very much like to see and expect a Mac version and a Linux version to follow.

Do you guys just go Windows > Mac > Linux development stages?
Oh yes, that’s it. That’s what we try to do, broadly. Usually we try to do English first, then German or French and then other languages as well. Once you have a game out there, you want to bring it to as many platforms as you can, as long as those platforms are justified.

It has always been justified to bring it to Linux, it has always paid for itself – the Linux ports. It just hasn’t brought in the same degree of revenue Windows does. It just gives me a good feeling to see yep – we got the credit… to check the boxes… Windows? Yes. Mac? Yes. Linux Yes.

It’s appreciated. There aren’t too many companies that do Linux titles. The list is very short.
The biggest problem that we have with porting to Linux, is the growth. Linux is growing very quickly. We not in a position to give away the source code for our games – yet. What bugs us is the rapid evolution of the operating system. The way that core libraries changing over time. The libc library has gone through two major iterations since Uplink was released. And it’s bundled with an installer that relies on a GTK+ library, and as time marches on, new versions of GTK+ come out, version 2 – and Linux distros don’t include the original version for our installer, it’s quite difficult to keep it up to date all the time, whereas Windows and Mac try very hard to preserve backwards compatability.

When I was looking at buying Darwinia (through Steam), one of the boxes that wasn’t checked was Windows Vista. I was running Vista at the time and didn’t buy the game. It’s kinda one of those things that as Windows progresses, that it looses compatibility with older titles.

Right, right right. I must say that the other thing about Windows, it’s probably just marketing for you. Mac did it with OS X, and Microsoft did it with Vista, to provide features that are only available in the latest version, which they want you to use of course – such as DirectX 10, or the latest version of Java in Mac OS X – they didn’t port it back, otherwise they don’t give you a reason to upgrade. You’re right that backwards compatibility is not always preserved. Microsoft is very concerned about pushing it’s own technology any of the others, partiarly apparent with OpenGL. When Vista shipped, they made sure the DirectX drivers worked very well with the vendors. But the vendors were out on their own they tried to get OpenGL working in Windows Vista.

According to a core developer at Epic Games (Tim Sweeney) I read that DirectX 10 is going to be the last 3D API, because the CPUs cores are getting smaller, and faster, and more of them are going on a die.
That’s interesting! Yeah, whoa. That’d be very interesting as we get more cores to play with, I remember someone was suggesting to me that we can do real-time ray tracing with 100 cores, using all the old tricks of rasterizing polygons, now we can raytrace.

When I was browsing through your forums, one of the first things I found was your company mission. One of your goals as a company is “to be the Kubrick or Tarantino of the games industry.” That’s pretty high up there.
What this means is we want to maintain creativity. Kind of a creative independance to create very high quality games. I guess the best example of this is Darwinia is where we focused on just making the game. Everything we did for Darwinia was to keep with a particular style, and maintain a certain type of iteration. It was a challenge. We didn’t have the answers. That’s our dream, we want to create new and interesting games, and that people will know that if Introversion makes a game, it’s going to be something fresh and high quality. We don’t rehash the same game over and over again.

When you do this, when you give creativity such a big role, how do you make sure the risk isn’t too great. You’ve gotta be careful, on one hand you create great times. On the other hand, you gotta think about how this fits in, before you run out of money.

What’s your favorite film from either of those directors?
Tarantino would be my favorite. I’m a big fan of Pulp Fiction, but Jackie Brown is my favorite at the moment.

The source code for Uplink is available?
Oh yes. You can buy it as a developer CD. That’s not to say that it’s free. It’s for all people of interest to play with it, to learn how the game is made, to modify it, and a few friends have purchased the code. They wrote us emails and said they learned some coding techniques from it. And I say “oh there are some of the coding techniques in the original Uplink sources are quite frightening to be honest.” [laughes]

Does that come with the actual content, audio, video, artwork, and other Intellectual Property. Yes it does. It comes with everything really needed to make the game. It’s not like “Here’s the developer CD, all the IP is yours.” It’s more like, here’s everything we have, you can make your own version, but you can’t sell it, and you can’t give it away to anyone who doesn’t already own the game.

I’ve watched the video of Subversion, with the Procedurally Generated Content, and that is pretty damn cool. Is it going to be a Real-Time-Strategy? Something Different?

I’m not really the right person to talk about it. Chris is leading the development and the project, and he is keeping it very close to his chest. So everytime he makes a Development Blog post, I am one of the interested parties. We’re way off from the final game.

What kind of visual upgrades are people going to see from playing Darwinia to Multiwinia.
I think it’s going to be very close to Darwinia. The main differences are going to be in the game itself. Of course there will be new elements, but I can’t reveal them now. But it’s going to have multiplayer, short games. Darwinia is a fairly serious game in the way it comes across. One of the things we aim for in the multiplayer is if you’re sitting in the same room with 3 other people, you should hear screams of “oh no you bastard, how did you do that?”

I went to LAN parties every other weekend for months at a time, and one of the draws towards coming back week after week was the “Oh you fucking bastard, you’re gonna get it now!” It breeds friendly rivalry. It would be fun to play a game like that. In Defcon, you can kinda see the end coming

[Laughs]

Or breaking alliances and killing your former allies. I think that’s about it. Thanks for your time.
Thanks Wayne

If you’ve gotten this far, you might want to take a look at my article on Defcon, their latest video game that has demos available for Windows, Linux, and OS X.

  • manny

    great interview

    will look forward to their linux ports :)

  • http://www.linuxcrypt.net Joshua Chase

    Wayne, great interview, thanks for sharing that with us. How do you capture the audio from the skype connection? What applications did you use?

    cheers,

    ~j

  • http://www.fsckin.com/ Wayne

    Joshua: I actually used my Sony video camera, my m2ts to avi article, and transcode (check my twitter statutes for the actual command) to exract the audio from the video into wav format, and audacity to edit and export to mp3 and ogg formats.

    Using only free software… Except skype of course.

    I tried to get skype-rec working, but had no luck.

  • Vadim P.

    Thanks for the interview.

    Somewhat unfortunate that the rapid development is hurting Linux. I hope there will be tools about to help developers keep adjusted on the pace :/

  • http://www.fsckin.com/ Wayne

    Well I got an email from Vic this morning from Introversion who setup the original interview, and Darwinia has been confirmed on the Xbox Live Arcade.

    Bad timing I guess, go figure. :)