Ken Silverman (11/29/98)
...on the one and only Build engine, made famous by Duke
Interview by Brad Wernicke - Originally seen
Ken Silverman, maybe you've heard of him, maybe you've haven't.
He made his exit from the gaming industry almost as quickly
as he entered it. He's had a hand in many released games, from
many different game developers. Although others at 3D Realms,
mainly Todd Replogle (Duke Nukem 3D) and Frank Maddin (Shadow
Warrior) have had a hand in game specific enhancements, Ken
Silverman is the primary architect of the Build engine. Ken
perhaps said it best himself, with the following message hidden
within Duke Nukem 3D, "BUILD engine&tools; programmed by Ken
Silverman of E.G. RI. (c) Copyright 1995 Ken Silverman. Summary
BUILD = Ken. !!!!"
Ken took some time out of his schedule, and met us on Undernet
IRC's #3drealms channel. We threw a series of questions at
Ken, who is now 23, and is a full time student at Brown University
and as it turns out, it was Ken's first time ever on IRC.
Ken, how did you get started in the
game industry at such a young age?
Ken: Well it all started in 1992, I was working on a game
called Ken's Labyrinth as the time which was the first Wolfenstein
clone. In the end of 1992, before I released it to shareware
myself, I sent a beta version of it to several companies.
One of them was Apogee. The others were just companies I found
on game boxes. Apogee wasn't interested in marketing my game
due to the primitive graphics, although they were impressed
with my engine.
Then January 1, 1993, I released Ken's
Labyrinth to the internet myself. Actually my brother
did it for me - I was only 17 at the time. A week later Epic
MegaGames decided they would market the game without too many
How did you become so experienced
with computers by that age?
Ken: Well my first computer was a TI-99 4/A that my parents
bought for $50 after Christmas in December 1983. My experience
is largely due to my family, my mom is a computer programmer,
and my dad is an engineering professor (at Brown). I have
one brother, Alan, who is three years older than me. He certainly
helped me because at the time (1983-84) he was a better programmer
than me, and later taught me to use DOS. My family taught
me basic and my mom got me started in C in 1988.
My first PC was a 386-20, bought in November, 1988. It was
a Bar Mitzvah gift from my parents. I spent several years
of hacking away and making demos to try to attract attention
from my brother. I was EXTREMELY unpopular in school, and
I guess the computer was my own world where I could forget
How did the Build engine come about
in the beginning?
Ken: After Ken's Labyrinth, I started working on two new engines
when I was 17. One was like Comanche, the other was like Doom,
although both sucked at the time. It was originally thought
that Epic would use my next engine, although I decided that
their marketing wasn't much better than what I could do myself.
Sometime in the summer of 1993, I sent some beta copies of
my newer engine titled "Build" to a bunch of companies.
In August of 1993, Apogee offered me a contract including
a salary. It was a tough decision to leave Epic, especially
since Apogee and Epic were big shareware rivals at the time.
But I signed on with Apogee because they had a track record
of more professional games.
Why is the engine called Build anyway?
Ken: There was never an official name for it. At first, I
hated the name "Build", I thought 1 syllable was too short.
But eventually it grew on me. I don't recall if had a previous
name, but I do remember that I was calling it Build in 1993.
Was it difficult juggling work and
school at the same time?
Ken: I started my freshman year at Brown in September, 1993.
At first I was going to major in Engineering, but now it's
Applied Math. Originally, my parents and I thought I could
handle programming and schoolwork together. But that wasn't
the case as I let my classes slide. I failed 2 out the 4 courses.
One of the courses I failed was CS15 - Introduction to Computer
Science. It's ancient history now (but I'm low on college
Progress was slow that semester, although I did get a lot
of phone calls from the programmers of the other teams. When
I got my first report card (in January of 1994), I decided
to take a leave of absence. Actually it was my dad who helped
me make that decision, and Apogee wasn't too unhappy to hear
the news either.
You did most of your work on Build
back home, how much did you work face-to-face with the developers
of the other Build engine games?
Ken: Well, I live in Rhode Island and The first time I actually
flew out to Texas was with my parents in February of 1994,
when I was 18 years old. It was a short 3-day weekend trip.
My parents went because I wasn't old enough to rent a car
at the time. And this was my first time flying alone, etc.
I've been to Texas a total of ten times in my life from
1994 to 1996. The trips averaged around one month, although
I spent the most time in Texas in 1995. Also, on 3 of the
trips I also went to Seattle to meet with the Blood team and
the Powerslave team (before they broke off from Apogee).
I worked mostly with Todd Replogle (Duke Nukem 3D), Frank
Maddin (Shadow Warrior), and Nick Newhard (Blood) I happen
to have a unique coding style - the code is not documented
well, and it wouldn't be considered "elegant" by any means.
The reason I bring this up is because my coding style matched
Todd's the most, while Nick was an "elegant" coder and used
C++, and Frank was kind of a mix of both.
What languages is Build written in?
Ken: Build was written in Watcom C and assembly (both inline
and in separate modules). I would say my real strength is
in assembly optimization. I never program in assembly to begin
with, though. I usually program in C, and then eventually
convert some important routines to assembly. I don't do C++,
and probably won't anytime soon.
The C code for the Build engine has about 8000 lines (Note
my code is very compressed; no comments, multiple statements
per line, etc.). The Build editor code is another 8000 lines.
There are also 5000 lines of assembly in Build. It took about
a minute or 2 with full optimizations to compile on my P133
at the time.
1 ][ Page