- https://news.ycombinator.com/item?id=9815011 - July 2015 - in which it is reported that Naughty Dog switched from GOOL/GOAL to Scheme, as they switched from C to C++ during PS2 -> PS3 transition.
There's also OpenGOAL which aims at rebuilding the whole GOAL architecture and disassembling jak & daxter to GOAL code so that it can be ported to more platforms and more easily modded.
https://github.com/water111/jak-project
Jak and Daxter's engine was freaking amazing on PS2.
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.
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%.
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.
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.
Re-releasing old games on new systems is pretty common. Crash Bandicoot got re-released on the PS4 for example. So companies are going to hold onto their assets in hopes of being able to cash in on them again.
Not all of them even have it. Once everyone moves on from a project unless the company has an archivist that stuff tends to get thrown away or forgotten about in some dusty drawer in some box of DAT tapes that everyone forgot about. I would say it would be around the very late 90s that companies started realizing they should hold onto that stuff. Even then...
Speaking of the Vita, I think many people may not know of the version of the PS Vita device that is known as PSTV. It’s a PS Vita that you connect to your TV and use with wireless PS3 and PS4 controllers. I have one of these that I bought because I wanted to jailbreak it as well as to buy some official games and run. Following a guide online, I was use able to jailbreak my PSTV using the Henkaku homebrew enabler.
Anyway, I personally like the PSTV and bought it rather than the regular Vita because I wanted to play Vita games but wanted to play them on a TV and using my PS4 controller.
The PSTV can play most Vita games, but some Vita games were blacklisted from being possible to play on the PSTV. That’s another place where, in addition to being able to run homebrew, jailbreaking your PSTV is useful. With my jailbroaken PSTV I can play Vita games that I paid for but which Sony blacklisted from being played on PSTV.
The reason Sony blacklisted most of the games they did is mostly because the portable Vita has some things like touch sensitivity on the back side, which some games Rey on. But I was able to emulate that feature with my PS4 controller. Don’t remember if that was a feature of vanilla PSTV or if it was enabled by the jailbreaking.
So yeah, check out PSTV if you are interested in Vita. I seem to recall that I paid about $50 for mine on eBay new in box. It came with a PS3 controller but I used it with the PS4 controller that I had instead because I like the PS4 controller better than the PS3 controller.
50 dollars? Wow. Before Persona 4 Golden came out on Steam, it was a Vita exclusive. I tried to get my hands on a PSTV to play it, and without remembering the exact price, it was hundreds of dollars at the very minimum everywhere.
I ended up playing Persona 4 Vanilla on emulator, then Golden when it came out on Steam.
Sorry it was a long time ago and I looked it up and actually it was more than I said. I bought it on Amazon, not eBay it turned out, and I paid closer to what you said.
I ordered mine in October of 2016 according to my Amazon history (holy shit, time flies! I would have guessed 2018 or 2017), and I paid $130 for it at the time. New in box. It came bundled with a Lego Movie game and a DualShock 3 controller, and I bought some second hand Vita games that I played on it.
I used my PS4 controller with it instead of the PS3 controller that came with it, and let a friend borrow the PS3 controller for use with her PS3. She never returned the controller actually, but that's ok – she gave me a hoodie once, and I don't like PS3 controllers all that much anyways :p
I have actually heard about this effect when I was in university, that if we are happy with a product we tend after a while to think we paid less for it than we did. So at least it might be an additional indicator to anyone reading this that I really was happy about my PSTV :^)
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.
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.
scummVM is a "gameVM" written by LucasArts.
"Another World" did something similar.
Disassembling Jak and Daxter - https://news.ycombinator.com/item?id=13385687 - Jan 2017 (32 comments)
A few related threads - others?
How Crash Bandicoot hacked the original Playstation [video] - https://news.ycombinator.com/item?id=22439752 - Feb 2020 (77 comments)
Lisp in Jak and Daxter - https://news.ycombinator.com/item?id=17133557 - May 2018 (25 comments)
Parallelizing the Naughty Dog Engine Using Fibers [video] - https://news.ycombinator.com/item?id=9309665 - April 2015 (11 comments)
Naughty Dog still uses Lisp in its videogames - https://news.ycombinator.com/item?id=1194873 - March 2010 (5 comments)