Taken back from the disc by OpenGOAL, then carried here.
Naughty Dog wrote the game in GOAL, a language of its own descended from Lisp, which compiled straight to the PlayStation 2's machine code; its source was never released. There was no C to recover. Bringing the game back meant translating every function on the disc back into readable GOAL, writing a new compiler for that GOAL, and building a runtime to stand in for the console. OpenGOAL, a volunteer project begun in 2020, did all three, and released Jak and Daxter on PC in April 2022: a native port rather than an emulator, run from the player's own disc.
Phaethon started from that work in July 2026 with the game fully decompiled: every one of its 535 files holds code, and no named function is missing its body. The work since has been making it behave as the disc does. Its logic now ticks at the console's 60 a second whatever the frame rate, the ocean's reflections come from the console's own program rather than a hand port, objects fade in at the distances the disc gives them, and its subtitles moved onto the overlay all four games share.
- 01
The disc
The player's own copy. Its archives hold the game's compiled code and all of its art.
- 02
Decompiler
Reads that compiled code back into GOAL a person can read, type-check and change.
- 03
Compiler
A new GOAL compiler builds the source for a PC's processor instead of the console's.
- 04
Runtime
A kernel, a sound and file driver and a renderer stand in for the console's hardware.
- PS2Jak and Daxter: The Precursor Legacy ships, written in GOAL.
- OpenGOALThe OpenGOAL project opens its repository.
- OpenGOALOpenGOAL's first release puts Jak and Daxter on PC.
- PhaethonPhaethon starts from OpenGOAL's tree, the game fully decompiled.
- PhaethonThe logic ticks at 60 a second at any frame rate, and 37 hand-written frame-rate patches are retired.
- PhaethonThe subtitles move onto the overlay all four games share.
- PhaethonLevel of detail follows the disc, so objects fade in instead of popping in.
- PhaethonThe ocean's reflections match the console's, its program generated rather than ported by hand.
