One thread from when the article came out:<p><i>Disassembling Jak and Daxter</i> - <a href="https://news.ycombinator.com/item?id=13385687" rel="nofollow">https://news.ycombinator.com/item?id=13385687</a> - Jan 2017 (32 comments)<p>A few related threads - others?<p><i>How Crash Bandicoot hacked the original Playstation [video]</i> - <a href="https://news.ycombinator.com/item?id=22439752" rel="nofollow">https://news.ycombinator.com/item?id=22439752</a> - Feb 2020 (77 comments)<p><i>Lisp in Jak and Daxter</i> - <a href="https://news.ycombinator.com/item?id=17133557" rel="nofollow">https://news.ycombinator.com/item?id=17133557</a> - May 2018 (25 comments)<p><i>Parallelizing the Naughty Dog Engine Using Fibers [video]</i> - <a href="https://news.ycombinator.com/item?id=9309665" rel="nofollow">https://news.ycombinator.com/item?id=9309665</a> - April 2015 (11 comments)<p><i>Naughty Dog still uses Lisp in its videogames</i> - <a href="https://news.ycombinator.com/item?id=1194873" rel="nofollow">https://news.ycombinator.com/item?id=1194873</a> - March 2010 (5 comments)
Jak and Daxter's engine was freaking amazing on PS2.<p>The PS2 has a terrible CPU. Given the way the instruction cache works, you can hit a theoretical max icache hit rate of 7/8. Nothing hits that except synthetic demos that have no real application. Furthermore, you have a manually managed scratchpad memory (think manual L2 cache), and you have to be really clever to avoid stalling the CPU.<p>Your typical, hand-tuned C/C++ game on PS2 will be lucky to hit, perhaps, 50% cpu utilization. Jak and Daxter hits something in the upper 60% range, which is simply incredible. This means it's managing both its code and data exceedingly well. A naively written "simple" application, like the stuff you learn in software engineering class, will probably hit less than 20% CPU utilization, you have to work really hard for 50%.<p>I was once a game engine lead developer in the era of the Wii and PS2, and that game blew my socks off, since my incredibly "clever" code didn't even come close to their engine, I was proud to hit 50%.
When I read stories like this about cool technology from the past that people can still enjoy today, I think it's a pity that the source code is locked away and lost as people and companies move on to new things.<p>IMO, there should be some kind of archive that conserves and publishes them after some time has passed, so that they could be ported to new hardware and kept accessible. and somehow documented for future historians.
Jak and Daxter is a fantastic series, the fact that you can get it on PS Vita makes it all the better.<p>Along with Ratchet and Clank, some of favourite teenage memories
If you like this stuff, I recommend the Coding Secrets YouTube channel, where a developer shows off his past work and secrets to how a game came about, Eg <a href="https://youtu.be/Z0S92Fs5gOg" rel="nofollow">https://youtu.be/Z0S92Fs5gOg</a> and <a href="https://youtu.be/iEQLbbyToxw" rel="nofollow">https://youtu.be/iEQLbbyToxw</a>
Wonderful! I remember being obsessed with this game and the technology surrounding it. I think this + PG is what got me into Lisp and Scheme for a while. Still have this for PS2, and got the kids playing it about a year ago. Will have to remind them it's there.
So this project provides a disassembler for GOAL.<p>I wonder if you can go a step further and make a decompiler that outputs something close to the original GOAL syntax. Once you have that, I guess you can then recreate the compiler and REPL tooling.
> To create your own programming language, from scratch, and then write the entire game engine in it. I don't know of any other games out there that do that.<p>scummVM is a "gameVM" written by LucasArts.
"Another World" did something similar.<p>So it was pretty common on old days (near '90).