Computing Atlas

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

Game Oriented Assembly Lisp

Functional Language

Game Oriented Assembly Lisp, usually called GOAL, is a Lisp dialect written for video games by Andy Gavin and the Jak and Daxter team at Naughty Dog. Its compiler was itself written in Allegro Common Lisp, and it was used across the Jak and Daxter series. Its syntax resembles Scheme, but it favours an imperative style, with classes, inheritance and virtual functions added. GOAL is not interpreted: it compiles straight to PlayStation 2 machine code, allows inline assembly in the middle of a function, and offers allocation primitives suited to running in constant memory on a console. A long running compiler session let developers edit, recompile and upload a function into a running game, which helped with level streaming. Naughty Dog later moved away from Lisp, and a community project called OpenGOAL began in 2020 to port the language to x86-64. Its predecessor was Game Oriented Object Lisp, written for Crash Bandicoot.

Facts
Execution Model
Compiled 1
Connections

Invented By

Andy Gavin, Pioneers
Source Andy Gavin (Wikipedia)

Preceded By

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

Developed By

Also in Business Atlas: the developer of this subject.

Source Game Oriented Assembly Lisp (Wikipedia)Lead, developer
Quote, Lead, developer
made for video games developed by Andy Gavin and the Jak and Daxter team at the company Naughty Dog
Sources
1. Game Oriented Assembly Lisp (Wikipedia)
  • Lead, developer
    made for video games developed by Andy Gavin and the Jak and Daxter team at the company Naughty Dog
  • Design, compilation
    GOAL does not run in an interpreter, but instead is compiled directly into PlayStation 2 machine code to execute.
  • Preceded By: Game Oriented Object 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, Career, Lisp dialects
Quote, Invented By: Andy Gavin, Career, Lisp dialects
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.