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 Connections
Invented By
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, developerQuote, 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 SourceAndy Gavin (Wikipedia)
Invented By: Andy Gavin, Career, Lisp dialectsQuote, 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 Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.