More or less, the sexps that define a state-script get run through a maze of Scheme macros - there's even a pretty decent expression language in there which is compiled to bytecode - and the result is big honking C++ structure which is fed to the Uncharted runtime and interpreted.
In particular, note all those wait-blah-blah calls; those are using call/cc to implement coroutines. Which is something you really really want in a game but which C++ of course doesn't have. (GOAL had native coroutines.)
It's also nice to be able to iterate on the language syntax without having to fool with BNF grammars and so on.
Reading about GOOL and GOAL is what got me into Lisp.
Working at a previous game company, on a PS2 title, we spent a lot of time oohing and aahing over J&D's beautifully fluid animations.
I'm actually still playing through the game as part of my "PS2 classics" backlog. Very nicely done!
I didn't realize Uncharted used any runtime Lisp -- could you elaborate?
/gush