πŸ‡¨πŸ‡¦VancouverπŸ‡¨πŸ‡¦TorontoπŸ‡ΊπŸ‡ΈLos AngelesπŸ‡ΊπŸ‡ΈOrlandoπŸ‡ΊπŸ‡ΈMiami
1-855-KOO-TECH
KootechnikelKootechnikel
Insights Β· Field notes from the SOC
Plain-language briefings from the people watching the alerts.
Weekly Β· No spam
Back to News
Gaming TechnologyIndustry

OpenGOAL Revives Naughty Dog's GOAL Language for Jak and Daxter PC Ports

AuthorZe Research Writer
Published
Read Time9 min read
Views0
OpenGOAL Revives Naughty Dog's GOAL Language for Jak and Daxter PC Ports

OpenGOAL Revives Naughty Dog's GOAL Language for Jak and Daxter PC Ports

The OpenGOAL project has successfully decompiled and recreated Naughty Dog's proprietary GOAL programming language, enabling native PC ports of the Jak and Daxter trilogy without emulation.

The OpenGOAL project represents one of the most ambitious reverse engineering efforts in gaming history: the complete decompilation and recreation of Naughty Dog's proprietary GOAL programming language, enabling native PC ports of the Jak and Daxter trilogy. Unlike emulation or interpretation approaches, OpenGOAL produces native x86-64 executables that run directly on modern hardware.

Technical diagram showing vulnerability chain
Figure 1: Visual representation of the BeyondTrust vulnerability chain

What Happened

The OpenGOAL project began development in 2020, with the goal of creating native PC ports of the Jak and Daxter trilogy through decompilation rather than emulation. The project reached several milestones over the following years:

Jak and Daxter: The Precursor Legacy became fully playable in 2022, marking the first complete decompilation of a GOAL-based game. The decompilation process involved analyzing the compiled GOAL bytecode from the PlayStation 2 disc and reconstructing human-readable source code.

Jak II decompilation followed, with the game reaching playable status. Jak 3 decompilation was completed subsequently, making the entire original trilogy available as native PC applications.

As of July 2025, the project maintains active development on GitHub under the open-goal organization. The repository shows ongoing work on bug fixes, performance improvements, and feature additions. The project has accumulated over 8,000 stars on GitHub, indicating significant community interest.

The project documentation emphasizes that OpenGOAL is not an emulator. The distinction matters both technically and legally. Emulators run original game code through a software simulation of the original hardware. OpenGOAL instead produces new executables that implement the same game logic but run natively on modern processors.

Key Claims and Evidence

The OpenGOAL project makes several technical claims about its approach and capabilities:

Complete language recreation: According to the project documentation, the team built a new compiler for the GOAL language that targets x86-64 processors. The compiler accepts GOAL source code and produces native machine code, eliminating the need for PlayStation 2 hardware emulation.

98% GOAL codebase: The project states that over 98% of the original Jak games were written in GOAL, with only small portions in assembly language for performance-critical sections. The decompilation effort focused on recovering this GOAL code.

Readable decompilation output: Unlike many decompilation efforts that produce difficult-to-understand code, OpenGOAL claims to produce readable GOAL source code that closely resembles what the original developers would have written. The project repository contains the decompiled source code for verification.

Asset extraction requirement: The project explicitly states that users must own legitimate copies of the original games. The OpenGOAL software extracts assets from PlayStation 2 disc images but does not include any copyrighted game content in its distribution.

Modern graphics support: The project includes a custom graphics renderer supporting both OpenGL and Vulkan APIs, enabling the games to run on modern graphics hardware without the limitations of PlayStation 2 graphics emulation.

Authentication bypass flow diagram
Figure 2: How the authentication bypass vulnerability works

Pros and Opportunities

Game preservation: OpenGOAL provides a path for preserving the Jak and Daxter games independent of PlayStation 2 hardware availability. As original hardware ages and fails, native ports ensure the games remain playable.

Performance improvements: Native execution on modern hardware enables performance beyond what PlayStation 2 emulation can achieve. The ports support higher resolutions and maintain stable frame rates without the overhead of hardware emulation.

Modding potential: The availability of readable source code enables modifications that would be difficult or impossible with the original games. The community has developed texture packs, gameplay modifications, and accessibility features.

Educational value: The project demonstrates advanced reverse engineering techniques and provides documentation of Naughty Dog's unique development approach. The GOAL language itself represents an interesting case study in domain-specific language design for game development.

Cross-platform availability: The native ports run on Windows and Linux, expanding access beyond the original PlayStation 2 platform.

Cons, Risks, and Limitations

Legal uncertainty: While the project takes care to avoid distributing copyrighted content, the legal status of decompilation projects remains contested. Different jurisdictions have varying interpretations of reverse engineering rights.

Asset requirement: Users must obtain and extract assets from original PlayStation 2 game discs. The extraction process requires either physical discs and appropriate hardware or disc images, which may present accessibility barriers.

Incomplete feature parity: Some features from the original games may not function identically in the decompiled versions. Bug-for-bug compatibility is not guaranteed, and some players report differences in gameplay feel.

