Ken Silverman (11/29/98)
...on the one and only Build engine, made famous by Duke
Interview by Brad Wernicke - Originally seen
1 ][ Page
What's your favorite language to program
Ken: I use Watcom C 11.0 most. Actually. my favorite programming
language is QuickBasic 4.5! Not a joke. QuickBasic is a better
version of QBasic. It's more complete, faster, and you can
compile with it too. There are some things that suck in Basic,
but you wouldn't believe how nice it is to have instant compiles
and no crashes. I don't make exe's often with it, but I use
QuickBasic as a tool for testing algorithms.
How were you involved with other parts
of Duke Nukem 3D's development?
Ken: I did some network code for Duke 3D, but then sometime
in 1995, Apogee decided that Mark Dochterman's code should
be used instead.
How much experience do you have designing
levels in Build?
Ken: I've made about 20 levels or so, but just in my own Build
test game. I haven't made any Duke 3D levels, my maps only
work in my Build test game. My Build game has a 500K tiles000.art
of my own artwork (similar to Ken's Labyrinth artwork) that
I used for the test levels. I could make my own Build game
and sell it, but I'm a terrible artist!
What was your role in making 3Dfx
support happen for Shadow Warrior, and what is it about the
engine that keeps it from matching the looks of GLQuake, for
Ken: My role was just giving source code to 3Dfx and handling
a couple of tech support calls during the development of the
3Dfx patch for Shadow Warrior.
At one time, I played with some 3D accelerators. One was
ATI RAGE, and the other was a beta 3Dfx. I thought it was
a lot nicer, but that it wouldn't do much for my engine. The
main reason 3Dfx doesn't help FPS is that Build draws walls
with vertical spans and ceilings/floors with horizontal spans.
3D accelerators like to draw triangles. Build did all the
front to back clipping with a vertical span buffer (which
was really great for software), but that meant that polygons
had to be drawn one line at a time (or four at a time with
some special optimizations)
Why did you decide to eventually leave
Ken: I left Apogee because I felt that I wasn't keeping up
with technology and I wanted to go back to school while I
was still young. My breakup was certainly not a "walking out
in the middle of the night" kind of thing, it was more of
a phasing out because I had no engine comparable to Quake
at the time.
Are you working on any game or engine
projects on your own time?
Ken: Every once in a while, I play around with some new project.
Actually, I have a couple demos rotting on my hard drive right
now. They're not games, but they're really cool. One of them
is a 3D globe simulator with correctly positioned planets
and stars... I also made a nice Rubix Cube program, with a
nice smooth interface (the computer doesn't solve it for you
So, will we see Ken Silverman again
in the gaming industry someday? Do you realize the mark you
Ken: Well I would say that's pretty unlikely in the next 2
years, and after that, I really couldn't say. That's not because
I'm keeping a secret or anything. I just don't know what the
hell I'm going to be doing. I've had plenty of job offers,
but not too many recently. I would say it's just as likely
I do something else (related to computer programming) as gaming.
I do realize that I made some mark, but at Brown I remain
anonymous, so I don't really see it every day.
What are your thoughts on Duke Nukem
3D's popularity now? How do you feel about all of the user
maps and total conversions out there for Duke Nukem 3D?
Ken: It's great that it's popular. I couldn't say I truly
understand how much of a huge success the game is. It's great
that so many people are playing with our tools! I just hope
that the "when I switch into 3D mode I get a black screen"
bug doesn't plague too many people. Actually, the reason for
that was that they released Duke when I was in RI and I never
got a chance to look at the final version before release.
I MAY have caught it if I was there at the time.
Any comments on today's newer 3D engines?
Ken: Not really, I've seen Quake 2 and Unreal... not much
else. One thing I was proud of Build was that it didn't use
BSP trees. This allowed things to be easily modified by a
programmer. For example, as long as walls didn't intersect,
the game programmer (Todd, Frank, Nick) could simply say wall.x
= -17; and the wall would move without any precalculations.
I really don't know too much about those engines though.
Are you a die-hard gamer?
Ken: No. I don't play games very much these days. At one time
I got pretty good at Dukematching, but I would lose to anyone
who said they were good. I have an EXE which allows my Duke
bots to play for you while you hold down a key. It's some
seriously annoying cheating which if released could really
annoy players, so Apogee/3D Realms would have to clear it
if I ever wanted to release it.
Thanks again to Ken Silverman for taking the time to
ask these questions that the community has been dying to hear
the answers to for so long. Also, many thanks to the folks
in Undernet #3drealms for providing some of the questions
used in the interview.
1 ][ Page