SDA logo

Inspired by the previous year's arcade and port hit Commando, 1987's Ikari Warriors was hellbent not to be one-upped by anyone else's run 'n' gun in terms of sheer difficulty. It holds the top spot still on some "hardest of" lists. Its overabundance of girly colors belies the dosage of manliness beating it injects into any gamer's public image.

IkariWarriors   IkariWarriors

Return to the Game List, the FAQ, or the Home Page.

0:27:26 by 'ktwo'

Get Flash to see this player.

Author's comments:

For information about speedrunning Ikari Warriors and to get a better understanding of what's going on in this run, go to the guide in the SDA knowledge base (referred to as sdakb in my comments below):
https://kb.speeddemosarchive.com/Ikari_Warriors_(NES)

Run history
I started playing this game in November 2014 and it took me two and a half years to finally beat the game without deaths. During that period, I posted short updates in the bio section of my twitch page. To preserve some of the history this run has gone through, I'll just copy-paste those notes here:
Edit (18-Feb-2015): A new glitch has been found that allows you to fly over half of the first level (see the link above). The routes in the later levels have also been reviewed. The estimate is now almost a minute lower.
Edit (25-Apr-2015): Since the last update above, I have polished the routes a bit to bring down and managed to complete the game once (in 29:15) . There were a couple of deaths in the last level (it was still a 1cc though), which cost around one minute. I'm hoping to get a time around 28 minutes. Below 28 would be great and is definitely possible, but requires the luck to be on my side in a few places (mostly late in the game).
Edit (23-May-2015): I have continued finding small time savers. A speedrun without major mistakes will now almost for sure land under 28 min.
Edit (03-Jun-2015): Level 2 is a major bottleneck and to keep track of what ends attempts, I have started to note down this information more systematically. You can find the stats here: https://docs.google.com/spreadsheets/d/1oImp92djz6c0e3NSUJ4IyfOkLQF8VTdlEavdBQ2K_ck/edit#gid=0
Edit (09-Nov-2015): In case anyone comes here and wondering "when's Ikari again", here is a short update. I had a long summer break for traveling. During my absence, I gathered the courage (and some new knowledge) to start speedrunning Amped 2 (original xbox) when I returned. It's a pretty massive undertaking and will keep me busy for a few months. After Amped 2, I might come back to Ikari or do another nes-game first. We'll see. For the time being, I'm just recording locally, but I would like to stream the final challenges of Amped 2 (it's a segmented 100% run). Don't expect any activity in the meantime.
Edit (17-Apr-2016): I'm done with Amped 2 and back on track with Ikari. This time I plan to hang on until I get a proper speedrun, without any other plans interfering...
Edit (16-May-2016): Slight re-routing of level 2. I skip the tank before the first fortress and take the tank after it instead. This saves ~5 seconds. The additional distance is more risky on foot than in the tank, but less than I previously thought.
Edit (18-Jun-2016): Not been streaming much lately, but have still done some off-stream attempts. One of them reaching the helicopter in level 4 (4th time on a proper attempt), but didn't get the fuel drop. I have found two minor route improvements in the helicopter sections of level 3 and 4, saving in total ~2 seconds. A perfect time with the current route lies ~27:25 (based on "real-time tas" - it's very unlikely that a console run will be able to match it though).
Edit (12-Aug-2016): I've managed to route the second tank section of stage 3 on foot instead. This saves ~15 seconds. It comes at the cost of a higher risk level, but it seems to be better than I first thought. There are two more areas that could potentially be routed on foot instead of in tank and save time. The first is in stage 2. However, it increases the risk dramatically and is also not a huge time saver because of how the tank is more efficient in dispatching enemies. The second place is in stage 4. It would save ~5 seconds, but come at the price of more risk. Considering how few attempts get that far, I have decided not to go for that option.
Edit (02-Oct-2016): I take back part of the information in my previous edit. I have now found a way through middle section of stage 2 on foot that is 6-7 seconds faster than in the tank and without much more risk added. That means stage 2 is from now on entirely done on foot!
Edit (18-Mar-2017): It's been a long time since my last update here, but some absolutely incredible advances have been made this week in understanding how the drops work. Thanks to TaoTao in the tasvideos forum, the mechanics behind the fuel drops in stage 3 and 4 can now be explained. I have transformed this information into the best routes I could find to maximize the chances of a drop (they are still slightly RNG-dependent, especially the area 4 fuel drop, but much less than before). Ikari, I'm coming for you...
Edit (30-Mar-2017): A description of both fuel drop manipulations are now available in the speedrun guide, https://kb.speeddemosarchive.com/Ikari_Warriors_(NES)/Fuel_drop_manipulation.
Edit (02-Apr-2017): New pb (off-stream) with a time of 27:31. The run contained some safe strats and a late death. The fuel drop manipulations are definitely working (even though a lot of things can still go wrong and mess them up), so I'm going to continue playing and I'm pretty confident that I can have this time beaten.

