| (Editor's note: Kevin
Bentley is the official maintainer of the Descent 1 source code release and head of the
newly formed D1-X programming team. He also works as a programmer for StarGate Networks, authors of Kahn. He is
currently being considered by Outrage for work as a
contractor in the development of Descent 3. This interview was conducted on EFnet IRC. The
interview was edited slightly so that the reader can make more sense of it. What follows
is a fairly accurate representation of what actually transpired.)
Gwar> Hi,
Kevin. First off ...
How did you get started
with Descent? Have you been interested in programming it from the beginning or were you
just another addicted player?
|Kevlar|> Well, let me
start from the beginning... Back a long long time ago, Aaron [Brinton, aka aaronb] and I
worked at a company together (Not the last job where we worked together, another one)
|Kevlar|> one day we were playing a game called "snipes" which was a
novell app that came with Netware. At the time Wolf3d was all the rage.....
Gwar> wolf3d? what's that? ;)
|Kevlar|> and I suggested to Aaron and another co-worker that it would be
great to make a game like wolf, only multiplayer....I tried to get them to go along with
it, but the project never went anywhere....
|Kevlar|> anyway, a few months later, id stole my idea and made doom. :)
Gwar> oh hehe ;)
Gwar> wow..did u feel at the time that such an undertaking was within your
abilities?
|Kevlar|> Well, I didn't think I could do it alone... thats why it never went
anywhere...
Gwar> i c
Gwar> nope, these one-man 3d gaming jobs never go anywhere :)
|Kevlar|> anyway, we liked to play doom, but doom modem games were like
playing the lottery... you tried for hours to get the game going, then played for an hour
or so and the game dies with an error :(
Gwar> ya
Gwar> i have heard the stories
|Kevlar|> By this time, Aaron was living in Portland and we were talking one
day, and he tells me about this great new 3d game that was just released shareware, called
"Descent"
|Kevlar|> so, we decided to try a modem game, and the first time we tried, it
worked perfectly!
|Kevlar|> so, we had large phone bills from playing modem descent....
Gwar> hehe
|Kevlar|> then we discovered IHHD, and eventually Kali...
Gwar> right
Gwar> heh, how well did IHHD run descent?
|Kevlar|> IHHD had lag, worse than Kali, and we were used to direct modem
games, so we only played a total of a few hours worth of IHHD.....
|Kevlar|> when we started using Kali we were working together again, and had a
T1 at work, so Kali rocked!
|Kevlar|> and hundreds of hours of modem games...
|Kevlar|> of course, Aaron always kicked my butt.....
Gwar> ya, i had T1 access up until a few months ago, so i've been quite
spoiled for most of my descenting
Gwar> it's very hard for me to get up the motivation to play kali games these
days..would much rather drive hundreds of miles to play on LANs
|Kevlar|> yeah, I too prefer lan games... although ISDN 1-1 isn't bad at
all...
|Kevlar|> so, anyways, I have always been a progammer at heart, always looking
for something to do...and games are a passion!
What is your role in
Kahn development?
|Kevlar|> Well, I got
started working on Chat... network programming has been an interest for a long time (I got
started writing a hack program to spoof packets on a Novell server)
|Kevlar|> but now I do whatever needed... I work on DOS Kahn, as well as DOS
chat, and Windows chat, and the server, or whatever....
|Kevlar|> it is pretty much a team effort with Norm [Bright] and I now...
|Kevlar|> but mostly I do chat.
Gwar> gotcha
What does Kahn have to
offer as an alternative to Kali? And what kind of advancements will we be seeing in the
future?
Gwar> that's prolly too
broad a question
|Kevlar|> Well, Kahn basically has a cleaner environment... we keep the
cheaters out the best we can, and we offer a bit less chaos in chat...
|Kevlar|> but I think our architecture is also still better, and for most
people will perform better. Kahn has Frame optimization, something Kali never added, which
makes a big difference for games like Descent.
How does frame
optimization make a difference?
|Kevlar|> well, it takes
packets that look the same, and memorizes them, so it doesn't have to send the same part
of them all over again... it is sort of a multiple packet compression technique
|Kevlar|> as opposed to just compressing bit patterns in each packet, which
both Kahn and Kali now do
Gwar> oh, i see
Gwar> sounds like the nail gun compression in quake
|Kevlar|> It works quite well.... in Warcraft for instance, it makes a huge
difference...
|Kevlar|> mileage may vary on Descent, depending on the game, but it always
helps some. :)
Gwar> i hope d3 has built-in support for that
|Kevlar|> I have lots of faith that the D3 network code will be the best. :)
Gwar> it sounds like it man, im really excited
Gwar> jason (and i suppose you) have come up with some clever shit
|Kevlar|> well, at this point It's Jason, not me, but I will try to influence
him :)
What exactly does the
release of the Descent source code mean to the Descent developer community?
|Kevlar|> Well, it means
that all those people with a billion idea of how to improve Descent have a chance to put
their money where their mouth is. :)
Gwar> hehe
|Kevlar|> It means that the sky is the limit, and Descent 1 is by no means a
dead game.
Gwar> word up
I understand that you
will be collaborating with Heiko Herrmann of descent2.com on the "D1-X" project.
How do the two of you plan to proceed?
|Kevlar|> Well, since I met
Heiko back in October when I was in Germany, we have been wanting to cooperate more with
our projects.
|Kevlar|> Both of us are Descent freaks (Although I think the guy with the
Descent logo on his car, who listens to descent midi in his car stereo wins the award for
the biggest Descent freak!) and we are both programmers
Gwar> lol
Gwar> havent heard that one
|Kevlar|> yeah, it's true. I should have taken a picture.
|Kevlar|> anyway, [Heiko and I] want to help keep people working together on
descent, because a few people working together can accomplish a lot more than many people
working alone
Gwar> indeed
Gwar> OTOH, a lot of people working together can also amount to a big mess
Gwar> a FEW ppl working together is really ideal
|Kevlar|> yeah, that is why Heiko and I are cooperating, to keep it from
becoming a mess
|Kevlar|> We are trying to take a leadership role, because honestly, I think
most people with plans for the Descent code have way underestimated the effort needed to
do anything with Descent code.
Gwar> hehe, true
|Kevlar|> but where we go with Descent is yet to be seen. I think a Win32
(GL?) and Linux port is going to happen
Gwar> anyway, i'm glad you're taking a plug-in mod feature seriously
|Kevlar|> I think plug-in mods have to happen if we want to really see the
improvements build on each other.
Gwar> yeah, but now, with plug-in mods, how hard would it be to make two mods
work together? do you see any way of making that happen, short of someone just throwing
code from two mods together into one?
|Kevlar|> well, that depends on how the mods are implemented. but with an open
architecture, taking two mods and combining them are a lot better than trying to merge 2 C
source files.
Gwar> i see
Gwar> i hope that the mods that ppl can come up with for D1 can convince
Outrage to include full-featured customization for D3 right from the start
|Kevlar|> Well, I hope they do too. The main thing is to convince [Outrage]
that they aren't going to cause themselves huge support problems if they do.
|Kevlar|> BTW, the reason I started the DDR page was because a lot of people
were asking Parallax for specs, but they didn't have the time to release them, and they
couldn't just release the source code.
|Kevlar|> so I made a deal where they gave me the source for specific things,
and I made specs....thats where DDR got started...
Gwar> oh, i see
Gwar> cool, didn't know that :)
But what about cheaters? Is there
not an even greater threat from them now?
|Kevlar|> I don't think
it's too big a threat. The effort to compile Descent is going to be much higher than any
other way of cheating. As it is now, people have to have some very expensive software to
make changes to Descent. I think that as time goes on, people will put some validation
code into Descent, which should reduce cheating as well
|Kevlar|> I think the end result will be less cheating, not more.
Gwar> agreed, and that's what players need to understand
Gwar> some ppl are in a kind of hysteria about it
Gwar> amazingly, there are players NOT excited about the code release, seeing it as a
bad move
|Kevlar|> Well, those people should try to get it to compile! :)
|Kevlar|> Face it, most cheaters are lame, and lazy. If they have to download
a bunch of compilers, and spend days making changes, what fun is that? They could much
easier get gwiz...
Gwar> well, you will be making that easier to do
Gwar> hehe
|Kevlar|> yes, but as it gets easier to compile, it will be changed also. Even
if it is a matter of downloading DJGPP and GNU C, thats like 20megs+ to download. Still
easier to use gwiz
|Kevlar|> I spent many days locked in a hotel room in Europe getting the code
to where it is now, and i had the compilers and I am a programmer aready! :)
Gwar> i'm thinking validation is what will keep the cheaters out for sure, not
just compilation difficulties, in the long run
Gwar> so i think some kind of validation ability should be put high on the priority
list
|Kevlar|> Yes, I think validation is key.
Gwar> if a client/server architecture becomes a reality, would validation be
at the server when the client connects?
|Kevlar|> yeah, validation could be done lots of ways. A good way would be to
use the same code that allows plug in modules. the server could send the game some
"code" which would run, and verify the descent code, then report back. that code
could be changed often too
Gwar> i see
Gwar> interesting
Well, thanks for doing
this interview! Looking forward to Descent 1 all over again!
|Kevlar|> hey, it was fun!
Gwar> did u read the interview with aaron, btw?
|Kevlar|> yes, I did
|Kevlar|> interesting...but I should set the record straight....
Gwar> go 'head
|Kevlar|> I wrote the first CGI code for the ladder. Aaronb just made it 1000%
better :)
Gwar> hehehe
Gwar> and aaron said it was still just something that got the job done,
nuthin' special ;)
|Kevlar|> yeah, needed to be finished...never got done...
Gwar
gwar@descent.org |