CoOp:Anything
Search any game and see how much of it you can play with friends: every co-op mod, its stage, quality and community rating.
AI-written static recompilation of Perfect Dark (N64, USA rev 1) for PC and the web. Bring your own ROM.
GamesGitHub @n64hubOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Made with AI. Almost all of the code, documentation and tests in this repo were written by AI agents (Claude), directed and play-tested by a person. None of it is offered to the upstream projects it builds on, which don't take AI-written code.
A port of the N64 version of Perfect Dark (USA, revision 1) to PC and to the web, made by static recompilation
(N64Recomp + N64ModernRuntime +
RT64): the game's own MIPS code translated to C and run natively, with RT64 drawing
it. Its symbols come from the Perfect Dark decompilation (MIT), pinned
at lib/perfect_dark. It is not an emulator and it contains no game data: you supply your own ROM.
Status: the desktop build plays a mission. With a desktop GPU,
dataDyne Central - Defection plays from its briefing to its end screen on Agent, with sound. The game's menus work:
the agent file, the Perfect Menu, mission select, the briefing, retry and next mission. A save survives a restart: the
agent file, the completed mission and the next one it unlocks. The game draws 59-60 frames a second in its levels,
every frame one VI, with its clock at real time, where its own controller reads held it to 30 (a patch puts off the
tick that would restart them, docs/web.md, Frame rate). RT64 interpolates to the display's rate (see
docs/building.md for the build and its findings). On Windows (clang-cl, drawing through D3D12)
it builds and plays too: the launcher, Load ROM, Start Game, a new agent file and Defection with sound, and the save
is there at the next start. Releases for Windows (a zip: unzip it and run PerfectDarkRecompiled.exe from that
folder) and Linux on x86-64 (a .tar.gz: extract it and run PerfectDarkRecompiled in that folder) are on the
Releases page, without the ROM. The Linux build needs
glibc 2.35 or newer (Ubuntu 22.04, Debian 12 or later), a Vulkan driver, and GTK 3 and FreeType, which desktop
distributions have; it brings its own SDL2. Or build it as docs/building.md says.
Still wrong or not yet checked:
The web page plays at n64hub.com/perfect-dark, from your own ROM through its Load ROM (docs/web.md). In Chrome and Firefox it boots with no WebGPU errors, builds its shaders from a prebuilt list with a section a mission, and plays Defection, Villa and Chicago, each started by a script, its sound playing.
Each is an option in the settings menu (its General and Graphics tabs), and each has an Original value that plays as
the console does. They are the game's own code (patches/, src/), taken from what the decompilation's PC port
(fgsfdsfgs/perfect_dark) and GoldenEye's recompilation offer:
Settings are saved as JSON in %LOCALAPPDATA%\PerfectDarkRecompiled\ (~/.config/PerfectDarkRecompiled/ on Linux).
For the game as it shipped, set every Original value:
| Enhancement | Option | Key | Default | Original |
|---|---|---|---|---|
| Widescreen 3D | Aspect Ratio | graphics.json ar_option | "Expand" | "Original" (4:3) |
| Widescreen HUD | HUD Placement | graphics.json hr_option | "Clamp16x9" (at most 16:9's edges; "Expand": the window's) | "Original" |
| Field of view | Field of View | graphics.json field_of_view | "Original" ("70", "80", "90", "100") | "Original" (60°) |
| Mouse look and aim | Mouse Sensitivity | general.json mouse_sensitivity | 50 | 0 (no mouse) |
| Mouse look and aim | Invert Mouse Y | general.json mouse_invert_y | "Off" ("On": up looks down) | "Off" |
| Rendering resolution | Resolution | graphics.json res_option | "Auto" (the window's size) | "Original" |
| Anti-aliasing | MS Anti-Aliasing | graphics.json msaa_option | "MSAA2X" | "None" |
| Smooth motion | Framerate | graphics.json rr_option | "Display" | "Original" |
Field of View is Original by default, as the game was drawn for its 60 degrees and Expand already widens the view.
Left out:
Perfect Dark (U) (V1.1), the USA release's second revision (NPDE, version 01), as a big-endian .z64 of 32 MiB
with MD5 e03b088b6ac9e0080440efed07c1e40f (the decompilation's ntsc-final). Other regions and revisions are not
supported.
GPL-3.0 (LICENSE). The decompilation at lib/perfect_dark is a submodule under its own MIT license.