🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc.games.action
Article #3851

Re: Quake, WOW!

#3851
From: Nick Vargish
Date: Wed, 09 Aug 1995 00:00
65 lines
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-mail
References: <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