Submission Text Full Submission Page
  • Emulator: antidesync mupen
  • Aims for fastest time (primarily the ingame times)
  • Plays at hardest difficulty
  • Abuses programming errors
  • Takes damage to save time
  • Manipulates luck

About the game

Perfect Dark is the second most popular first-person shooter for N64, developed by the same company that made Goldeneye. The story takes place in the future and involves grey and reptilian aliens.

About TASing the game

Wyster started this TAS a couple of years ago, but he lost motivation after Crash Site because of desyncs, so two years later I finished the last 5 levels.
One thing that is better in Perfect Dark TASing is that you don't have to look at the floor all the time like in Goldeneye, because it doesn't save any significant amount of time.
Like many N64 games, the game has a pretty low and variable framerate, which makes it difficult to TAS because it only accepts input at specific random frames. This is why the game also has major desync issues, desyncing every 10-15 second or so (depending on the framerate), so I used the same tactic as in Turok 3; TAS for 10-15 seconds, then replay my whole progress from the beginning. That way I avoided having to redo parts over and over. There's also a bug which sometimes prevents you from proceeding to the next level, so Wyster had to occasionally use reset to advance to the next level.
This TAS has desync issues, or at least it desyncs for me and Wyster after the first reset (after second level), and apparently for others too who have tried it, but bkDJ got it to sync by capturing an avi: Forum/Posts/165367
I'm not sure if he could get the whole thing to sync now, but perhaps there's a small chance that someone can get it to sync and make an avi. But regardless if this can get published, it can at least be a source for information if someone ever does a full PD TAS again, maybe with mupenplus in the year 2023.

General tricks:

Straferunning: Like in Goldeneye and many N64 FPS games, running forward and holding left or right at the same time makes you run 1.4 times faster.
Waiting at cinemas: Used for timing events like elevators so that they arrive at optimal time, so that you get a better ingame time.
Speech skip: By pausing at a specific time before a speech starts, you can skip some speeches.
Weapon switch warp: By switching to another weapon, it creates some lag (framedrops) and allows you to go through openings which would be too small otherwise (eg. CI Defense at 1:18)
Re-selecting weapon: By pausing at a specific time and re-selecting a weapon, it comes up a few tenths earlier.

Summary and comparison with WRs
Level TimeWRImprovement%
Defection 1:151:205 6.25
Investigation 2:322:364 2.56
Extraction 1:071:3124 26.37
Villa 1:161:2913 16.45
Chicago 0:270:270 0
G5 Building 0:460:526 11.53
Infiltration 1:341:428 7.84
Rescue 2:192:4122 13.66
Escape 2:513:1827 13.63
Air Base 1:542:0511 8.8
Air Force One 1:391:26-13 -15.11
Crash Site 1:391:5213 11.6
Pelagic II 1:391:5718 15.38
Deep Sea 2:463:0721 11.22
CI Defense 1:311:376 6.18
Attack Ship 2:573:1215 7.81
Skedar Ruins 1:081:3022 24.44
Total improvement: 3:35
The final ingame time at the file after the credits is 29:20. More exact times (decimals) can be seen on my Perfect Dark TAS times page on my signature.

Comments by Wyster:

Defection 1:14

This mission consists of 5 objectives and the strategy used is pretty much impossible to follow for a newcomer to PD speedrunning. Therefor i'll explain in better detail.
For two of those you need to place ECM mines on 2 consoles, one at the top of the building and one at the bottom floor. Another objective is to pick up Cassandras necklace. To end the level you also need to reach an elevator on the bottom floor. The only objective that truly determines your end time in this level though is that you need to hack a computer. In order to do this, a programmer has to enter the password to allow you access. So in the beginning of the level i simply rush towards the programmers room to get him going ASAP. This is done by utilizing a glitch which allows you to travel through the void and even outside of the building. The seemingly strange pausing after reaching the corridor is to skip some lines the programmer says before he starts walking(saves ingame-time only). This is also the reason for the long cinema watching, the programmer needs to enter an elevator which has to be timed so it closes just as he gets in. Again this saves only ingame-time. While waiting for programmer i do the necklace and first ECM mine objective. Then i again utilize the "out-of-building" glitch to get into a good position to hack the computer. Being in this position allows me to fall down to bottom floor immediately after programmer is done hacking saving a ton of time over using the elevator. To finish i simply throw the final ECM mine and enter elevator.
The time of 1:14 is very good, beating the console wr by 6 seconds. I think i got a pretty optimal programmer speed in this run. Possible improvements in a future would be to use a double ducking technique in the start to do the glitch instead of landing on the door. This allows you to get through slightly faster. Overall i'm very happy with this stage.

