Submission Text Full Submission Page
Emulator: Bizhawk 2.9.1 with ARES core Objective: Any%, beating the 17 Agent main story missions to get to the credits as fast as possible in real time.
Perfect Dark is a first-person shooter released on the Nintendo 64 in 2000, it is the spiritual successor to GoldenEye 007, which means Perfect Dark has almost identical movement and very similar mechanics to GoldenEye 007. It has a speedrunning history dating back to when it was first released, and since then it has had a long and storied speedrunning history with many strategy developments. The individual level speedruns of this game are incredibly optimized because of this, with a points ranking system hosted on the-elite.net. I watched lots of runs on there to help me optimize this TAS.
Perfect Dark also has an ingame timer that displays the current ingame time up to the nearest hundredth of a second. It’s not perfectly accurate at the end of the level though because there’ll usually be an extra frame or few of lag that doesn’t display on the timer. Your time is saved/displayed in full seconds, so individual level speedruns have the goal of breaking seconds barriers rather than grinding for every single hundredth. For this TAS though, sometimes the ingame time will be slower in the pursuit of the fastest overall real time.
Lag: Perfect Dark can sometimes be a laggy game, with a variable frame rate. For clarity I will be referring to each line of input as a tick (every 0.02 seconds since this is PAL with 50hz). I will be referring to each time the visuals of the game update as a lag frame (so when the visual display updates, which lasts usually around 2-5 ticks).
General tricks:
Strafing: Running forward with Up-C and Left-C or Right-C is faster than running just forward. You also want to keep moving in full speed as much as possible, because if you let go of Up-C, you’ll lose your speed and will lose time accelerating back to full speed.
Out of bounds: This game has a lot of OOBs, which allows for some huge skips.
Warping: You can get through doors faster by generating a well timed lagspike (usually generated by switching weapons) that enables you to get through doors, and also tiny cracks in geometry that you would not be able to get through normally (one example is the Pelagic II warp at the end of the level).
Radial menu: In a real time run, you want to pause as little as possible. But there are some items/tools you cannot equip/select by weapon switching with A, so you have to either pause or use the radial menu by holding A until the radial menu pops up, and then you can use stick or directional buttons (buttons is faster) to equip whatever item you want. You do lose speed with using either pause or radial menu, but the radial menu is faster for real time runs because you can equip the item faster in real time, but using pauses is faster for ingame time because it stops the ingame time. You can switch to the radial menu much faster with TAS than a human because you can do it tick perfectly consistently but you can’t really do that as a human.
Speech skips: You can skip speeches/dialogue by pausing as the speech is about to start, and it’ll trick the game into playing the speech during the pause, saving ingame time, there’s not really much usage for it in a real time run though because it only saves ingame time.
Ingame time of every level: (note that this is the actual stored ingame time viewed via RAM watch values, and not the ingame time displayed on the screen)
Defection: 5.66
Investigation: 1:05.66
Extraction: 51.48
Villa: 59.18
Chicago: 14.94
G5: ~ 27.60 decoder, 39.08
Infiltration: 1:06.66
Rescue: 1:30.80
Escape: 1:40.52
Air Base: 1:24.58
Air Force One: 55.26
Crash Site: 1:14.42
Pelagic II: 47.92
Deep Sea: 2:08.78
Defense: 51.96
Attack Ship: 2:03.84
Skedar Ruins: 54.16
Why PAL?:
The Deep Sea level is the reason why this run is on PAL, there’s a trick to complete objective 2 by destroying two canisters to disable the Cetan megaweapon with the FarSight gun early instead of waiting for Elvis to reach the console to spend time to deactivate it via the console. This only works on PAL on full screen because the zoom of the FarSight uses the vertical video height to determine how much to zoom, and PAL has a high enough vertical resolution compared to NTSC versions to zoom the necessary distance. For comparison, the NTSC record on agent is 3:01, and the PAL record is 2:25 so it’s a huge time save, enough to use PAL for this entire TAS despite PAL often being a bit slower overall for the other levels (mostly due to worse framerate and slower lifts). I like to think I saved on ⅙ of the work of the TAS because I had ⅙ less frames to TAS.
Bootup/settings setup: I actually had to redo this TAS (I only did 3-4 levels before I started redoing) because I didn’t start from bootup, so I redid it to start from bootup so it would follow the submission rules.
This part is before the actual speedrunning starts, I changed some of the control settings from default, I changed the control style from the default 1.1 to 1.2 because that allows you to use c buttons for movement rather than the stick, which is faster and the control style 99% of speedrunners use now. Head roll I turned off because it makes your head wobble like in real life, and it’s way better and easier for aiming since your aim doesn’t drift/wobble. Auto aim was something I had to choose, I opted for no auto aim because I didn’t want the auto aim interfering with my aim since I can aim perfectly in a TAS.
Loading times/advancing to the next level: The loading times are unfortunately not accurate, if I had waited a few weeks for bizhawk 2.10 the loads would’ve been much much more accurate so that’s kind of a bummer. I kept losing several seconds every single load, I retimed it by using the load times from LakeDemon’s 27:14 human RTA world record and it came to 22:45 timing based on how RTA speedruns are timed, which is “The total time is the real amount of time it took from choosing Accept in the menu before Defection to starting the cutscene at the end of the final completed level in the run.”
Defection: 5.66
This is by far the shortest level in the run, you’re intended to take an elevator down to the lobby to finish the level but you can skip all of that and instead go out of bounds directly to the ending by double crouching above the door at the start to go out of bounds through the skyscraper and fall through to the end zone, since it thinks you’re inside the lift when you are falling above the end zone. You need to uncrouch twice very rapidly (only pressing the R bumper for 1 tick each time) before/when you start falling in order to get a glitch called fast fall which enables you to fall at rapid speed, which allows you to fall fast enough in order to be able to get 5 seconds. This was pretty easy for me to TAS because I have the world record of 5 seconds myself on console, so I had the knowledge, but tedious to optimize every detail to get a lower decimal.
Investigation: 1:05.66
This is a linear level that revolves around these 3 sets of lasers that (are supposed to) prevent you from advancing the level until a cleaning robot comes and deactivates them. You can skip the lasers by double crouching and doing a very frame perfect (probably 2 unit precise or something) trick to walk through the lasers since Joanna is about a pixel smaller than the gap. Also about half the time, you will get “zapped” by the laser which damages you and stops your momentum and loses time vs not getting zapped, I was able to avoid the zaps though in this run but I’m not 100% sure how it works. You want to kill as many guards as possible since this trick is highly dependent on lag, if it’s too laggy it’s almost impossible to laser skip. On the IL runs you watch some of the cutscene to wait for the bot, but this is RTA so I just instantly skip the cutscene. I drop off the camspy, then during the data uplink upload wait I reequip the camspy to complete the objective of taking a picture. The rest of the level is just running to the ending. The world record (which does one or two laser skips) is 1:02, so I was happy with 1:05 doing 3 laser skips/no pause strategies.
Extraction: 51.48
The level starts by going into this elevator, the IL records watch some of the cutscene so the elevator is timed to be open right when they arrive, but that doesn’t matter here for real time. These guards can sometimes kill the NPC Dr. Caroll (the floating TV lol) so I kill a lot of them on the way to the elevator since I have time to spare waiting for the elevator. You can bypass this locked door by pressing B through the elevator wall since it’s unlocked on the other side of the door. The stairs on this level are really hard to strafe fast because they are very tight hairpin turns. I opted to not grab the rocket launcher to kill the body guards, and decided to do 5 headshots with the Falcon 2 pistol since the rocket launcher generates a very laggy explosion. Then I simply run up the stairs to the helipad ending the level. I was really surprised that this was 51.48, because I thought I would lose a lot of time from the elevator likely being slower (elevators on PAL are known for usually being slower). This actually ties the PAL system record for this level despite instantly cutting the cutscene which really surprised me as well.
Villa Agent: 59.18
The level starts by sniping 2 guards who are holding a hostage (I looked up and down very rapidly to reduce lag to same some tenths as the start here is really laggy). Then after some strafing comes an OOB. The door being opened by a guard before you get to there is really random, sometimes the guard won’t open the door in time and I didn’t know how to solve this besides redoing the whole start, luckily it took me only a few tries to get the door open. I tried to do this OOB in full speed, but I wasn’t able to do it since the railing is a very small space. The rest is strafing until the basement, where you have to kill all the guards in the basement to get the keycard that ends the level. This keycard is dropped by the last basement guard you kill. The ending was kind of fun to TAS all the guard kills, although the 3rd kill in the basement was really tricky for me to do perfectly. I tried to get 58 because the decimal was pretty low but wasn’t able to do it. I’m pretty happy with 0:59 considering the PAL disadvantage, the WR is 1:00 and the PAL WR is 1:06.
Chicago: 14.94
This run was really hard to get the WR of 14 on, it was ridiculously tight and took something like 10 hours to actually get a 14 so I’m really happy I was able to barely eke it out. There’s only one 14 achieved on PAL, the runner who achieved it (Joris) was able to help me out a lot with this stage and the ending especially because with all the lag and nuances of it, it’s actually pretty complicated. It also felt like the lag was higher on the emulator here than on console so that made things harder as well.
The start of the level has really tight strafing including a ridiculous hairpin turn which I used a tiny bit of left strafe to help with the tight turn, (you can shift between left/right strafe to help with sharp turns). I also looked down a lot there because in addition to reducing lag here it also can make sharp turns faster. There’s two paths you can take, you can go on the streets after the alleyway (the most used path but you can get stuck a bit as the curb acts as a ladder which ruins your speed) or the sidewalk (the main problem is that you can get stuck on a guard which I narrowly avoided).
The ending involves throwing and detonating a remote mine as early as possible to kill all 4 guards at the ending (if you don’t kill one of the guards on the left on the first frame or so the objective fails). You also have to delay Joanna hitting the endzone because you there there too early they detect you and the objective fails as well. You’re essentially capped by completing this objective, so there was a lot of focus on tweaking with the inputs to pull out the mine as early a frame as possible and throw it as early as possible, you can speed up switching weapons (especially ones you just picked up) by doing an A press/weapon switch right before you switch to the picked up weapon. The ending was very lag dependent, you also want to perfectly time hitting the climbable parts of the sewer climbing up to throw the mine in order to get a “fast climb”.
It was also here I realized that switching weapons at the right time can trick the game into giving you a tick/0.02 lower decimal, but if you mistime it by even a tick or frame you lose roughly 0.1 so it’s very risky for actual human runs. I use this on a bunch of the next levels to save ticks.
G5: ~ 27.60 decoder, 39.08
This level was really fun to TAS, you can pause at the start to equip your weapon from the pause menu in order to bring out the Falcon 2 gun faster, I’m not sure if I tested if it would be faster real time to do it.
The first second room involves killing multiple cloaked guards (you can sort of see them cloaked) in order to get a keycard from the last guard you kill. You can avoid doing the guard kills by luring a guard to the door to open it (there’s two different ways to do it) but the faster way to do it is really bad to get and rng dependent, at this time I didn’t really have much of a grasp on RNG manipulation so I decided to do the TAS second room kills because it only lost about half a second and looked way cooler.
The catwalk room was pretty easy, I killed all the guards to make sure none of them activated the alarm (did it from above for swag lol), you have to crouch to get through the railings, it’s faster to single crouch here because you move faster when single crouched vs double crouched.
I dropped off the camspy with the radial menu and was able to somehow fall from the railing while equipping the cam spy to save a bit of time and be in a better position to kill the guard near the alarm. You then use the radial menu to equip the decoder in order to complete the objective to open the safe. Now for IL speedruns you watch most of the cutscene so you wait during the cutscene for the safe to be decoded and for the safe door to be wide open, so you lose no IGT. You’re intended/required to do this strategy to beat the target time to unlock the cheat. I decided to actually end the cutscene earlier losing IGT, so I had time to build up full speed, and then warp through the safe door when it’s barely open enough for me to get through to save real time, then you go to the ending of the level. I pretty happy with the ~ 27.60 decoder since it’s only 1.6 seconds off the IL world record without using any pausing strategies.
Infiltration: 1:06.66
This level was broken in March 2021 when Wyster (one of the authors of the Perfect Agent TAS from 2011) found an OOB clip/warp with the hoverbike, and others including me were able to piece together a strategy to use it to save massive amounts of time on all 3 difficulties. I struggled a lot with this level (I only managed to tie the PAL IL record), since the OOB is tricky since you keep getting stuck OOB if you go too fast, and it’s also very lag dependent, and I also had little experience speedrunning with this strategy.
The way this strategy works is you get the hoverbike, warp through a crack near the helipad, it’s filled with land mines which is why I throw a grenade at it earlier in the level, to explode them before I go OOB. Then you park the bike OOB near the room with the radar console to plant the explosives, then you can get back on the bike after that. On the way to the ending, you need to complete the objective gain access to hangar lift (since we skip the hangar lift), this can simply be triggered by loading the area with the hover bike then continuing with the ending. The world record ending which involves shooting a guard to lure him only works on the NTSC-U version of the game since that is the only version where the ending door is open, on the other versions you have to do a slower ending which involves getting back in bounds with the hoverbike, going down the walkway far enough (the door will be locked otherwise) then warping through the railing with the hoverbike and finishing the level.
Rescue: 1:30.80
This level went surprisingly well, it’s very luck dependent and I essentially got lucky with almost no luck manipulation. This level revolves around obtaining a disguise from a scientist who runs in front of the hole that you blow up, but 25% of the time he’ll do this slow walk and definitely not be there on time, and the other 75% of the time there’s still a chance he might not be there on time, so I was worried this could happen because I did not have a Lua map script yet to check his position.
Lifts are also slower on PAL, which is usually bad but it’s a blessing on this level since you can essentially easily catch the 2nd lift without having to call it back down. The lift on this level was too fast and I was barely able to catch the lift in time (which is actually good because it takes less time to close then). Usually on the IL you watch a lot of the cutscene in order to enter the lift right as it is closing but this is obviously slower on IL.
Then I simply used the dragon to blow up the hole, grab the disguise and equip it, continue the rest of the level obtaining keycards to advance. The keycards are dropped in random directions so I had to mess around a bit to affect the RNG by shooting at different places or times so the keycards dropped closer (they were pretty ridiculous on this run).
I also did a LOT of SuperDragon explosive boosts to boost Jo forwards, one boost on its own doesn’t save much time but if you stack the boosts together they’ll stack speed together accelerating Jo a lot more.
The guards actually opened the closed door for me which was lucky and something I didn’t try to do, the problem is they can block you so I decided to do an explosive boost mainly to kill them. I kept boosting after that until my health was almost empty, even one more hit at this point would’ve killed me. So overall I’m really happy with 1:30 considering I did not wait any cutscene for the first lift to come down and instead called it myself.
Escape: 1:40.52
This is where the run starts to devolve into chaos with much more complicated levels and increasingly ridiculous strategies.
The level starts by having to push elvis on this bed or gurney to this spot and then you meet up with NPC Jonathan, after that you go back with Jonathan so he can do this autoscroller sequence where he explodes a hole in the wall to advance to the rest of the level while you protect him from guards that continuously spawn. There’s a way to skip this sequence though but it’s really precise (if the stick value is off by one it’ll fail) in the TAS is offset by 1 it doesn’t work), you use explosive shots to bounce the hover bike up the ramp into the wall so you can get onto the hoverbike through the wall. This is so precise that you need to first get the hoverbike lined up really well with the ramp, then you need to push it almost perfectly straight up the ramp or it will get caught on the
This is a strategy invented by fellow TASer Whiteted in 2019, initially the plan I came up with Whiteted for this TAS was for me to do the start of the level, then he would do the part of the level with the explosives shots, then I would finish the level, but unfortunately he didn’t have the time to, so after about 2 weeks we decided that I would finish the level myself using a lua map script created by Wyster many years ago, but due to Bizhawk and Lua updating it was completely non functional (please add backwards compatibility for Lua scripts thanks). Luckily Whiteted was able to fix/update the Lua map to, so now I had access to tracking objects (he also added in tracking for explosive shots for Escape), guards, level geometry with this Lua script which was immensely helpful, here’s an video of what the strategy looks like with the Lua map: https://www.youtube.com/watch?v=l5pX_lg0uzM
So here are the problems with the strategy I had to figure out in order to get this to work:
I had to kill some time before the first pair of shots together in order to deload the room. I had to also fire a shot to hit the roof first to ensure the second explosive shot would go through, which is why I shot two shots here. I found out from Your Eliteness that they actually use a frame timer for this without accounting for the 60 to 50 fps change on PAL, making the wait worse for PAL.
If you don't do some look down after you fire the shots, the roof will not deload making the shots not hit in the hangar.
Fluctuations in lag can slightly (not much) alter the trajectory or how the hoverbike moves.
I accidentally didn't complete the meet up with Jonathan objective which completely broke things resulting in Jonathan murdering Elvis after I pulled off the trick, I was able to fix it by back tracking a bit without losing time after the 3rd shot (that's why I wiggled against the wall).
I was able to also discover two minor timesavers and innovations with this strategy to save even more time:
- instead of hitting the hoverbike the perfect distance/force so it would rest against the wall, I actually pushed it with more force so it would get to the wall faster, and I was able to get in the hoverbike before it bounced off the wall (had plenty of time since the 3rd shot takes some time to land)
- The driving the hoverbike to start the cutscene was initially very awkward because the bike was facing backwards so I had to do this crazy tight U turn around the railing. Luckily I came up with the time save of warping the railing with the hoverbike just like infiltration (they reused some of the map from infiltration here since Infiltration Rescue and Escape share map sections) This saved a few seconds as it was way faster.
The ending involves pushing Jonathan to his destination near the UFO, then pushing him back to Elvis. I genuinely got motion sickness TASing the big turn to change pushing directions to push him to Elvis since it was a ridiculous 180 turn that I did without stopping to keep full speed, it was such a ridiculous nauseous turn to replay over and over.
After pushing Jonathan to Elvis and Elvis starts talking, you want to push Jonathan up the stairs, you don't need to push him all the way after that, I just did it for swag/to try a different ending strat.
Then you activate the two consoles yourself, you can do a trick by mashing activate on the first console, and it'll delay doing the activation giving you time to leave early to activate the second console. You want to get to the second console as fast as possible so I did a bunch of explosive self boosts here.
I was really happy with 1:40 here as it is 37 seconds faster than the human record of 2:17 and felt pretty optimized.
Air Base: 1:24.58
So the level Air Base has two different endings, you can deactivate the lasers and go up a ladder to the plane, this will save you time on Air Base but will start you on the basement on Air Force One which is way slower for Air Force One. You can activate the hoverbike to use to travel faster on Crash Site in the basement but it does not save enough time to negate the huge time loss of starting in the basement.
Instead we choose to go up the stairs to board the plane that way, which will give us a way better start upstairs on Air Force One, so it's faster overall to do these levels with this route. This means Air Base will be far slower than the world record IL run.
The level starts by getting a disguise from a stewardess that we tranquilize. She can spawn either in a spot that's way closer to the start, or a spot that is farther away from the start which is slower, it's 50/50 odds roughly which makes it very easy to manipulate this RNG in the ending of Escape. I also get a Dragon gun from a guard at the start to use later on. I tested both equipping the disguise immediately after picking it up vs equipping it after you open the door, it was a bit faster equipping it at the door.
Activating the speech that triggers the objective complete is very finicky, I was able to save some tenths just by looking up as I entered the room. The door you have to wait for it to unlock and time opening it as early as possible. I was also able to do a weapon warp through the door which is overkill for human runs since if you fail it the level will fail since they'll detect you having a weapon out.
After this it's simple strafing to the console panel, then it gets a bit complicated.
What I do here is throw the explosive Dragon to blow up the glass on the balcony above so I don't have to go back down the stairs, immediately use the DrugsSpy to call the lift/stop the lift door from closing then strafe close enough by the explosive Dragon so it blows up, switch from left to right strafe and turn then back to left strafe since I need to face the panel to blow it up. I also disarmed the two guards on my way to the lift.
I then relax with a nice game of bullet tic tac toe to pass the time plus provide entertainment value to the TAS.
I do this really insane warp through the lift door then the rest of the level is simple strafing to the end while avoiding getting stuck or back boosted by guards (I ended up warping one of the guards at the stairs because he was in a really awkward location).
Air Force One: 55.26
This level involves speaking to the president, placing a mine on a wall for an objective then escorting him to the ending.
On ILs this level is played with a Combat Boost which acts as a slo mo power up, which is obviously way slower for RTA, but not using it has the side effect of making the level really really laggy.
The very start is awkward and starts with a bit of backwards with Down C, I then speak with the president and move him closer to the door by doing this little dance to “strafe” him closer. I actually did this section with a controller adapter since it was really confusing/hard for me to do it with typing inputs, and I didn't need him moved far anyways. A key thing to note is that if the door (which automatically closes after some seconds) blocks your view of the President before the cutscene begins, the objective will fail. I also did a speech skip here because I had an opportunity here to show off this strategy without losing real time by timing the pauses perfectly.
Instead of having the President follow me like normal, I push him all the way to the ending here while doing the throwing the mine objective (you can just throw it on the wall) and killing guards. The ridiculous lag made it really tricky to push him well and I definitely lost a lot of IGT from that. I then pushed him to the basement through the stairs (I had to let go of some speed here because of the President not going through the stairs hole). I also closed the second to last door behind me so I didn't have to kill an extra guard since he wouldn't be able to shoot through it, I stop pushing the president for a bit here to open the door for him. He was very very random activating the ending.
This level wasn't as fast as I thought it would be, mainly because of all the lag and having to wait a few seconds before the President can be pushed, so I'm pretty content with low 55.
Crash Site: 1:14.42
This level starts by strafing to a escape pod to activate the distress signal, then strafing to the cave.
The cave is where the level gets complicated and is based off the strategy Icy did in this IL TAS.
The first mine throw I do destroys two moving drones and damages Trent so he will immediately leave when I reach him. I also have to make sure not to damage the President with the mine, making this a pretty tricky throw.
Then I do this mine throw over this mountain wall to destroy the President clone, this is done in human runs by stopping, double crouching and double uncrouching to throw the mine higher upwards but I was able to do a very tight throw without stopping that barely doesn't hit the cave roof.
Then I do this tricky OOB that really only saves much time because I triggered/damaged Trent earlier with that really precise mine throw. Then it's simply pushing the President to the end.
The level suddenly becomes much laggier after around 59 seconds.
I was pretty happy with 1:14 without using the hoverbike at all, if I activated the bike on air force one the time save on crash site would be nowhere near enough to offset the time spent starting in the basement to activate the hoverbike.
Pelagic II: 47.92
This level is pretty short, it starts by strafing to these 4 buttons, and throwing two grenades in the floor to eliminate guards from activating the alarm (the alarm causes a lot of lag). I don't think I did the grenade throws perfectly but given I don't have speedrunning experience with the grenade strategy my throws were good enough to continue the level.
So 4 of the 8 buttons around this reactor are green buttons, you are intended to use the X-ray function to check which are green or red, if you press a red by accident it'll do this reboot thing where you'll have to try again. So the optimal strat is to hope you get 4 green buttons in a row closest to where you go so you can do it without checking with xray. I ended up spending 1-2 hours manipulating RNG on the ending of crash site in order to force these green buttons to be in the right spot. Here’s a link to technical details about that: https://forums.the-elite.net/index.php?topic=19067.msg464014#msg464014
After warping through doors to save time, the IL strategy is to skip around 5 speeches then proceed to the ending. This is hard to explain but the speech skips don't help for real time because you want to leave as early as possible and have the speeches play as you're leaving so you can leave earlier, the scientists speeches are kind of complicated and not fully understood by me so it was tedious redoing the ending.
You do this warp through a barricade at the end which saves massive time. I then activate X-ray mode in order to load the scientists so they can complete their speeches. Not doing the speech skips save a bit of real time by leaving earlier but lose a ton of ingametime so I'm content with 47.
Deep Sea: 2:08.78
This level is the reason why this run is on PAL, there’s a trick to complete objective 2 by destroying two canisters to disable the Cetan megaweapon with the FarSight gun early instead of waiting for Elvis to reach the console to spend time to deactivate it via the console. This only works on PAL on full screen because the zoom of the FarSight uses the vertical video height to determine how much to zoom, and PAL has a high enough vertical resolution compared to NTSC versions to zoom the necessary distance. For comparison, the NTSC record on agent is 3:01, and the PAL record is 2:25 so it’s a huge time save, enough to use PAL for this entire TAS.
Usually the way humans play this level is they just strafe through the whole start killing every guard as fast as possible with the Shotgun or Falcon so Elvis doesn’t get distracted, and hope his AI gets him to the teleportal control room fast, it’s honestly a crap shoot trying to get a fast Elvis with his AI. What the TAS does instead is simply push him the entire way to the teleportal control room, which is way faster and doesn’t have to deal with any AI stuff besides shooting guards to make sure Elvis doesn’t get too distracted, he was actually really cooperative, the most I had to do at times was look a bit in a guards direction and he would be able to just one hit kill the guard he was such a Chad in this run. The tunnels have a key thing where you need to kill the first guy in the tunnel early (like a stealth kill) so extra guards don’t spawn. So I had to deal with an issue, once Elvis is close enough to the room he’ll start saying “time to deactivate the teleportals”, do his thing and Joanna immediately starts strafing to the teleportal.
If I left too early, he would take a pretty long time to activate the teleportal, which causes Joanna to have to wait a bit for the teleportal to activate. If I left too late then I would reach the teleportal later than I could. The amount of time it took Elvis seemed to be dependent on how many guards in the room I killed before leaving Elvis, so I tested killing different amounts of guards in the room before leaving for the teleportals and the fastest time going through the portals was what I did in this TAS. It appears I missed out on very likely time save here as pointed out by runner ThaRixer, he told me I should’ve just pushed Elvis a bit into the room to save time and he’s probably right.
Anyways after the first teleportals, the rest of the level is mostly strafing, optimizing the circular/round turns was pretty tricky/tedious to do since it’s hard to tell if I barely rub agains the walls.
The FarSight shots, the way I optimized it is that the gun takes a set amount of time before it can fire again, after the first shot, I made sure I did the second shot on the first frame the cooldown expired.
The ending has a chance of having the guards randomly opening the door, which saves about 2 seconds, I thought this could really suck to manipulate but luckily all I had to do was do a punch/slap to affect the RNG resulting in the door opening (you also want the door to be fully open before you get to it).
I could have definitely tried doing RNG manipulation to get a bunch of guard boosts but the decimal was 2:08.78 so I didn’t see much point for grinding for a lower 2:08, If it was something like 2:08.20 then I probably would have.
Defense: 51.96
This level revolves around freeing hostages in the level. This level was very confusing to route and optimize because I was capped by the hostage objective 1 completing due to the speeches, if you use the data uplink at the end too fast/early before a part of the speech has finished, the ending will not trigger and you’ll lose over 10 seconds waiting for it. There is also a bunch of routes/hostage activating orders you can do, but I think I chose a pretty good order/rotue.
As quoted by Icy is his tutorial writeup for the level at https://forums.the-elite.net/index.php?topic=22338, it says that “One of the key parts of the level is how the hostages work. For the objective to complete, you have to not only save a certain number of them, but you also have to activate them all. You can do this by opening the doors to their rooms, killing them, or killing all the takers. Some strategies involve simply opening the doors, while others involve technical tricks to work around that instead. There are 7 hostages total and you must save 3 on Agent, 4 on Special Agent, and 5 on Perfect Agent. KOing a hostage, whether by you or a guard, counts as a save.”
Usually on the IL runs, you watch some of the cutscene so you can wait for the lifts to come down and you can get into the lifts as they automatically close, however this is RTA so what I do is open the the door to the firing range to activate 2 hostages, call the near lift, open the door to the black holo room to activate 1 hostage, then go into the lift. I was able to pull off what I believe to be the most insane perfect dark lag warp ever, warping into the lift door as it was barely open, and warp through the tiny crack, I also closed the lift door on myself as early as possible.
At this point on the IL runs is when you would activate a combat boost which slows down the game real time but doesn’t slow down IL time, but this is obviously awful for RTA so we don’t do that.
First I kill the 2 hostage takers in the near upstairs room, then I collect an explosive devastator weapon from one of the hostages (they only give you this weapon if no hostages are killed yet), preserve speed by running into the NPC, then fire the explosive shot ASAP while leaving, this explosive shot was very easy, it’s not a tight or precise shot at all and I was able to use the explosive projectile tracking coded into the Lua map to track where the shot went. This explosive shot activates the final 2 hostages in the far room by killing them, whats happening in the room is just a giant explosion killing them.
After that I do a lag warp near the elevator then enter the firing range room. I messed around entering it because I was essentially capped by how fast the hostages objective 1 completed, so I messed around until I got the earliest objective complete I could, then grabbed the RC-P120 to complete objective two.
I tried using an out of bounds warp at the end through the wall to use the data uplink earlier, but it didn’t work because I would get there too early and the level would not complete as mentioned in the start of the explanation of this level, so I ended up blowing up a glass barricade above the stairs as a small shortcut, then uplinking as early as I could that way.
I was actually able to figure out a timesave for the next level, I was able to grab a Mauler at the ending near the uplink section and activate the secondary function of the charge up shot, this means I could do the start of Attack Ship much faster by not wasting time switching to secondary function, as it remembers what function you last set the Mauler to during your session (a reboot of the game erases this).
Honestly I wasn’t that happy with 51.96, but due to the struggle of the ending of this level, I had already spent way too much time on this level and wanted to finish the TAS already.
Attack Ship: 2:03.84
This is the second longest level in this TAS and took the most work with a lot of RNG manipulation. This level can be really luck based with the ending, which resulted in a famous speedrun of 2:06 set by Chuya in 2011 where he skipped 4 seconds on the world record, and his record unbeaten for 12 years straight until 2:05, and was not tied by anyone until almost 9 years later.
The level starts by using a knife to take out a Skedar for his mauler, calling up a lift, then blowing up 3 consoles with the Mauler. The Mauler is the main weapon used in this run, it’s special because it charges up, with each bullet it spends to charge it up making the gun do more and more damage. On Agent you don’t have to wait long for it to charge up long enough to kill Skedars.
There is a glitch here that is used leaving the first elevator, I do a lag spike to warp the door and approach Elvis, if you reach him within 1s when he first sees you and runs to you, you can trick the game into starting the next part of the level 1 second earlier (you can notice this timesave by how early I get the AR34 gun).
The next part is killing 4 Skedars with the AR34 to activate the next elevator, while also relying on Elvis’s Maian buddies to kill one Skedar on their own before you finish killing the 4 Skedars.
You want to start with the right Skedar door as it opens up earlier than the left one. You need to get a fast death animation for the first 2 Skedar kills here in order to spawn the second pair/3rd and 4th Skedars as early as possible. You need to look away from the Skedars after the kills so they can respawn the 3rd and 4th Skedars, I then turn towards them as early as possible (if you turn too early they just don’t spawn).
After these final Skedars die (not after their death animation finishes), you need to see one of the Skedars have an immediate respawn next to them, if you don’t see this, this means the Maian buddies did not kill the 5th Skedar, which means you will have to redo these 4 Skedar kills all over again, the Lua map did make things easier as I was able to check/monitor that the Maian buddies killed the 5th Skedar.
After this, you wait for the lift to come, gather some Mauler ammo if you’re low on that, then go up the lift.
This is where the NPC madness starts, I could have Elvis come up the lift with me but I can’t push him like on Deep Sea here, so he’ll have to navigate on his own. He seems to actually behave best on the PAL version so that’s a bit of an advantage here. The Lua map was a HUGE help here as I was able to track his whereabouts. A big problem with this level is that you need Elvis to pass by the Star Map room in order to complete objective 2, but unfortunately his navigation is trash. Instead of following your path, he will simply calculate the shortest hallway path to you when deciding which way to go whenever he is at an intersection, so if you are too fast, he’ll go straight to the stairs rather than following your path through the Star Map room since it is simply a shorter hallway distance. Also it is important to kill every Skedar along your path since you don’t want Elvis to get distracted or die fighting a Skedar.
There are two major intersections Elvis here needs to go the right way, the first one is at the very start of the floor where he can decide to go left or right. He needs to pick right here, so what I do is stall a bit (the bare minimum of stalling) when leaving the star map room so takes the rightside path. Then I stall for a few seconds when I am up the stairs, so that he will choose to go towards the star map room. This seemed to work out pretty well, I was able to get through the door and complete Objective 2 about 1.5 seconds earlier than PerfectAce’s PAL 2:06. The objective completed really late which I think you want to happen.
https://www.youtube.com/watch?v=fTNWt2s1m4c Here’s a cool video using Lua map showing where Elvis is going
After this you are at the mercy of two lifts, if this wasn’t RTA you could just wait some of the cutscene to time the lift cycles a bit better so they are both open when you get to them. Unfortunately I had to wait a while for the first lift to come down. I was able to do a nice lift warp here to save time, I ended up using C-Up movement to warp it since the door is really thick.
After the last lift of the level, you want to back up as far as possible to kill the first Skedar on the bridge as early as possible, then kill the other two Skedars.
This is when the extremely RNG ending begins, and it’s really complicated so just bear with me.
The intended casual way you’re supposed to do this ending is stand outside of the two doors where skedars start spawning out of the doors until you kill 6 of them upon which the level ends.
When the level actually starts, they put in two skedars behind these two doors which are cloaked and invincible waiting for the ending to start. We will call these Skedars real-left-door-skedar and real-right-door skedars, they are the only skedars you need to kill to trigger the ending.
At first they spawn/send out clones of themselves for you to battle, however if you look at the invisible real-left-door-skedar and invisible real-right-door-skedar, then they will not be able to send out clones of themselves and instead uncloak themselves so you can kill them and end the level.
So what we do is stand in the left doorway to prevent the real-left-door-skedar from sending out clones and prevent the door from closing, forcing him to reveal himself. We also make sure to be backed up as far as possible so we are also in the other room, which essentially makes the game do RNG checks for the real-right-door-skedar much more often.
Around this time, the real-right-door-skedar will send out a clone of himself, so sometime after you kill the real-left-door-skedar, you go to the right door to wait for the clone to come out, kill him, and then the real-right-door-skedar will reveal himself so you can kill him and end the level.
The problem is that the skedars spawn at random, the way it works is that every lag frame, each skedar will do a 1/256 dice roll to determine if they spawn early or not, if they make it 5 seconds without this 1/256 dice roll succeeding, then they will spawn automatically at the end of these 5 seconds.
The problem I had is that the best and by far easiest way to farm/manipulate RNG is pause, then unpause after a random amount of frames, guaranteeing different RNG when you unpause, but I could not do that here since that would lose RTA time, so what I had to resort to was randomly looking, moving and shooting, which makes my actions in the ending look like complete gibberish. This was way more limited than the pausing, I was running out of random things to do to affect the RNG, so I wasn’t able to get the 1/256 RNG on the first frame of the clone and real-right-door skedar which would’ve been optimal.
So the luck you need for a theoretical perfect ending is you need the skedar clone to spawn on the first 1/256 dice roll, and also his speed of movement/opening the final door is very random (can vary by 8 seconds just by a tiny change in position/RNG), so you want to optimize that to perfection too, you also need the real-left-door-skedar to spawn not on the first 1/256 dice roll, but instead just soon enough in order to kill the clone as fast as possible. And then after killing the clone, you want to get the real-right-door skedar to spawn on the first 1/256 dice roll.
I was able to get a ~18.1 ending (timed from when Elvis opens the door to when the level ends), which is still good despite the restrictions I had with manipulating RNG due to not being able to pause. I was pretty happy with 2:03.84, Icy has a 1:53 TAS where he saves a ton of time by timing the cutscenes so you never have to do any waiting for the lifts, and by using the Japanese version which has knives removed and replaced with a Falcon, meaning you can destroy the consoles ridiculously early and fast.
Skedar Ruins: 54.16
The last level of the TAS. First though you have to use the radial menu or pause to equip the target amplifiers, but for whatever reason using radial menu at the start of a level is ridiculously slow, it seems to take a bit of time before you can use the radial menu so I instead paused quickly to equip them.
The first objective is placing 3 target amplifiers on 3 different pillars. The problem is that there are 5 possible pillars these 3 target amplifiers can be placed on, resulting in 10 different combinations, one of these combinations is the fastest. Before the level I had to do RNG manipulation at the very end of Attack Ship in order to manipulate this, it didn’t take long though because 1 in 10 is not bad odds.
It is important to avoid taking melee damage from the Skedars here because they can destroy your health, but this is so fast this is not a concern.
The first target amplifier throw is very easy as you just pass by it. The second one is pretty tricky to do as fast as I did, I found out after I finished that TAS from another runner that I missed a timesave with this throw I didn’t know about that would’ve probably have saved at least half a second and saved me from having to do this ridiculously tight turn after the throw I did: https://www.youtube.com/watch?v=THqDQMNQreg The third target amplifier is the farthest throw and is pretty precise.
Next you can skip the long intended route of breaking a wall elsewhere by going through the ravine, and clipping up the cliff to the walkway (it’s really really easy for humans to do). Then you can leap across this cliff by using a devastor self boost shot, I rememeber the one in this TAS being really tight, I made sure with the Lua map to have the explosive shot explode right behind Joanna. You can use the leaning function in this game (the one to duck and cover around walls) to make this jump as well, but I think it is slower here because whenever you use this leaning function you lose full speed.
After this, I do two self boost shots with the Devastator, I borrowed this from the human IL record run https://youtu.be/C3Vi-suuq0A?si=TW_QmeLUDm723JkR&t=45
It’s a bit better to have these boosts be done close together as boosts can stack/multiply together, but the devastator has a cooldown time when firing so I wasn’t able to do this. You actually can’t use the last devastator shot here or the level will fail when you defeat the boss as it thinks you need it to blow up the wall earlier in the level for the intended/casual route.
Then I do lag warps with weapon switches in order to warp through these doors, the doors here can randomly jam and open at random speeds so this was a nice work around.
The boss fight involves a trick called a quadruple spike break, when you break one of the spikes of the shield at the end, the game will make the other spikes invincible then you have to damage the Skedar king some more to continue breaking spikes repeatably. There is a 2 lag frame delay before it is invincible though, so if you’re quick and break multiple spikes at the same time you can actually break 4 of the speaks together, then you can destroy the final spike and beat the level.
So what I did here is first is damage the two lower spikes together 4 times with 4 bullets, then do 4 shots on the top right spikes, then 4 shots on the top left spikes, then I break the two top spikes together in 1 shot, then on the next lag frame break the bottom two spikes in 1 shot. Then after damaging the Skedar king enough, I’m able to destroy the final spike and finish the level and TAS. I tried to damage the top two spikes together but I wasn’t able to do it since I could not find the RAM Watch value for the spike health and the spot is so tiny that the Callisto NTG with its bullet spread wasn’t able to aim at it well. I tried a bunch to do this but gave up, but it is possible and was done here https://youtu.be/k07Jr89pcsE?si=r2-0yFZOcyxRnhKL&t=59
I was still able to beat the TAS record of ~55.50 by Icy by getting a faster pace to the ending which surprised me and also saving time on the ending since he didn’t do this quadruple spike break strategy. https://www.youtube.com/watch?v=XSwfjsvK1lQ It is a bit annoying the decimal was so low at 54.16 but I’m pretty satisfied with improving the IL record which surprised me.
Closing remarks:
Overall I’m pretty happy for how this went for my first full game TAS, I hope this brings more interest to Perfect Dark and possibly brings more interest in TASing this game, that’s part of why I was very detailed, so this could be useful for other TASers.
I’d like to thank Icy for giving lots of feedback on my progress and sharing all his TAS knowledge with me and his existing Perfect Dark TAS work which helped a lot. I also want to give huge thanks to whiteted for getting the old Wyster Lua map working which made finishing the second half of the TAS so much easier, and saved me probably 25 seconds with his help to get the sequence break on Escape Agent working. Also thanks to all the fellow speedrunners who answered my technical questions about some levels. Also thanks to Graslu00 for showcasing the TAS on his channel via a YouTube premiere, helping it reach a wider audience.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15909
Location: 127.0.0.1
This topic is for the purpose of discussing #9566: alkamaass's N64 Perfect Dark "Any%" in 24:21.26
Editor, Experienced player (529)
Joined: 11/8/2010
Posts: 4051
I'm really glad you decided to redo it from power-on. It would've been a shame to miss out on submitting because of it starting from a savestate. I also appreciated the detailed notes, though I think a link is missing in the Pelagic II section after you say "Here’s a link to technical details about that:". Clipping glitches were fun and helped keep the pace fast. Looking at the ground so often was unfortunate (though necessary for lag), especially in Villa, but it seemed to get better after that level. Pushing the President and alien around was so funny, and I liked the entertainment sections like playing tic-tac-toe with yourself. Good job finishing this.
alkamaass
She/They
Joined: 12/7/2024
Posts: 2
CoolKirby wrote:
I'm really glad you decided to redo it from power-on. It would've been a shame to miss out on submitting because of it starting from a savestate. I also appreciated the detailed notes, though I think a link is missing in the Pelagic II section after you say "Here’s a link to technical details about that:". Clipping glitches were fun and helped keep the pace fast. Looking at the ground so often was unfortunate (though necessary for lag), especially in Villa, but it seemed to get better after that level. Pushing the President and alien around was so funny, and I liked the entertainment sections like playing tic-tac-toe with yourself. Good job finishing this.
Yeah I'm glad too, it wasn't too much work redoing the first 3-4 levels and the levels ended up being faster when redone. Added the link about the Pelagic II buttons thanks for catching that. Thanks, yeah I tried to look up more later on, it's kinda annoying see everyone in the comments complain but I'm glad you're understanding about it, glad you enjoyed the TAS

1741820094