Skip to content
0:00 / 0:00

#racket#naughtydog#playstation3

RacketCon 2013: Dan Liebgold - Racket on the Playstation 3? It's Not What you Think!

Racket

5K subscribers • 10 videos on Hallway

YouTube
  • Recommended by 4 people: 3 on Hacker News and 1 on Lobsters.
  • A classic. People kept recommending it from 2014 to 2022.
  • Presented by Dan Liebgold, Naughty Dog engineer
  • May be out of date. Uploaded 13 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

19K views13 years ago4 recommendations

Programming languagesGame developmentLisp and ClojureGame programmingLanguage design and type systems

Dan Liebgold explains how Naughty Dog used Racket-based domain-specific languages for game data and scripting on the PlayStation 3.

Dan Liebgold's keynote at RacketCon 2013.

Why it's here

4 people recommend this

What people say. Engineers point to this talk as a great real-world example of using Lisp and DSLs in AAA game production.

majjohaon Lobsters • Recommends

RacketCon 2013: Dan Liebgold - Racket on the Playstation 3? It's Not What you Think!

kevingaddon Hacker News • Recommends

On “Racket on the Playstation 3? It's Not What you Think [video]”

The speaker actually begins talking about racket and how they use it at about 6 minutes into the video. Here's a link: link to this video Interesting to hear how they replaced GOAL in their toolchain. The people I've met who used GOAL in the past talked at length about how much they miss it.

steinuilon Hacker News • Recommends

On “Halo was written with a Lisp dialect called blamscript (2014)”

Other than the games they wrote entirely in GOAL, all of their PS3+ games use a series of lispy DSLs implemented in Racket that get compiled to C and C++ for defining data to be loaded in the game and dependencies between these data, light scripting, dialogues, stuff like that. There's a talk by one of the engine devs at RacketCon from a few years ago on youtube about how they use these DSLs and how they came to be: link to this video

neilvon Hacker News • Recommends

On “OpenGOAL: Port of Jak and Daxter, written in GOAL, a custom Lisp by Naughty Dog”

Related talk by Dan Liebgold from Naughty Dog, at RacketCon 2013: link to this video Starting at around 10m into the talk, Liebgold says their DC language for TLOU (to get what they most needed from a DSL even if using C++ instead of GOAL) was implemented in Racket. For anyone not familiar with TLOU, it was a critically-acclaimed game, and my personal all-time favorite game for storytelling that somehow grabbed me. (I dislike all zombie franchises, but at a key point towards the end of the nonlinear narrative and playing in the game, I was surprised how much I really wanted to protect the kid. Which I'll partly attribute to a Lispy DSL that helped them execute immersive storytelling in a zombie stealth…

soegaardon Hacker News • Mentions

On “How to Program Racket”

Dan Liebgold (Naughty Dog) at RacketCon 2013. "Racket on the Playstation 3? It's Not What you Think!" link to this video

59nadiron Hacker News • Mentions

On “John Carmack: “I just dumped the C++ server I wrote for a new one in Racket””

…they speak Racket. Personally, I think the above paragraph explains how exciting Racket as a language and platform is, but it doesn't sound that interesting on the surface. It does allow people to create things like this0 and this1, though, which displays real practical use; shaping the way you solve the problem to fit the actual problem. 0 link to this video - Naughty Dog's scripting language 1 link - A web book publishing language…

faon Hacker News • Mentions

On “Why Racket? Why Lisp? (2014)”

I'm working through the admittedly beautiful and very thorough documentation 1. It's a very simple idea, really: you write your document and sprinkle racket s-expressions wherever you want. You can put your definitions at the top of your document, or in another file. You describe your templates in Racket also, because like Butterick says in his RacketCon video 2, "S-expressions and XML are the same thing". You can use tags that you haven't defined, they just get placed in the resulting HTML. You still have to roll your own CSS and any JavaScript. As far as I can tell it doesn't help you out with things like keeping track of footnotes numbering or citations and such: you roll your own for…

stchangon Hacker News • Mentions

On “John Carmack working on Scheme as a VR scripting language”

They switched to Racket when moving to the PS3. Here's a talk discussing the use of Racket in developing The Last of Us: link to this video

samthon Hacker News • Mentions

On “The Lisp Curse (2011)”

That's not quite right. These days Naughty Dog uses a DSL called DC built in Racket to write all the "data" in the game (everything from cut scenes to character attributes). Running DC produces data files shipped on the DVD of the game, and used by the big C++ engine that's running on the PlayStation. Dan Leibgold gave a talk about their system at RacketCon a few years ago: link to this video

tominatedon Hacker News • Mentions

On “Luxe: free, cross platform, open source, rapid development game engine”

A little off topic, but Racket is definitely used by Naughty Dog in their games. Here's a talk they did a while back link to this video

lunchladydorison Hacker News • Mentions

On “Lisp in Jak and Daxter”

Dan Liebgold from Naughty Dog did a talk on using Racket during development for the PlayStation 3 at Racketcon a few years ago 0. 0: link to this video

neilvon Hacker News • Mentions

On “Technical Breakdown of a new NES game written in Lisp”

Neat, I didn't know Naughty Dog also used Allegro CL, in addition to Racket: * "RacketCon 2013: Dan Liebgold - Racket on the Playstation 3? It's Not What you Think!" link to this video * "Functional mzScheme DSLs in Game Development" (MzScheme was the name of the main PLT Scheme interpreter that was renamed Racket) link

franknineon Hacker News • Mentions

On “GameLisp: Scripting language for Rust game development”

Found an old postmortem on Jak and Daxter from 2002 talking about pros and cons of using GOAL: link And Andy Gavin talked briefly about GOOL on Ars Technica Crash Bandicoot interview: link It seems Naughty Dog later decided not to maintain their own Lisp and moved to Racket: link to this video I am really curious about how they use Lisp nowadays.