Perfect Dark with jump, a combat roll, melee combos, a third person camera, up to 80 simulants, a spectator camera, screenshots and video recording — and, new in v2, Ghost Trials.
Ghost Trials
A time trial is a way of playing the game rather than a preference about one, so it has its own door on the main menu next to Solo Missions. Start a mission through it and the run is recorded. Start it again and you are racing the ghost of the last one, or of nine other people's.
The rules are enforced, not described. For the length of a trial this fork's own additions are held off — jump, the combat roll, the melee combo, flinch — and so are the cheats the game ships with. Two times are only worth putting beside each other if both were set the same way. Your settings are not touched; they come back the moment you leave.
Every run carries who set it. Pick your character in Customize Character and the ghosts you race are the people who set those times rather than ten identical Joannas. Each account on the machine keeps its own character, so a shared couch stays sorted out. A nameplate in the corner of every Ghost Trials page shows whose runs these are, with the face.
Race up to ten at once, against the fastest available times, your own best attempts, or a field you picked by hand. Split times against the ghost run under the mission timer.
Leaderboards
Sign in with a name and a PIN — no email, no password — and your times go up. Boards are per mission and per difficulty, and each row shows the time, who set it, and the character they set it as, so you can see what you are about to race before you download it.
It costs almost nothing to run. A ghost is twenty samples a second of position, angle and speed: a fifty second run of dataDyne is about 24 KB. A hundred-row leaderboard is a few kilobytes of JSON. The whole server is a single Python file with a SQLite database — tools/pdghostd in the repository — and it will run on the smallest box you have.
Runs recorded before the rules were enforced are marked rather than hidden, and are refused by the boards, so nothing on a leaderboard was set under different rules to everything else.
Check for Updates
On the main menu. It asks GitHub, tells you what is out, downloads one file, checks it is the file the release describes, puts it where the running copy is, and offers to restart. The build you get is the same kind you are running: a stable release looks for the next stable release, a dev build for the next dev build, and nothing moves you between the two.
The download is checked by SHA-256 before anything is replaced, and nothing is replaced until it has been. The first time you start an updated copy, the version on the title screen is gold.
Also in v2
- Screenshots and video recording, with sound, on every platform
- A spectator camera
- Mouse wheel scrolling and slider dragging in menus
- Up to 80 simulants
You need your own Perfect Dark ntsc-final ROM — see README.md inside the download for where it goes.
Windows — take pd-dabs-mod-x86_64-windows.zip.
Linux — pd-dabs-mod-x86_64-linux.tar.gz. Needs SDL2 and libcurl, which your distribution already has.
macOS — pd-dabs-mod-x86_64-osx.tar.xz for Intel, pd-dabs-mod-arm64-osx.tar.xz for Apple Silicon.
The bare pd.* files and update.txt beside them are what Check for Updates uses; you do not need to download those yourself.