Run comments
For comments about the routes, game mechanics etc, go to the guide in the sdakb. In this section, I'm just going to list deviations and other things worth mentioning compared to the planned route. As a general comment, you'll frequently see me stop for apparently no reason. This is simply to give my thumb some relief from pressing the d-pad for too long. To the extent possible, I try to use pauses imposed by the game instead, but some stretches are so long that I can't reliably hold down the same button long enough.

Area 1
When making attempts, the only time losses I accepted were due to RNG. Any execution mistakes led to immediate reset. As a result, all my completed area 1 are within roughly half a second.

Area 2

Area 3

<

Area 4

Final thoughts
The relief of finally having completed a deathless run according to the plan by far exceeds how happy I am with the actual run and the time. There are faster (and riskier) routes that I'm well aware of and neither the execution nor the luck were more than average in this run. Even though I'm sure an improvement of this run would come much quicker than another two and a half years, I feel that I have accomplished what I set out to do and I'll settle with this run.
I have my doubts whether anyone will ever try to push the time lower or even just try to reproduce a deathless completion again. But if anyone is looking for a good challenge or just a way to get revenge on this ruthless game, I hope this run and the information about the game I have collected in the sdakb guide will prove useful.

Special thanks
I've been in contact with quite a few people during the making of this speedrun. There are however two that I would like to give an extra mention to.

About the bloopers

Bloopers reel download

For a few months during attempts in 2015, I collected clips of failed attempts for a blooper reel. All clips except the last one come from proper attempts (the last one was from an already failed attempt). The clips have been grouped together according to which section in the game they belong to. While the video was prepared a long time before I finally completed my run, they still give some insight in the routes of the early days.
I've added a secondary audio track with game music remixes that I felt was fitting with the video. In order to give credit to the authors and in case you're interested in checking out their music, here are the tracks that were used (the first one found on youtube and the others on remix64.com):

With Deaths: 0:26:16 by 'ktwo'

Get Flash to see this player.

Author's comments:

Disclaimer
I did this run on a Powerpak (my previous speedruns were done on the original cartridge though, but I have since sold my copy of it). In case it matters for future reference, I used a ROM with checksum 731b764f201e31c5b250c67acf835fb3.