No official support: As an unofficial project, OpenGOAL receives no support from Sony or Naughty Dog. Updates depend entirely on volunteer contributors.

Technical complexity: Setting up OpenGOAL requires more technical knowledge than purchasing and playing the original games or using established emulators. The asset extraction process involves multiple steps.

Privilege escalation process
Figure 3: Privilege escalation from user to SYSTEM level

How the Technology Works

The OpenGOAL project consists of several interconnected components that work together to transform PlayStation 2 game binaries into native PC executables.

Decompiler: The decompiler analyzes compiled GOAL code from PlayStation 2 disc images. GOAL compiled to a custom bytecode format that ran on the PlayStation 2's Emotion Engine processor. The decompiler reverses this compilation process, producing GOAL source code from the bytecode.

GOAL Compiler: The project includes a new GOAL compiler written from scratch. Unlike the original compiler that targeted the Emotion Engine, this compiler produces x86-64 machine code. The compiler implements the GOAL language specification as understood from reverse engineering the original games.

Runtime Environment: GOAL programs expect certain runtime services that the PlayStation 2 operating system provided. OpenGOAL includes a runtime environment that provides these services on PC platforms, including memory management, threading, and system calls.

Graphics Renderer: The original games used the PlayStation 2's Graphics Synthesizer for rendering. OpenGOAL replaces this with a custom renderer that translates the game's graphics commands to OpenGL or Vulkan API calls. The renderer supports features not available on the original hardware, including higher resolutions and modern display aspect ratios.

Asset Extractor: A separate tool extracts game assets from PlayStation 2 disc images. The extracted assets include textures, models, audio, and level data. These assets are then used by the native port.

Technical context (optional): GOAL represents an unusual approach to game development. Most game engines use C or C++ for performance-critical code. Naughty Dog instead developed a Lisp dialect with features specifically designed for game development, including a custom object system and memory management tailored to the PlayStation 2's architecture. The language allowed rapid iteration during development while still producing efficient code.

Industry Implications

The OpenGOAL project demonstrates the viability of decompilation as a game preservation strategy. Traditional preservation approaches rely on emulation, which requires ongoing development to maintain compatibility with evolving host platforms. Native ports produced through decompilation can be maintained and updated independently of the original hardware.

The project also raises questions about the boundaries of reverse engineering in the gaming industry. While decompilation for interoperability purposes has legal precedent in some jurisdictions, the application to complete game recreation occupies uncertain legal territory.

For game developers, OpenGOAL provides insight into Naughty Dog's development practices during the PlayStation 2 era. The GOAL language represents a road not taken in game development, as the industry largely standardized on C++ for game programming. The recovered source code offers a window into alternative approaches to game engine architecture.

The success of OpenGOAL has inspired similar decompilation efforts for other games. Projects targeting Nintendo 64 titles, including Super Mario 64 and The Legend of Zelda: Ocarina of Time, have followed similar approaches, producing native PC ports through decompilation.

What Remains Unclear

Several aspects of the OpenGOAL project remain uncertain or undocumented:

Long-term maintenance: The project depends on volunteer contributors. The sustainability of ongoing development and bug fixes remains to be seen.

Legal status: Neither Sony nor Naughty Dog has publicly commented on the project. The absence of legal action does not constitute approval, and the project's legal standing remains untested.

Jak X and Daxter coverage: The project focuses on the main trilogy. Whether the team plans to decompile Jak X: Combat Racing or the PSP title Daxter has not been announced.

Performance characteristics: While the project claims native performance, detailed benchmarks comparing the ports to emulation or original hardware are not readily available.

Accuracy verification: The degree to which the decompiled code matches the original source code cannot be verified without access to Naughty Dog's original codebase.

What to Watch Next

Community development activity: The GitHub repository provides visibility into ongoing development. Commit frequency and issue resolution rates indicate project health.

Legal developments: Any communication from Sony or Naughty Dog regarding the project would clarify its legal standing. Similar decompilation projects have faced varying responses from rights holders.

Platform expansion: The project currently supports Windows and Linux. Potential expansion to other platforms, including macOS or gaming handhelds, would broaden accessibility.

Related decompilation projects: The techniques developed for OpenGOAL may be applied to other games. Projects targeting additional Naughty Dog titles or other GOAL-based games would indicate broader applicability.

Preservation community adoption: Whether game preservation organizations and archives adopt decompilation-based approaches alongside emulation will indicate the technique's acceptance in the preservation community.

Sources

  1. OpenGOAL GitHub Repository, "open-goal/jak-project," accessed July 2, 2025. https://github.com/open-goal/jak-project

  2. OpenGOAL Official Website, accessed July 2, 2025. https://opengoal.dev

  3. Hacker News Discussion, "OpenGOAL: Reviving the Language That Brought Us Jak and Daxter," July 2, 2025. https://news.ycombinator.com/item?id=44461893

Sources & References

Related Topics

reverse-engineeringdecompilationgame-preservationnaughty-dogopen-source