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:

@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.

@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.


"Wait, what do you mean, I'm 'less smart'?"

"I mean YOU'RE the control rod."

"Oh! Okay then. Cool."

"...and there we go."

@jk dammit do i have to write a lisp for the atari jaguar now

@LuigiThirty the hardware is so overcomplicated it may well have been a lisp machine all this time

@jk sometimes i think the AI i'm working on will be that 'control' person. sometimes i fear it will be a lisp.

@jk I think modern smart programmers would invent something like Idris

(I don't want to offend anyone pls don't @ me)

@jk You don't want a runaway Lisp situation!

@jk I believe the technical word for this process is "doping," and the programmers are called dopes.

@jk OMG. You've done it! You've found the holy grail --- the anti-particle of the Rockstar Programmer. Behold, the Control Rod Programmer! 😀​

@jk this checks out since asking a bunch of smart programmers to make you a lisp will probably result in a self-hosted lisp, which is just a lisp with a lisp in it

Sign in to participate in the conversation

The original server operated by the Mastodon gGmbH non-profit