Submission #6091: Mr_K's SNES Contra III: The Alien Wars "2 players" in 12:48.97

Console Super NES Emulator BizHawk 1.12.2
Game Version USA v1.0 Frame Count 46214
ROM Filename Contra III - The Alien Wars (USA).smc Frame Rate 60.0988138974405
Branch 2 players Rerecord Count 36641
Unknown Authors Mr_K
Game Contra III: The Alien Wars
Submitted by Mr_K on 9/3/2018 8:12:25 PM

Submission Comments
  • 2 Players
  • Forgoes major skip glitch
  • Forgoes final boss skip glitch
  • Users hardest difficulty
  • Genre: Platform
  • Genre Shooter
  • Emulator used: BizHawk-1.12.2
  • Aims for fastest completion
Contra III: The Alien Wars is often said to be the manliest story ever told and there's a much better story to tell when you're blasting through the game with your kindred Contra Spirit. This latest movie incorporates several improvements inspired by real time speedruns. More frames saved, more deaths, new weapons, more lag management, and a lot more posing!


The previous TAS was done using snes 9x 1.43. This early version of snes 9x had very poor lag emulation. Switching to bsnes meant a ton of routing changes, even to the point of changing what weapons were used in the run. This run also has both players die at points, primarily as lag management.
  • Peashooter - The standard weapon sees limited use in stage 1 and a brief appearance in stage 5. In side scrolling stages, fast weapon switching actually does make peashooter fire faster.
  • Spread - Each wave of spread contains 5 red bullets that deal two damage each. In side scrolling stages, this is the second most powerful weapon, assuming you are in point blank range. This property makes spread shine particularly against the first phase of the stage 3 midboss where its small and moving hitbox makes optimal damage with crush nigh impossible.
  • Laser - This weapon has decent power, but it has a slower fire rate. It doesn't deal as much damage as point blank spread can, but it is way better at dealing damage from further away. It makes a quick appearance in stage 3 just because it happens to be there when I need it. This weapon also performs extremely well in top view stages 2 and 5 where it is a steady beam of death dealing 4 damage per frame of impact. Before you get too excited, remember that in both 1 and 2 player games, damage from each player's shots are check on alternating frames. While not as damaging as overall crush in top view stages crush damages 1-2 per contact but can have more contact overall), it lags the game significantly less, allowing the stage 5 boss fight to happen at a full framerate for most of the battle while still taking it out in one cycle.
  • Flame - I love flame, but the poor thing only does 1 damage per segment of fire overlaps with an enemy hitbox. If things were different and we could have any weapon we wanted whenever we wanted, it actually would be faster to use this with crush on the very last fight with the armor brain. Alas.
  • Crush - The most powerful weapon in the game. Crush has the shortest range of the guns. On impact it deals 4 damage and it generates an explosive cloud that disperses randomly from the point of impact. Each part of the cloud that makes contact deals 4 damage. If you are standing on the left side of the screen and shoot an enemy on the right side of the screen, several parts of the explosive cloud will dissipate to the left of the point of contact which prevents you from doing full damage. For this reason you generally want to overlap the point of impact with crush with the center most part of an enemy's hitbox. When this is not possible, manipulating luck is your only hope for maximizing damage.
  • Homing - This is a joke weapon that is used only as a shoutout to how bad it is. Its seeking capabilities were severely downgraded after their amazing appearance in Operation C
Mechanics Weapon switching - You can carry two weapons in this game (one gun for each hand). Switching between weapons happens a frame after pressing X. Every weapon in the game (except maybe fire) benefits from switching weapons quickly. Crush shots fire every 4-5 frames, but if you switch to the crush on your other hand you don't have to wait.
RNG manipulation The addresses E6 to EB make up the random number generator. The address at E8 is what determines the outcome of most game events and the other addresses are called up, stored, and manipulated as part of the routine that determines the RNG. These values change every frame and the crush weapon holds the distinguished honor of being the only standard weapon that can increment the random number generator. Speaking of crush, the explosions from a single crush shot scatter randomly based off of both the random number generator and a separate timer. Each player may fire up to twelve shots at once thanks to fast weapon switching. Manipulating a single random event in this run is trivial, but manipulating twelve sets of explosions to stay on top of a small hitbox is nigh impossible. I gave it the college try. Most of the game is determined by this randomness. A list of things I manipulate includes, but is not limited to: Stage 1 - The number of frames before the core from the first boss shoots a bullet Stage 2 - The attack pattern on the targets (or bunkers as I like to call them) Stage 3 - The pattern the drilling midboss takes and the attack pattern used by the two skeletons Stage 4 - The behavior of the tightrope soldier (or acrobat as I call him) Stage 5 - The weapon I get when killing the claw from the boss Stage 6 - All of the brain fight (armored brain fight is actually just global timer)
Also, if a crush shot explodes on a different frame or you get another crush shot out at any point in this TAS it will desync anything that comes after it. Makes it a little hard for me to do improvements without starting over completely...
Comparison with the previous TAS
  • Stage 1 - 94 frames behind (the lag disadvantage hurts)
  • Stage 2 - 20 frames behind (diagonal walking helps me get ahead)
  • Stage 3 - 76 frames ahead (I pull ahead from lag and a better boss fight)
  • Stage 4 - 1 frame behind (lag disadvantage)
  • stage 5 - 295 frames ahead (death respawn abuse and lag management on the boss fight)
  • Stage 6 - 785 frames ahead (better brain fight)
