Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Programming Language

Game Oriented Object Lisp

Functional Language

Game Oriented Object Lisp, usually shortened to GOOL, is a programming language that Andy Gavin designed at the game studio Naughty Dog to control the behavior of game objects in the Crash Bandicoot games. It is a dialect of Lisp built on the idea that code steering characters, enemies and other objects runs only a few times each frame, so speed of writing and rewriting matters more than raw execution speed. Gavin's 1996 article on the language describes an optimizing single pass compiler, full power macros, symbolic names, multiple ultra light threads and a state system in which every object carries its own local state. Gavin has written that GOOL was used in Crash 1, Crash 2 and Crash 3, that it was mostly interpreted although by Crash 2 basic expressions were compiled into machine code, and that Way of the Warrior had a much simpler version of it. The Jak games that followed used a new and far more capable language, Game Oriented Assembly Lisp.

Facts
Primary Use Domain
Game development 1
Connections

Invented By

Andy Gavin, Pioneers
Source Andy Gavin (Wikipedia)

Predecessor Of

Source Game Oriented Assembly Lisp (Wikipedia)
In the Other Atlases

Developed By

Also in Business Atlas: the developer of this subject.

Source Andy Gavin (Wikipedia)Naughty Dog career
Quote, Naughty Dog career
While at Naughty Dog, Gavin developed two LISP dialects for use in game development, Game Oriented Object Lisp (GOOL) and its successor Game Oriented Assembly Lisp (GOAL).
Sources
1. Making Crash Bandicoot - GOOL - part 9 (All Things Andy Gavin)
  • GOOL design section
    It is a compiled Lisp dialect designed specifically for the programming of interactive game objects.
  • In Group: Lisp Dialects, GOOL design section, Lisp dialect
    It is a compiled Lisp dialect designed specifically for the programming of interactive game objects.
View the Source
Game Oriented Assembly Lisp (Wikipedia)
Predecessor Of: Game Oriented Assembly Lisp, Uses
Quote, Predecessor Of: Game Oriented Assembly Lisp, Uses
The predecessor language, Game Oriented Object Lisp (GOOL), was also developed by Andy Gavin for Crash Bandicoot.
View the Source
Andy Gavin (Wikipedia)
Invented By: Andy Gavin, Naughty Dog career
Quote, Invented By: Andy Gavin, Naughty Dog career
While at Naughty Dog, Gavin developed two LISP dialects for use in game development, Game Oriented Object Lisp (GOOL) and its successor Game Oriented Assembly Lisp (GOAL).
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.