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.
Wow, Pascal.
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.