Stage 1
I had to skip blowing up the tower as it generates lag on bsnes. You can blow it up as you leave the screen without lag, but I didn't. Peashooter is better than homing for the first base wall. Also getting in the tank is slower for one player, but if the second player keeps moving forward to keep the screen scrolling then no time is lost. The shot from the tank behaves similar to crush on impact, but its explosions do 8 per cloud making it the most powerful weapon in the game. You can cancel the knockback by getting out of the tank and this lets the other player do a little extra damage to the second base core. The tank also provides ample posing opportunity. Crouching shrinks the player's hitbox and is needed to reduce lag. I use this in a few spots throughout the stage, notably after the boss fight. On the parabolic stream of fire, you can advance forward earlier by jumping forward, but this causes extra lag with two players. Crush spread is more powerful than crush laser, though due to lag considerations this fight will be slower. Ducking here is critical to reducing lag in two players.
Stage 2
You can manipulate the starting positions of players, but I wasn't able to do this in a way that produced a good boss fight. Speaking of starting position, it's faster to have players start in the top left and top right corners respectively. I did get a better pattern on the targets which is ideal. The big time save from stage 2 is diagonal walking. Split screen stages are very very prone to lag, particularly with crush explosions and that the targets you are attempting to destroy can fire lots of bullets. Player 2 only takes out two targets in this stage and so there's plenty of time to wait for the gap between player 1 taking out his second and third target. The boss fight is where lag is actually going to start impacting weapon choice. While both players having double crush would do more damage to the boss, having explosions from all four crush guns on the screen with thus boss can actually make it lag two out of three frames instead of every other frame. It's for this reason that each player uses crush/spread.
Stage 3
Phase 1 of the midboss introduces what is the nightmare of optimizing this game - enemies with lots of health and tiny hitboxes. Crush is the most powerful weapon, but it scatters randomly and it's virtually impossible to make all of its explosive cloud hit a tiny target. The first phase of the stage 3 midboss with the spinning pole has just a tiny rectangle hitbox. What's worse is that this thing moves a lot. Spread comes in handy here with several shots providing an instant 10 damage. This makes the kill significantly faster than in the previous TAS. The autoscroller section that follows is the laggiest portion of the whole game. The previous TAS was able to keep the other player alive with no observable lag. On console and bsnes, having the other player alive can cost an additional 15 seconds due to lag. Watching it, you'll see that it lags plenty with one person alive. Two people? Not okay. So we kill off player 2 here. Even with that, I have to rely on some tricky movements to minimize lag and maximize entertainment value. Destroying the missiles with crush may be slower or faster, it depends on the situation. I tag player 2 in for the next phase of the midboss fight, but then take him out. For the next "UFO" midboss, jumping up and firing provides for a slightly faster kill. Thanks to some slightly better manipulation I saved some time on the fight with the skeletons. Staying on the top for the next phase of the fight instead of shooting up from the bottom also deals more damage.
Stage 4
Moved closer on the tank for a faster kill, and a slightly faster kill on the acrobat. The walker kill is about the same, but as you see it lags terribly. I kill off player 2 to reduce some of the lag and manipulate crush to appear. The boss fight was a tricky bit of lag reduction and survival, overall I think it could have gone better.
Stage 5
Everything that happens in this stage is dictated by the stage 5 boss. Once again, this boss has a ton of health and its hitbox is just a tiny rectangle. While quad crush might seem to be ideal here, the game lags horrendously during this fight. To prevent lag, I actually will have both players use crush and laser. As it relates to the stage, since there is a laser pickup for both players, I can actually have player 1 use death as a shortcut in the top left. Falling off at a certain point bypasses the narrow walkway and saves about two seconds. Diagonal walking also saves time. Once again I stagger destroying the targets to minimize lag.
Stage 6
Up until the slave hawk (or gargoyle as I like to call him), most of this stage is not difficult to optimize, it's just a matter of lag reduction. I gradually switch out from spread to crush. The slave hawk once again has the problem of having a tiny hitbox and a ton of health. Like the previous TAS, killing the slave hawk before it teleports glitches out the music. This is done by letting it get a little closer before dropping its health below a certain point which causes it to stutter and retreat. You need the crush distribution to be on your side, of course.
For the alien queen fight, I wanted to use the same strategy as the previous TAS, but I can't. The previous TAS destroys the eyes and shoots directly up at the core. Destroying both eyes before the core becomes vulnerable requires a fair bit of firepower and doesn't leave time to destroy the reaching heads on the side. Unfortunately on the more accurate bsnes, leaving the reaching heads alive lags the game terribly. I settle for destroying the head on the left and the eye on the left and using diagonal shots. Once again this fight suffers from the small hitbox large health problem
The brain fight is quite challenging to optimize. The brain has 30,002 health and it halves at the end of each attack pattern. Attack patterns have different lengths. The red brain, spike, and white orbiting patterns are the shortest. The blue walker is slightly longer, while the grey and blue orbs are much longer. The snake pattern is the longest by a lot. In addition the duration of a cycle may vary by 64 frames. A red brain attack cycle may be 513 to 576 frames long. A grey orb pattern may be up to 832 frames long by contrast. As far as dealing damage, the red brain and grey orb patterns are best. This is because although the brain has a large hitbox, it moves around a lot and these are the only patterns where you can get close enough to keep the brain in the damaging cloud of crush shots. I certainly don't do a perfect job of this as several parts of the crush cloud don't hit, but it's the best I could reasonably do. You might be wondering why a bomb is used here. There are so many individual smaller brains for the red brain pattern that the game lags horrendously if you attempt to take them out via crush alone. These smaller brains have 16 health which is more than enough for a bomb to destry them. This area is a little odd in that bombs don't lag in this section of the game as much as they normally would. Ordinarily bombs lag for around 60 frames depending on the circumstances. In this part of stage 6 they can lag less than 30. By detonating the bomb almost immediately after choosing the red orb, the bomb doesn't actually lag for a significant part of its explosion. We fire some crush shots which ensures that any orb that gets damaged is destroyed sooner. When the dust settles we're looking at around 34 frames of lag. The grey orb allows you to deal optimal damage since crouching in front of the brain ensures that all of the explosions from crush will hit. Unfortunately with bsnes, this attack pattern lags significantly when the maximum number of grey orbs are spread out on the screen. With the grey orb pattern, orbs spawn when the global timer reaches 128 and 255 starting from the point where the brain touches down on the ground. By manipulating the second red brain pattern to last a bit longer, I get the global timer to where I want it to be and can finish the grey orb cycle with no lag. The previous TAS was not doing full damage with crush shots on the armored brain. By having both players drop down I was able to optimize the damage from crush and I have both players detonate a bomb at the end for the last input.
Comparison with the previous TAS Stage 1 8698 - 94 frames behind (the lag disadvantage hurts) Stage 2 11541 - 20 frames behind (diagonal walking helps me get ahead) Stage 3 fades at 22924 - 76 frames ahead (I pull ahead from lag and a better boss fight) Stage 4 fades at 32000 - 1 frame behind (lag disadvantage) stage 5 fades at 34780 - 295 frames ahead (death respawn abuse and lag management on the boss fight) Stage 6 ends at 46214 - 785 frames ahead (better brain fight)

Special thanks

  • Hurblat - Our 2 player route served as inspiration for a lot of the route in this run
  • Hero of the Day - Your original TAS inspired me to run this game 2 players and I used it as a reference point a few times
  • Ash Williams - Your pacifist
  • Pasky - The hitbox viewer is what made this TAS possible
  • Bizhawk team - I could not have done this run without TAS studio
  • byuu - Can't thank you enough for the bsnes core, especially because the audio for this game sounded so terrible on snes 9x

Possible Improvements

  • Better damage manipulation on the first boss
  • Possibly better lag management during the auto scroller
  • Not respawning player two during the second phase of the midboss fight (maybe)
  • Better damage manipulation during the stage 4 boss fight, might be able to play riskier since both players are taking a death in the next stage anyway, and be sure to manipulate good starting spots on stage 5 too
  • Better damage manipulation for the stage 5 boss fight
  • Better damage manipulation for the queen fight
  • Improving the TAS in other areas could allow for a better global timer and a shorter cycle on the second brain fight

Last Edited by Mr_K on 9/3/2018 11:28 PM
Page History Latest diff List Referrers