|Interview with Matt Toschlog and Mike
Kulas regarding the release of the Descent source code:
Q: Why are you releasing the source code?
Mike: The main reason is we figured a lot of people aspiring to work in
the game industry would like to see production "quality" code. There are two
reasons for this. One, you can learn a lot by looking at working code. Two, people will
see that you can write a decent game without writing beautiful code.
Matt: That's a good thing?
Mike: Not really, except that it might make people think writing
production quality code isn't that hard.
Matt: That's a good thing?
Mike: Well, not really, unless they learn that they have to focus on
designing a brilliant game, rather than writing brilliant code.
Matt: Ah, that's a good thing.
Mike: Yeah, I don't think I understood that until we started working on
Descent. At first all I cared about was writing technically good code.
Matt: Then we ran out of money and all we cared about was finishing our
Mike: Right. Our code got ugly, but our game got done.
Matt: Writing code is easy. Finishing is hard.
Q: Is there any code you're particularly
Matt: I'm most ashamed of the vector intersection code.
Mike: Yeah, that's pretty bad.
Matt: Mike's AI code is the worst I've ever seen.
Mike: Only because you program with your eyes closed.
Matt: I'm proud we managed to finish without going bankrupt.
Mike: Yeah, finishing is all. Who said that?
Q: Seriously, what should people look at?
Matt: I really don't know. It's not like there's a lot of reusable code
in there. Some low level stuff could probably be used. The vector-matrix library is
probably fairly instructive.
Mike: The AI is an example of how not to write an AI system.
Matt: You're doing it the same way in FreeSpace, right?
Matt: The texture mapper is worth looking at, not that you'll be needing
a software texture mapper much longer.
Q: You're including the editor, right?
Mike: Yeah, people will be able to use our editor. On the whole, I doubt
it's any better than DMB2. And it doesn't run under Windows.
Q: What enhancements do you hope to see people make?
Matt: If an aftermarket sprouts for it, we'd be very happy. People ask
for lots of little features that we just don't have the time to add.
Mike: People could probably roll in some of the D2 multiplayer features
without too much difficulty.
Matt: I don't think we can guess what people will do. We had no idea how
much would be done with third party levels.
Q: The license states that people can't use the code for commercial
gain. What if some kid develops something and wants to recoup some of the cost through
Mike: We're not opposed to that in principle. They need to get written
permission from us, though. And, it would have to be after the thing is done so we know
what we're permitting to be commercialized, if you want to call it that.
Q: Any plans to release the D2 source code?
Matt: No definite plans. Though, I guess I don't see why all our source
code wouldn't eventually get released.
Mike: Me, too. It loses commercial value in just a few years. And,
releasing it brings us closer to our customers, which is a very good thing to do.
Q: Any final comments?
Mike: Yeah, have fun with the code.
Kevin Bentley held the interview with
Mike Kulas and Matt Toschlogg of Parallax Software