From The Past To The Future: Tim Sweeney Talks
May 25, 2009 Page 4 of 10
How long did it take to program ZZT?
TS: ZZT wasn't a very big project. It was certainly under a thousand hours. I think I spent about nine months on it just because I was working on it part time between mowing lawns in the summer and going to class in the school year. It was a relatively simple project; I think it was 20,000 lines of Pascal code.
TS: Yeah, it was a good language. It was more rigorous than C++. When I moved from Pascal to C++ to create Jill of the Jungle, it was a real shock that people would actually be using a programming language that was so bad for large-scale development. To think that operating systems are built in that sort of language was really terrifying.
So you think Pascal is more ideal to work in than C?
TS: It forced the programmer to be more structured and to avoid low-level hacking as much. It's not the best way to get maximum performance, but I think people tend to write much cleaner code when working in a language like Pascal than in C++. It influences your whole way of thinking about systems when you're writing code in a really structured way like that.
How many copies of ZZT did you sell?
TS: Several thousand. I'd say four or five thousand by now. I was selling three to five a day for the first several years. My father still lives at the address where Potomac Computer Systems started up, so he still gets an order every few weeks.
Does he fill them for you?
TS: Yeah, he's retired now, so he doesn't have much to do. Every week, he'll just take a stack of a few orders, put disks in them, and mail them out. So you can still buy ZZT.
That's great. I should buy a copy from him. There's a character in ZZT that my friend loves called "Jazz Man," and he sings a little tune. Is there any story behind that?
TS: Yeah, I was in high school jazz band. I was learning jazz improv -- really badly.
I just drew a bunch of random stuff in ZZT. That was the great thing about the game: the graphics were so bad that you could do whatever you wanted, and people would be forgiving of it. There's just so much bizarre stuff in ZZT that you could never do in a graphical game that had to be realistic and immersive.
I liked that about it too -- there was the talking tree.
TS: [laughs] Yeah. One of the common themes you hear from artists is that to create great artwork, you have to highly constrain yourself: limit the tools you can use, limit the media you're working with, and then just do the best thing you can do there.
ZZT is really the ultimate expression of that -- it's such a weird, constrained environment that there's a certain set of things you can do, so it's really flexible and interesting. Whereas now, you can go license a game engine like Unreal. You can build absolutely anything, so it's much, much harder to create something that's cohesive.
Distracted by Network Protocols
I ran a BBS for about five or six years, from 1992 to 1998...
TS: That was an interesting time, because '92 was before the internet had come along, so at that point there were a bunch of efforts to create some graphical protocol for communications so you could dial up into a BBS graphically.
Like RIP graphics? Stuff like that?
TS: Yeah, there was that. There were a bunch of Apple-based efforts, a bunch of IBM-based efforts, and that really seemed like a fertile area. And, at the time, if you asked me what I was going to do when I became a programmer full time in 1990 or 1989, I saw that as the key problem to solve.
I saw a hundreds-of-millions type of opportunity in that, if you could be the one to define the standard graphics protocol for communicating with stuff, then you could dominate.
I spent quite a lot of time working on communication programs before I wrote games. It's funny, because if I had pursued that, I would have gone the obvious route of just trying to create a graphical protocol for modems and missed the whole point of the internet, which is quite a lot more than that, right?
You dial up into this system, but then you can communicate with all these different computers, and they're all connected through fast back end server connections throughout the world: anybody can message anybody else, and so on.
That was an extremely interesting problem at the time. I came pretty close to starting a business and pursuing that very seriously.
I thought the same thing -- in fact, a lot of people were trying to make some sort of web-based BBS back then, but obviously it didn't matter, because other ways of communicating on the internet took over from the BBS model.
TS: When I saw the web for the first time, in 1994 or so, that was really the most important business realization I'd had in my life, 'cause I'd spent thousands of hours working on communication programs, and graphical protocols, and things like that.
I'd been fixated on the problem -- which did turn out to be the central problem of that decade -- and completely missed the point of the thing, which was that you're not just trying to create a graphical protocol, but you needed to create a system that connected all the different machines together and then communicated asynchronously, right?
The big thing about the web is that you download this page and you're locally navigating through it -- you know, scrolling up and down, and selecting text -- as opposed to it being like a terminal, where you're sending mouse input and receiving draw commands back.
Page 4 of 10