Article View: comp.sys.ibm.pc.games.action
Article #3851Re: Quake, WOW!
From: Nick Vargish
Date: Wed, 09 Aug 1995 00:00
Date: Wed, 09 Aug 1995 00:00
65 lines
3148 bytes
3148 bytes
I wrote:
>> p.s. I saw the Quake code fragment,
Rob Jellinghaus writes:
>Could you repost it, or send me a copy, or tell me where I can find it?
I had to wade through a very ugly IRC log (redundant, I know), but
here it is... Oh, iddt is Dave Taylor, of iD.
<iddt> here's some code that generates thunder..
<iddt> thunder ()
<iddt> {
<iddt> local rnd;
<iddt> rnd = random() * 40 + 10;
<iddt> sound (self,0,thund);
<iddt> self->nextthink = time + rnd;
<iddt> self->think = thunder;
<iddt> }
Then, I also said:
>> it looks like those iD guys spend
>> too much time doing C++. Lisp would be the way to go!
And Rob had the temerity to disagree with my wise words:
>No, actually. As a new game programmer with Lisp experience, I can
>definitively say Lisp has almost no place in a high-performance 3D network
>game. You need every bit of speed you can get in that environment, and C++
>is a much better language for writing high-speed programs than Lisp
>is.
Hrm, tell that to the folks at Crack dot Com, whose Abuse game is
"basically, one big Lisp engine" according to Dave Taylor. You might
recognize the name, he's one of the iD guys, as well as wearing the
Producer hat for Abuse. They don't seem to have any speed problems
with using Lisp.
Well, I should expand on this. Your experience is probably with Lisp
interpreters... Though you combined the two activities in one
sentence, have you actually tried to apply your Lisp experience to
game coding?
Anything interpreted is going to be slower than something that's
already been compiled. I suspect Abuse's engine is not a true Lisp
interpreter, but compiles the Lisp code into machine code as the
source is read from disk. You mostly have to drop the self-modifying
aspect of Lisp, which is not so important in a game environment
(except for AI, okay :^), but you get to keep the nice encapsulating,
definitional features of Lisp.
So, to modify my original claim: A Lisp-like dialect would be better
than a C-like language, because Lispish languages encourage modularity
and extensibility. I would be just as keen on a FORTH-like dialect,
since it shares the definitional charateristics that I find so
appealing in Lisp.
Nick
--
+------------------------------------+ my favorite computer things: Perl
| Nick Vargish, BBN Planet (SURAnet) | Linux, xpilot, Emacs, DOOM, fvwm
| var...@sura.net 301/489-8134 | the Web, Usenet, nethack, my GUS
| http://www.sura.net/~vargish | zsh, fvwm, FORTH.
Technical Details
Message-ID:
<vargish.807992580@tanelorn.sura.net>Path:
mbox-mo1.pugleaf.net!unknown!not-for-mailReferences:
<ARNULF.95Aug7233134@arnulf.dialup.fu-berlin.de> <vargish.807839723@tanelorn.sura.net> <409f1v$if4@news1.best.com>Show Full Headers
Complete Article Headers
From: Nick Vargish <var...@sura.net> Subject: Re: Quake, WOW! Date: 1995/08/09 Message-ID: <vargish.807992580@tanelorn.sura.net> X-Deja-AN: 107829500 references: <ARNULF.95Aug7233134@arnulf.dialup.fu-berlin.de> <vargish.807839723@tanelorn.sura.net> <409f1v$if4@news1.best.com> organization: SURAnet reply-to: var...@sura.net newsgroups: comp.sys.ibm.pc.games.action,comp.sys.ibm.pc.games.rpg originator: var...@tanelorn.sura.net MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit