Files
goldeneye-pc-port/docs/index.md
T
James Dansereau e7fee0d7a4 docs: v0.2.1 known-issues sweep, pre-1.0/roadmap framing, AI disclosure
Batched pass across README/release-notes/Pages (one commit instead of the
scattered per-fix pushes earlier this session, per new commit-cadence
preference):

- New known issues surfaced that weren't documented anywhere: no real
  widescreen (16:9 stretches 4:3 rather than expanding FOV), no controller
  rebinding UI / macOS-ARM builds, culling/LOD dropout on Streets/Egyptian
  (D249), gunshot SFX oddities under sustained fire (D240/D241).
- Fixed a stale claim (in three places) that a wrong-sounding-instrument bug
  was still open; it was fixed in v0.2.0 (D230).
- Softened the D259 "All unlocked" fix to reflect reality: still breaks
  audio/aim if enabled before any save exists; flagged experimental
  (new finding D281).
- Corrected D255's repro to the precise, deterministic trigger found this
  session (Facility's door-opening computer terminals, Linux-wide not
  Deck-specific) instead of the vaguer original combat-crash description.
- Logged D282 (front-end menus need right stick not left on gamepad) and
  D283 (Steam Deck first-run preset skipped by an early Desktop Mode
  launch) with user-facing workarounds.
- Refined D263 (Ourumov/Trevelyan) internally with a position-sensitivity
  caveat; no public bullet since it doesn't block progression.
- Added pre-1.0 framing and a new README Roadmap section (known-issues
  cleanup, PAL/JP, real widescreen, rebinding, macOS/ARM, LAN multiplayer
  explicitly "under consideration, no ETA", plus an explicit "not currently
  planned" list) across README/release-notes/Pages.
- Added an AI-development disclosure (agentic development as a genuine
  study of the process, not just a port) across the same three docs.
- Pinned the release-notes hero GIF to the v0.2.1 tag instead of v0.2.0.

Claude-Session: https://claude.ai/code/session_01KwZViAFaXua3PKgHHjNgvi
2026-09-15 12:53:57 -04:00

12 KiB
Raw Blame History

title, description
title description
GoldenEye 007 PC Port A native PC port of the 1997 N64 classic, built from decompiled source with a software RSP. v0.2.1 for Windows, Linux and Steam Deck.

A native PC port of the original 1997 Nintendo 64 GoldenEye 007, compiled from the game's decompiled source with the N64's graphics coprocessor (RSP) running in software, the same architecture as the Perfect Dark PC port, the same Rare "Indy" engine family, one hardware generation apart.

Status: v0.2.1. The full single-player campaign runs at a steady 60 fps and is completable end to end; all 21 missions load and run clean on Windows and Linux (one intermittent Steam Deck/Linux crash remains, listed below), and audio (music + SFX) plays throughout. The known rough edges (cutscenes that still glitch, a handful of cosmetic rendering defects, missing features like real widescreen) are listed plainly under Honest status.

This is a pre-1.0 release, not a finished product — v1.0 is the target for a polished, feature-complete build; expect rough edges and missing features until then. See the README's Roadmap section for direction (PAL/JP support, real widescreen, LAN multiplayer under consideration, and more).

~32 s gameplay montage from live play sessions
~32 s gameplay montage loop from live play sessions, running in the port.

Download

Platform Bundle Notes
Windows (x86_64) win64.zip Engine + runtime DLLs + the one-time asset tool.
Linux (x86_64) / Steam Deck linux tarball SDL2 is bundled, so it runs as-is on any distro, and sideloads onto a Deck with nothing installed.

Bring your own ROM. Both bundles contain no ROM and no game assets: you supply your own GoldenEye 007 N64 ROM (the Requirements table has the region filenames and SHA-1s). This release supports the NTSC-U (US) ROM; PAL and JP are on the roadmap. Then: unpack, drop the ROM in data/, and launch; the first run generates the derived assets automatically (no Python or other tooling needed). The full steps are in the Quick start; pre-built releases are legal to distribute precisely because they're useless without a ROM you already own.

See it running

Bunker 1, rendered by the port (v0.2.0 playtest) Dam, rendered by the port (v0.2.0 playtest)

Full playtest gallery: 19 in-engine captures from the v0.2.0 Windows playtest, across the campaign

In-engine: Dam (v0.2.0)
Dam
In-engine: Facility (v0.2.0)
Facility
In-engine: Runway (v0.2.0)
Runway
In-engine: Surface (v0.2.0)
Surface
In-engine: Surface (v0.2.0)
Surface
In-engine: Bunker 1 (v0.2.0)
Bunker 1
In-engine: Silo (v0.2.0)
Silo
In-engine: Frigate (v0.2.0)
Frigate
In-engine: Frigate (v0.2.0)
Frigate
In-engine: Surface 2 (v0.2.0)
Surface 2
In-engine: Bunker 2 (v0.2.0)
Bunker 2
In-engine: Statue (v0.2.0)
Statue
In-engine: Statue (v0.2.0)
Statue
In-engine: Archives (v0.2.0)
Archives
In-engine: Cradle (v0.2.0)
Cradle
In-engine: Cradle (v0.2.0)
Cradle
In-engine: Aztec (v0.2.0)
Aztec
In-engine: Aztec (v0.2.0)
Aztec
In-engine: Frigate (v0.2.0)
Frigate

More captures may land here as playtesting continues.

Play it, or take it apart

  • Try it yourself: grab a bundle above, bring your own ROM, and play the campaign. It's an early cut for exactly this: if something breaks, an issue with what you were doing is genuinely useful.
  • Read the code: the game logic in src/ is unmodified decompilation; every hardware surface (video, audio, input, save storage, and the software-RSP renderer) is shimmed in the MIT-licensed port/ layer. Internals is the map; Porting notes is the catalogue of N64→PC bug classes hit along the way, a good read even if you never touch the code.
  • Mod it: the port layer, build system and tools_pc/ helpers are MIT licensed and yours to extend: new video options, input tweaks, your own asset sidecar. CONTRIBUTING has the ground rules that keep it faithful to the original game.
  • AI disclosure: development here was agentic — Claude Pro plus a local open-weight model on a single RTX 5090, as of August–September 2026. This project is as much a study of that process as it is a port: whether current LLMs can carry a codebase like this, and what actually goes wrong along the way. Game codebases have historically been a rough fit for LLMs — large, stateful, hardware-adjacent, unforgiving of a subtly wrong memory layout — more so for older local models, so this is a useful data point on where that stands now, for better or worse. Judge the result for yourself. I'm one person doing this in my spare time, not a team. See the full write-up for the setup, timeline, handoff workflow, and an honest assessment of what did and didn't work.

How it works

The R4300 game code is compiled completely unmodified; the decompilation's control flow is ground truth. The N64's Reality Signal Processor, the graphics coprocessor that builds and executes each frame's display list, is emulated in software: the port interprets the GBI stream the game emits and translates it to OpenGL, bypassing the RDP entirely. Everything else that would touch N64 hardware (video, audio, input, timers, save storage) is shimmed in a small dedicated layer, following the architecture of the Perfect Dark PC port from the same Rare engine family. Full detail: Internals; the bug catalogue: Porting notes.

Honest status

  • Cutscenes still glitch, mostly with James Bond: in scripted sequences Bond is the one who gets misplaced, hovers, or spins; the other actors are fine for the most part now. Still the most visible gap in this release.
  • Particle colours drift through a rainbow palette instead of holding grey/orange.
  • Water levels show a moving seam; pixel strips at screen edges at non-integer scales; some front-end 3D models mispositioned or absent.
  • Surface 1's 2D billboard trees render as a solid wall of tree texture instead of discrete sprites; under active investigation.
  • No true widescreen (16:9 stretches the 4:3 view rather than expanding FOV); distant geometry can drop out on the biggest open levels; gunshot SFX can sound off during sustained/rapid fire.
  • All unlocked is highly experimental — don't enable it until you have at least one save written, or it can break audio and mouse aim (D281).
  • The F10 overlay's bottom row duplicates the selected item; an intermittent Linux/Steam Deck SIGSEGV remains, reliably reproducible via Facility's door-opening computer terminals (D255); front-end menu navigation needs the right stick, not the left, on gamepad (D282).
  • No macOS/ARM support; no controller rebinding UI yet.

The full list, with root causes and fix status: the README's Status section and the finding log.

Documentation

  • The two-agent development case study: goal, setup, timeline, the handoff workflow, and an honest assessment of what did and didn't work.
  • Development process: how work was scoped, partitioned, and budgeted across agents; the finding-log discipline.
  • Internals: architecture, the software RSP-emulation approach, GoldenEye-vs-Perfect-Dark engine differences, the phased plan.
  • Porting notes: the recurring Nintendo 64 → PC bug classes hit during the port, with fixes.
  • Building: full build and asset-extraction guide.

Non-commercial fan preservation/research project. No ROM or game assets are distributed; you supply a ROM you already own. Not affiliated with or endorsed by Nintendo, Rare, Microsoft, MGM, Danjaq, or EON Productions.