Investigation 2:32

This level mostly consists of waiting for a bot to take down some lasers for you. So in the beginning i rush to activate the bot(cinema watching is used to allow a diffrent bot to open a wall segment for me, allowing access to the important bots activation consoles). and after that i just shut down some experiments and other objectives while waiting for the bot. Some obvious manipulation is done in one of the experiments room to get optimal speed on the bot. After the lasers it's just a matter of finishing an objective an running to the end.
This level also turned out very well and end time is very solid(beats console wr by 4 seconds). Can't really think of any improvments at all here.

Extraction 1:07

One of the better levels of the run for sure. High speed action and really no luck manipulation to be done. When exiting the first long elevator ride i open a door through the wall(it's locked if you try to open from the front of it but can be opened from the back). And by doing this floor really fast i manage to get back before the door closes, skipping another elevator ride. Rest of the level is straightforward. End time is excellent beating console wr by 24 seconds. Again no real improvements to be made.

Villa 1:16

This level can be a bit complex to follow. Basicly you need to kill a bunch of rooftop snipers and i do this by throwing a sentry gun at a very precise spot where it can kill all but 2(those ones i take out manually in beginning) snipers. Apart from this the structure of the level is such that you need to go to basement, activate a wind-generator, this causes some hackers to appear which needs to be killed. Finally i need to punch out a data-dyne guard and kill all guards by end of level to aquire a keycard for final door.
Pretty solid level overall but i loose some time with the sentry gun throw, as i mentioned it needs to be very precide and i had to sacrifice my speed to do that. An improvement would of course be to manage this in full speed. One thing that was mentioned to me after this level was done was that the final keycard could be manipulated to drop slightly closer to my path. Only minor time would be gained though. Otherwise very good. Beats console wr by 13 seconds.

Chicago 0:27

This may sound wierd but this level has actually been done faster on console. Reason? The emulator creates more lag making it impossible to go as fast as console(this is also used as an advantage in later levels...).
The level itself is pretty simple, get a bombspy, kill some guards with it to clear an exit path(requires an explosion) and throw a tracer bug and a remote mine. A recently discovered very minor improvement is to access the bombspy twice, first to deploy it and second to manouver it while falling, saving some tenths. Solid level. Ties console wr.

G5 Building 0:46

Easy level. Guards in first few rooms drop keycards once you kill them all. Then i need to turn off some lasers and a computer. Important part in the level is also to avoid alarm going off which is obviously easy for TAS. A major trick is used to save time while waiting for vault to open, i launch a camspy to start off a cutscene which stops the ingame-timer. Another solid level and there's really not much to improve. Beats console by 6 seconds.

Area 51 - Infiltration 1:34

In this level everything depends on how much cinema you watch. Because the final elevator has to be open when you get there and a lift key guy has to be in a very specific spot. This had been well tested for console purposes but for TAS i basicly had to make an educated guess on how to time it. As it turned out i was slightly off. Final elevator was fine but the lift key guard could've been in a better position. Also as i later realized the part where i throw grenades at some robot interceptors could be improved by throwing a grenade much earlier instead of killing off guards. This would cause some other problems with drone/guards though but would still save some seconds. A double-unduck trick is used to throw a bug higher than Joanna normally can, hitting an antenna when Joanna specificly says "But i can't throw it that high"...i guess you can after all.
End time beats console wr by 8 seconds but several seconds more is possible. Not so solid.

Area 51 - Rescue 2:19

Get dressed up, save the alien dude. I use a guard to open a normally closed door for me saving massive time on an objective. Also use another guard to open the door to the locker rooms.
Some improvements are possible here too, first of all the locker room guard open door much faster using some diffrent angles as was discovered later. Also i overlooked the fact that the disguises placement could be in a better position. This requires that you start level on a diffrent frame though. Apart from this, very good level. Beats console by 22(!) seconds.

Area 51 - Escape 2:51

Here i introduce the concept of pushing. Jonathan and Elvis tends to be pretty slow on their own so why not use the power of TAS to push them around? This level is basicly either talking or pushing. A well placed remote mine opens up a crack in a wall for me before it's "supposed" to happen and at the same time boosts me. A trick is used by the very end by double tapping B, the game works that it takes the first B press and displays whatever "console not active message" and waits to process the second press until that first message is about to dissapear. By this time i'm long gone and the console has become active during this time.
End time is probably pretty good. There's not alot to improve here. It's probably possible to be closer to elvis when the alien medpack activates but otherwise there's nothing major. Beats console by 27(!!) seconds.

Air Base 1:54

This went perfect pretty much. Nothing to improve really. Somewhat straightforward level. Beats console by 11 seconds.

Air Force One 1:39

Depending on how you exit the last level, you can start this level in 2 diffrent positions. Overall the way i did it is the fastest but this level gets a slower time. I was however able to reduce the time lost here by finding a completely new strat. Remember the extra lag on emulators? By unducking into the presidents room from underneath it, i can use this lag to unstuck myself by using a gun-switch. This puts me in a state of "halfway-through-floor" walking. As long as i stay close to the walls or doors i can remain in this state and fall outside of the level and even fall to the lower deck of the plane. It may seem wierd that a TAS uses a combat boost but that's because of the extra lag, i needed it to make it into the little food lift which normally shouldn't be a problem. Finally i utilize the pushing powers of TAS to do the level in a completely diffrent order than how you'd do it on console.
End time is 13 seconds slower than console but this is as i said, a tradeoff from using better ending of Air Base which overall turns out to be faster. Good level. A minor improvement would be to switch to cyclone slightly earlier during first gun-switch-warp. An other thing could be to throw the timed mine later in order to use a slightly closer route when pushing president(i had to avoid the president getting killed by the explosion in this run).

Crash Site 1:39

Again the pushing powers of TAS make an appearence and i use this to invent a completely new TAS-only strat. Because i didn't have the golden magnum yet i had to use remote mines to destroy the alien ship. Overall good level, minor improvement can be done by not taking as tight turns with the hoverbike, turns out that this slows it down slightly.
End time is very good due to the strategy-improvement. Beats console wr by 13 seconds.

FINAL THOUGHTS:

I had hoped for this run to be similar to the one made for Goldeneye 007. However, the emulator glitch causing levels to not always proceed to the next kinda ruined that hope for me. As it turns out now, several years later, this might be possible to avoid by doing manipulation during end of last level but i never realized this myself. Instead i resorted to resets which quickly turned out to cause major desynch issues and eventually i wasn't able to make run synch from beginning. Instead i changed my goals to perhaps make some .avi-compilation of all levels. Therefor i do not expect this run to be accepted.
The run itself is in my owns eyes varying from very good to not so good. Back when i was working on this run i was still a fairly lazy taser and when it came to levels that were completely untested for TAS the only choice i would've had was to do entire level twice which i simply didn't have the motivation to do. My best guesses wasn't too far off though and really is only a problem for those with a trained eye and good knowledge of PD speedrunning. As i mentioned earlier, this game lags ALOT, making desynchs common and very difficult to TAS compared to it's counterpart Goldeneye. This contributed alot to my lack of motivation for major redos.
To conclude, i'm glad that Perfect Dark finally has a full run. This just like Goldeneye hadn't been TAS'ed before and as so neither are perfect. However they were necessary for any future perfect TAS to be made. The state of mind of this first TAS was simply "What does a TAS of this game look like", while in a future TAS the question will be, "How can we improve the last run". So in the end i'm very happy that this long overdue run is finally complete and we can now see where the limits are. Huge thanks go to Miika(nfq) for finishing this run from where i left off.
Enjoy.

Pelagic II 1:39

I let the guards put on the alarm so that they might open some doors for me. Normally it would be too risky on PA, but in TAS it's no problem. I had a slightly different scientist strategy at 0:32. It saves some time to just open the door and let him see me so that I can take him later. I like the laptop gun, it's one of the few guns in PD that is made of metal instead of plastic.

Deep Sea 2:46

14 seconds was saved because of faster Elvis. I used a little different strat in the room with the 5 green exploding tanks, shooting two of them with one shot instead of one. It looks like it would be easy to do, but it requires a lot of precision (and drains your health) unless you use the rail gun effect.

CI Defense 1:31

This is only 6 seconds faster than WR because you have to wait for Carrington's speeches before you can complete the level. I could have gotten 1:30 if I had used the out of bounds glitch at the beginning (saves 0.6 seconds), but I didn't know about it back then. Also, timing the elevator would save a few tenths.

Attack Ship 2:57

If I had waited 8 seconds more at the intro, the slow-ass elevator should have arrived when I'm there, and I could have saved some time, but it's hard to know how fast you'll be, the first time around. Other than that, it was a good run, still beating WR by 15 seconds.

Skedar Ruins 1:08

I was happy about this time, especially the ending was good, I discovered that you could shoot all those parts at the same time, and with TAS like precision you could shoot through both of the upper parts at the same time, saving a bunch of time. Warping at the slow doors was useful, saves more than a half second per door. Fast bug throws too.
Save state for the last 6 levels (this at least has no problems syncing): https://docs.google.com/leaf?id=0B_gO0ruJePdbNGQwMGExZTQtZDQzYy00NGM3LTg2MjQtNzA4MzYzYWE3ODkz&hl=en

Memory addresses that I found useful:

Ingame timer: 00AD4CAC: the game has it's own visible timer, but it's not always visible, and it's somewhat inaccurate
Headshots: 00966AC8: useful to make sure you hit someone on the head, especially if they are behind something where you can't see
Hostage deaths: 00966D00 (CI defense): to know in advance that too many hostages don't die, and that they get released fast enough
Elvis health: 00E3C06A (Attack Ship)

FractalFusion: Judging. Hopefully someone is able to sync it soon.
FractalFusion: Placing on delayed due to sync problems.
FractalFusion: Since the problem still hasn't been solved and there's hardly any hope left, I will set this to cancelled.
If the problem is solved, someone can uncancel this submission.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15626
Location: 127.0.0.1
This topic is for the purpose of discussing #2999: Wyster & nfq's N64 Perfect Dark in 41:44.40
Banned User
Joined: 8/30/2010
Posts: 500
Location: Argentina Bs. As.
hmm, I will try encode this, if not works, the encode is for Aktan or other than is offered
[18:51] <scrimpy> Oh, nothing [18:51] <mmarks> oh [18:51] <Nach> I think scrimpy is just jealous of you mmarks
Editor, Experienced player (860)
Joined: 8/12/2008
Posts: 845
Location: Québec, Canada
mmarks wrote:
hmm, I will try encode this, if not works, the encode is for Aktan or other than is offered
I will try it too!
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
I will wait for an encode. HD or not, doesn't matter. Edit: Watched the first level and it's broke. Boundaries? What boundaries?
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Banned User
Joined: 8/30/2010
Posts: 500
Location: Argentina Bs. As.
Nahoc wrote:
mmarks wrote:
hmm, I will try encode this, if not works, the encode is for Aktan or other than is offered
I will try it too!
Exactly I'm trying to solve the problem of this encode of Perfect Dark
[18:51] <scrimpy> Oh, nothing [18:51] <mmarks> oh [18:51] <Nach> I think scrimpy is just jealous of you mmarks
Joined: 7/2/2007
Posts: 3960
I'm going to hold off on voting until I get some word on how well this syncs, but the YouTube encodes were quite enjoyable. Great work guys!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2113
Typically, I really enjoy First Person Shooter runs because of how reckless the main character throws himself (or rather herself) into the enemies, completely indifferent to any living things, whoever those may be. Add to that the extra precision of TASing tools, plonking down headshots like it's no thing, the fast paced nature and complexity of the game as well as the cool tricks like out of bounds exploits and shoving various characters around and you've got yourself a very enjoyable run. Just a shame the sync issues seem to be so severe, but I don't see why this shouldn't get a yes from me.
Joined: 2/6/2011
Posts: 130
Well, the Goldeneye TAS were pretty impressive (as most of the FPS) BUT in this one as you said earlier you didn't need to walk looking at the floor so we can actually look at the headshots with detail and admire the whole scenary, if I could vote it would be a "Hell yeah" just because we love shooting at heads and red heads (Johanna). BTW, it would had been great if you could add the bonus missions but I'm pretty happy anyway.
Skilled player (1652)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
It looks like none of our encoders have been able to encode this?
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Banned User
Joined: 8/30/2010
Posts: 500
Location: Argentina Bs. As.
DarkKobold wrote:
It looks like none of our encoders have been able to encode this?
I'm trying to solve, and I can't
[18:51] <scrimpy> Oh, nothing [18:51] <mmarks> oh [18:51] <Nach> I think scrimpy is just jealous of you mmarks
Publisher
Joined: 4/23/2009
Posts: 1283
I'll be trying in a bit, but I have a long TODO list...
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Very entertaining for an FPS, I vote yes.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
So, the input file name suggests this was recorded with the anti-desync Mupen (besides which I've wondered if playing it back with that would fix the desync-on-reset problem). However, I've been completely unable to find this build anywhere - does anyone have a copy?
Joined: 12/6/2008
Posts: 1193
Well anti-ds mupens reset works really really badly. I know the MM tasers couldn't get the TAS to sync after a reset wich is why they opted not to use it. But you can try: http://www.megaupload.com/?d=FSHIS311 Edit: Well desynchs for me after the first reset with anit-ds mupen.
nfq
Player (94)
Joined: 5/10/2005
Posts: 1204
sgrunt wrote:
So, the input file name suggests this was recorded with the anti-desync Mupen (besides which I've wondered if playing it back with that would fix the desync-on-reset problem). However, I've been completely unable to find this build anywhere - does anyone have a copy?
This is the one I used, although I think it's just a renamed mupen v2. Has anyone got this to sync beyond the first reset yet (through Extraction, the third level)? It should be possible since BKdj did it.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
nfq wrote:
This is the one I used, although I think it's just a renamed mupen v2.
It has a different md5sum, so that's unlikely. Anyway, I've discovered that recording an AVI across the reset has an impact on sync. Since Mupen's AVI recording has a tendency to crash frequently on my computer, I haven't determined if this will cause the run to sync completely, but it looks promising.
Joined: 12/6/2008
Posts: 1193
Yeah that is a modified version of mupen. It's the same I uploaded to megaupload. It was made back in the day to prevent the MANY desynchs MM had. While it didn't succeed it made it consideribly better.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
I finally got around to seeing the individual stage encodes. That was pretty fun. I especially liked seeing characters get pushed around while still performing headshots on enemies. Although it's not perfect, I think it's a welcome addition to the site. Yes vote.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
nfq
Player (94)
Joined: 5/10/2005
Posts: 1204
mklip2001 wrote:
Although it's not perfect, I think it's a welcome addition to the site.
Not perfect? Nice pun there :P I'm glad you enjoyed it.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
I was just watching the run on YouTube, and in the description for Attack Ship I noticed the following comment: "If I had waited 8 seconds more at the intro, the slow-ass elevator should have arrived when I'm there, and I could have gotten 2:50, but it's hard to know how fast you'll be, the first time around." Considering this was the second-last level in the run, would it have been all that difficult to go back and add that in? Considering all the sync issues people have been experiencing, this may be a moot point, but it's something to remember for the next pass.
nfq
Player (94)
Joined: 5/10/2005
Posts: 1204
sgrunt wrote:
Considering this was the second-last level in the run, would it have been all that difficult to go back and add that in?
Because of the desyncs, it's hard to go back and change things when you're so far in the run, because the progress has to played back from the beginning every 10-15th second, so there's a lot of waiting every time. The question is also would it have been worth it if no one can get the movie to sync.
Editor, Experienced player (860)
Joined: 8/12/2008
Posts: 845
Location: Québec, Canada
I don't know much about this game but: http://www.archive.org/details/PerfectDark_SS_Agent_2935 Is this non-TAS run faster? I see he triggers the first cutscene faster than you.
Joined: 7/2/2007
Posts: 3960
Judging from the URL that was run on Agent difficulty, which has far fewer objectives to complete on each level. Thus the times aren't comparable.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Active player (302)
Joined: 9/2/2006
Posts: 504
Yeah^^ On agent difficulty the TAS would be 5.4 seconds.
Editor, Expert player (2080)
Joined: 6/15/2005
Posts: 3284
5.4 seconds for the first level (Defection), of course. The other levels would have significant though not-as-drastic savings as well.