Gmane
From: Jud Leonard <leonard@...>
Subject: Fwd: Lisp powers Jak & Daxter at Naughty Dog
Newsgroups: gmane.lisp.mcl.general
Date: 2003-03-08 21:19:47 GMT (6 years, 16 weeks, 6 days and 26 minutes ago)
I've taken the liberty of forwarding this message from Craig Reynolds, 
formerly of Symbolics.  I thought it would be of interest to MCL users.
	Jud

Begin forwarded message:

> From: Craig Reynolds <cwr@...>
> Date: Sat Mar 8, 2003  3:38:58 PM US/Eastern
> To: the-usual-suspects@...
> Subject: Lisp powers Jak & Daxter at Naughty Dog
> Reply-To: cwr@...
>
> I had a surreal experience yesterday at the Game Developers Conference.
> The director of a successful software company was complaining about how
> hard it was to find good Lisp programmers.
>
> Stephen White, of Naughty Dog, Inc. spoke on "The Technology of Jak &
> Daxter".  Naughty Dog (http://www.naughtydog.com/) is a game studio in
> LA, known for its popular Crash Bandicoot series and now Jak & Daxter.
>
> He also talked in glowing term of how the power of Lisp (well, Scheme,
> well GOAL: Game Object Assembly Lisp) helped them create the complex
> runtime code of a major commercial console game.  The text of a few of
> his slides is included below.
>
> (In Crash Bandicoot, they used a game engine written in C which they
> scripted in GOOL, an earlier Lisp-like language.)
>
> I thought this would be of general interest to TUS, and perhaps even a
> job opportunity for someone.  Naughty Dog is hiring and they need Lisp
> programmers.  Can anyone suggest other Lisp-friendly communities I
> could send this to?
>
>
>
> What is GOAL?
> * GOAL is our custom compiler based on Lisp (well, actually Scheme).
> * Practically all of the run-time code (approximately half a million
>   lines of code) was written in GOAL.
> * Only the IOP code and a small amount of kernel code was written in C.
>
>
> GOAL Features
> * Object-oriented language.
> * Extremely simple syntax.
> * Powerful macro capability,
>   far superior to C’s preprocessor or C++’s templates.
> * Listener
>   * Code can be executed live at a “listener”.
>   * Code can be compiled, downloaded,
>     and linked without interrupting gameplay.
>   * Data structures can be inspected or modified live.
>   * Rapid tuning and debugging.
>