SDA history
24-Nov-2017 - 0:26:35 by ktwo (http://archive.org/download/2018-02-19-SDA_Speed_Runs/

For information about speedrunning Ikari Warriors and to get a better understanding of what's going on in this run, go to the guide in the SDA knowledge base (referred to as sdakb in my comments below):
https://kb.speeddemosarchive.com/Ikari_Warriors_(NES)

Background
I thought that my previous submission in this category would be the last contribution in this game from my side. The previous run was very improvable, but without anything really major that stood out in my eyes, so I felt it was decent enough and a good demonstration of the route.

Fast forward to the following year (2018). I decided to give Ikari Warriors a try in the Best of NES marathon in October that year. How well that went is debatable (but I did at least, eventually, reach the end).

Although I tried to follow an as safe route as possible for the marathon, I found first one and then a second improvement to my speedrun route during the preparations. The first one was something that had bugged me for a long time. I got a better understanding of the flying glitch mechanics, which allowed me to avoid some unnecessary movements in the helicopter for a save of ~20 frames. Not a lot, but it was annoying to see my previous run include such an oversight. The second improvement came in the section before the helicopter in area 4. It was worth a full second and looked much smoother overall. This was the tipping point and after the marathon I therefore started to work on lowering the time. A realistic goal time at that point was around 26:30.

Things were looking fairly good at the beginning. I found a few small time savers here and there and I had a good amount of attempts going into area 3 and eventually also area 4. A little before the Christmas break, it finally led to an attempt that was on pace for a 26:25. It ended literally a couple of seconds before the helicopter in area 4 (at which point the run is essentially in the bag) by an incredibly unfortunate blue soldier spawn. I did finish out the run for a time of 26:31 though, but felt pretty discouraged despite getting a new pb. 26:25 seemed like good goal time with the route I had back then and I would most likely have stopped there if I hadn't taken the unintentional death.

The remedy that works best for me in those situations is to go back to the drawing table and find new time savers. Every new finding cheers me up until the lost attempt is all but forgotten and I'm actually happy that I didn't finish it without all the new findings. I didn't come up with any major things, but I did continue to find one small time saver after the other and also added a few riskier strats used in the TAS for some additional saves. While this focused effort on improving the route paid off by making the 26:31 run look more and more obsolete, the success rate during attempts took a bad turn from the added risk and having to tweak the new strats to come up with the most consistent methods in attempts. Strats derived from a save state in this game don't always turn out well in actual attempts, where the RNG can be very different from the save state you practiced on.

Eventually, by just keeping at it, things started to look brighter again and I was suddenly reaching area 3 every once in a while. A few more close calls that ended in unfortunate ways, followed by more route tweaks and then I finally achieved a 26:25. While I felt there weren't any too major mistakes in that run, I also knew that I had been on pace for around 26:20 before. With attempts going well and even more tiny time savers trickling in at a regular pace, I decided to keep at it.

One and a half weeks later, I had another good attempt going that I believe was on pace for a 26:17 or 18. Again, an unfortunate event ended it right before the helicopter in area 4. I think it goes without saying that it felt like an uphill battle at that point... The next day started excellently though and I found a great new line through the water section of area 4 for half a second saved. Nice! Forget about yesterday's attempts and try again! The first and only attempt on that day is what became this submission.

Well, that was maybe a bit long-winded about how this run came to be, but hopefully there are people out there who enjoy reading some of the background story to how a speedrun like this evolved.

Run comments
In this section, I'll go into some detail about what has changed since my previous submission (the 26:35 run) and comment on some noteworthy things. Probably in too much detail for most readers, but I'm interested in this overview myself, so I might just as well share it. If something in my comments appear to lack an explanation, chances are that it's described in the sdakb guide linked above.

Area 1
* There is a global timer that starts as soon as the start screen shows (the one where you select 1 or 2 players). This timer runs in a predictable way and is the only input for the starting x-position of the airstrikes and the position of the stairs to area 4. In total, there are 12 events in the run that depend on this timer, which makes it difficult to find the ideal start value. I chose to start the game as soon as possible to start the game with a low value. This starting position seems to overall give good patterns, but there is likely some optimization potential left here (the cycle is ~17 secs). This new knowledge didn't necessarily save any time compared to the previous run, but decreased the risk of getting hit by an airstrike. More information about this timer is found in the sdakb.
* In the new run, I tried to divide diagonal movements into as many segments as my thumb and controller allowed. This is easily visible from the stuttering effect seen in many places. The first and last frames of diagonal movement are geometrically more efficient than the standard diagonal movement. Very roughly, you save 1/100 sec every time you add an extra segment to a diagonal movement. I haven't counted how many times I do this in a run, but I'm guessing that I have divided up the diagonal movements into 200 additional segments, give or take, so probably a time gain of 2 secs or so over the course of the run. More information about this mechanic and movement speeds are found in the sdakb.
* There is a bit of RNG with the L and S pink guys near the beginning. With good RNG, they will slightly home in towards you and thereby require less diagonal movement when collecting the drops. I didn't get any such movement in this run. That's by far the most common case, but also the worst. I think you can maybe save 0.2-0.3 secs by optimal RNG (very rare though).
* Throughout the run, you'll see me make brief pauses in seemingly random places. This is to release some pressure on the thumb from pressing too long on the d-pad and are pure time losses. Unfortunately, they are unavoidable for me. When possible, i do try to plan pauses to minimize the time impact though. It can for example be by holding out until the game anyways forces me to pause or to use a direction change for relief. This hasn't changed from my previous run though.
* I got an additional blue gun soldier in the water section that forced me to make a small detour in the tank. I've seen this countless of times, but it's still a low probability event. Looking at my splits, I must have lost a few tenths of a second from this additional manoeuver.
* I finally figured out more about what happens during the flying glitch. This resulted in that I could avoid a bit of diagonal flying that I did for my previous run. Time save 20 frames. The sdakb contains more information about the flying glitch. * Overall, 0.9 secs saved. It could quite easily have been a few tenths of a sec more though (my average was probably 0.3-0.4 secs faster), if it hadn't been for the unfortunate spawn in the water section.

Area 2
* At 7:37, I tossed a grenade and started firing the gun. This section can sometimes have blue gun soldiers that pose a threat. Even though it's not directly a time save, trying to take out enemies here has been a good way to increase the success rate during attempts. Also, in my previous run I got somewhat distracted by bad spawns and ended up wasting 2 secs (the same pattern would probably have been taken care of with the new grenade toss and firing).
* If an airstrike doesn't hit its target plate before it's scrolled off-screen, the airstrike will go haywire and likely become a major threat (more info on this in ths sdakb). This can be mitigated by briefly pausing to allow the target plate to stay on screen for a little longer. This is the reason for the pause at the first airstrike. The later I arrive here, the worse the initial position of the airstrike. With the newly acquired knowledge about how the global timer impacts the airstrikes, I can nromally get through here without stopping, but the minor time losses in area 1 most likely made me arrive here a little late.
* Change of route at 8:38. Instead of taking a small detour to the left to collect the knife, I took the center route, which is faster. This route is used in the TAS, so not a new discovery, but definitely one of the major new improvements compared to the previous run, around 1.5 secs.
* New route at 10:11. Taking the left route over the bridge instead of going to the right saved half a second.
* Tiny, tiny change at 11:22. The new route doesn't save time, but seems to provide better consistency. Blue gun soldiers can sometimes appear from the right and are likely to be better taken care of with the new route.
* Another very small tweak, at 11:42. It's slightly better to perform diagonal movement on land than in the water, so I walked straight ahead to reach land. This still seems to have been equally fast or maybe even 0.1 secs slower than my previous run. I don't have an explanation for that, but it's too minor for me to study now after the fact.
* Half a second saved at 12:07 by not wasting time shooting the stationary machine gun soldier. This type of soldier always fires in a predictable pattern.
* At 12:19, I got unlucky with a spawn in the center and had to wait for the wall explosion to take it out. Ideally, you want to get no enemies or only enemies on the right side, which can be disposed of by the grenade as you approach without time loss. It seems to basically be a coin toss whether or not there are soldiers in the center though. I lost one second compared to the previous run and this was easily the single biggest time loss in the run.
* Minor change at 12:52. By entering the water from the center, i got to walk a bit more on land. The new method is 0.2 secs faster. Although the sample size might be too small to say anything with certainty about the consistency, I have the feeling that the new method is safer. It does take care of some blue soldiers that I previously had trouble with from time to time and I haven't encountered any downsides with it yet.
* 0.2 secs saved at 13:17 by not tossing a grenade at the tank. You still need to make a pause though, or the tank will fire the second shell horizontally, forcing you to wait longer.
* Area 2 was overall 4.8 secs faster than my previous run, but still pretty improvable as I've had quite a few attempts on a better pace at this point.

Area 3
* Minor tweak to take out the green tanks at 14:18 without stopping. A tenth of a second saved.
* The section with the hero enemies (with the same sprite as the player) is one of the more critical in area 3. There are many possible enemy patterns that are in practice unavoidable. Any pattern that allows you to get through alive is good, but I still had to include a minor dodge to the left for a minor time loss (0.1 sec).
* I walked around the explosion around 14:48, instead of walking straight ahead and waiting for the explosion to disappear. 0.3 secs saved.
* Very unfortunate with the rocket soldier firing at 15:14, which forced me to dodge. Even though the time loss is very minor (0.2 secs), it's a very uncommon event and therefore feels a bit unnecessary.
* 0.4 secs saved from a more direct route without stopping around the rail turret at 16:09. Could have been a little more by avoiding walking into the wall on the right, but it's risky to pass closer to the explosion so I usually run all the way to the wall.
* The section behind the grids at around 16:34 is always stressful. There are so many possible variations to the enemy patterns that I haven't found a consistent way through. I just follow my route, hope for the best and accept that a fair amount of attempts will end here no matter what. I did make some small changes to route, but I'm honestly not sure if it made any difference for the consistency.
* I found a pretty cool-looking new path through the barrel section around 16:57. Instead of going around on the left side and waiting for explosions, I press on along the center path, dodging machine gun fire for a time save of 1.3 secs. The bullet patterns from the barrel enemies are predictable, so the new method is consistent.
* Around one second saved in the boss fight by starting to throw grenades earlier.
* The location of the stairs is technically predictable. It only depends on the global timer that starts on the start screen. So if you always press start on the start screen at roughly the same time, know what pace you're on before reaching the boss and are consistent enough when fighting the boss, you'll get a good idea of where the stairs will be. A problem is that the locations cycle through around every two seconds, so there is not that much margin of error and the time loss of a wrong prediction can be pretty costly. I found out about this not long before this run, so I didn't get the chance to apply and optimize it much in actual attempts. I got the 3rd best position (out of eight), which is around what I was aiming for in terms of when to start the game and target pace. The most favorable position is of course for the stairs to be as far right as possible, which would have saved 0.7-0.8 secs. More information about the stairs can be found in the sdakb guide.
* 7 seconds saved in area 3 compared with my previous submission. There were no particular execution mistakes, even though time could of course still be saved by tighter cornering etc. A little over a second more could have been saved with perfect RNG though, but I'm still satisfied with the result.

Area 4
* Throughout area 4, I tossed more grenades and fired more than in my previous submission. I won't comment on all of these cases, but they have been included in the route to take out potential blue soldier spawns that can become a threat.
* The execution at the start of area 4 was rough in my previous submission, but I managed to correct it in the new run.
* I changed up the route a bit around 20:52. The new route is safer because it eliminates the risk of getting hit by the rail turret and also puts you in a better position in case of a blue gun soldier spawning behind the turret. When I tested it, it was more or less equally fast with the previous route, but I still lost 0.3 secs compared to the previous run. It looks like I could have pressed a bit closer to the exploding turret without risking too much.
* I was quite conservative around 21:14. It's in my opinion the most risky section of area 4, so I'm ok with trading a little time for safety though.
* By veering a bit to the right at 22:10, I got out of range for the remaining enemies in the water section and could just proceed in a straight line instead of adding diagonal movement to toss grenades at enemies. 0.2 secs saved, but also set me up for the next point.
* Shooting the barrel at 22:24 requires a very precise x-position. However, with the route described in the point above, you're guaranteed to get the correct position. In the previous run, I had to use a grenade for this barrel and then wait for the explosion to disappear, which was 0.6 secs slower.
* At 22:38, I continued straight ahead instead of moving left to take out the rail turret. The new route saves one second, but generally also puts you in a more difficult position when approaching the helicopter. In this attempt, I lost back a few tenths of a second by having to wait for missiles from the second rail turret. There is quite a bit of RNG in how the turrets spawn and some patterns allow you to pass the last section without stopping, while others force you to stop.
* I initiated the flying glitch earlier in this run. Thanks to understanding how the teleportation works when leaving the glitch, I saved 1.4 secs by getting a better teleportation jump at 26:14. More information about this can be found in the sdakb.
* I saved 2.8 secs on the boss fight thanks to two new technciques. The first one has to do with the boss damage. The boss takes 10 hits to kill, but one or more of the grenades frequently doesn't register as a hit. I'm not sure why this is, but I did find out that the y-position from where you toss grenades seems to have an influence. While there is some variation to this, I did find a range that has always produced 10 grenade kills for me. Fortunately, it worked this time as well and avoided the additional grenade tosses I had in my previous run. The second new technique was to extend the invincibility period until the end by standing within the explosion radius of the boss's projectiles. This allowed me to walk into the final explosion of the boss and grab the golden heart earlier than in my previous run.
* 6.4 secs saved over the previous run in area 4. The execution was fine in my eyes, even though I did play it safe in a few risky sections. The RNG usually doesn't impact the time in this level too much. Bad RNG tends to lead to a reset. I did lose a few tenths of a second to an unoptimal rail turret pattern right before the helicopter though. Overall, still a good level by my standards.

Final thoughts
When I finally decided to improve my old run, I was hoping for a relatively painless process. It did however take a lot longer than I had anticipated. As I found new time savers, my intermediate pbs always looked more and more unoptimized. This sucked me in maybe more than I had first wanted, but I couldn't really let go either and settle with what I had. Seeing how things came together in the final run (both in terms of execution and route) and the final time, I'm now very happy that I kept at it, even though there were some ups and downs along the way.

This run can be improved by a few seconds with the current route, but there are also some riskier strats that might be worth trying out if someone would like to push the time lower. Most notably, there are three rail turrets along the route that can be run past instead of destroying them and having to wait for the explosion (2 in area 3 and one in area 4). The potential time gain is around one second per turret. I did investigate this possibility, but the problem is that their firing pattern dpesn't seem to be determined by local timers (= when they are loaded in memory), which makes it hard to come up with consistent strats for how to run past them. More knowledge in how the turrets work might open up for ideas on increasing the success rate though.

Return to the Game List, the FAQ, or the Home Page.