if you get enough smart programmers together all they do is make lisp, so you have to make sure theres some less-smart "control rod" programmers in the team


one of the more famous criticality incidents of this type is naughty dog, who were trying to make crash bandicoot or something but ended up, thats right, making a lisp

@jk Yeah, but it does self-correct, because as soon as 2 programmers each invent a Lisp, they will argue forever as to whose Lisp is the True Lisp.

It's like the computational Fermi Paradox. Lisp is the Great Filter that prevents a runaway intelligence singularity.


y'know, it turns out secretly that the Duke Nukem Forever programmers kept running into this problem

they'd keep making lisps, then fights would break out, then their teams would be decimated by people quitting out of disgust or because they were conquered

this is how all great unfinished undelivered games got unfinished and/or undelivered


@jk Oh yeah! I remember reading an article about that in Game Developer Magazine. It must've been one of the post mortem articles. I was hoping it was online somewhere, but I've had no luck finding it. I did find this from Andy Gavin: all-things-andy-gavin.com/2011

@jk This LISP!


> Game Oriented Assembly Lisp (or GOAL) is a video game programming language developed by Andy Gavin and the Jak and Daxter team at Naughty Dog. It was written using Allegro Common Lisp and used in the development of the entire Jak and Daxter series of games.

/via https://social.coop/@h/99177127147550147
@jk Also Crash Bandicoot is mentioned in the WP article.

> The predecessor language, Game Oriented Object Lisp (GOOL), was also developed by Andy Gavin for the Crash Bandicoot game.
@fap @ghostdancer @jk Apparently Naughty Dog are using !scheme for game scripting again! But this time they didn't fall for the temptation of writing their own:

> Sony's Naughty Dog game studio has created just such a large project, actually a framework for creating projects. Roughly speaking, Sony's Racket-based architecture provides languages for describing scenes, transitions between scenes, scores for scenes, and more. Domain specialists use the languages to describe aspects of the game. The Racket implementation composes these domain-specific programs, then compiles them into dynamically linked libraries for a C-based game engine



The article is not specifically about Naughty Dog, it's about #Racket as a catalyst of Language-Oriented Programming.
Sign in to participate in the conversation

The original server operated by the Mastodon gGmbH non-profit