Tool-assisted game movies
When human skills are just not enough

Submission #5093: feos, Alyosha & Samsara's NES Battletoads "warpless, 1 player" in 21:38.38

Console: Nintendo Entertainment System
Game name: Battletoads
Game version: USA
ROM filename: Battletoads (U) [!].nes
Branch: warpless, 1 player
Emulator: FCEUX 2.2.3
Movie length: 21:38.38
FrameCount: 78031
Re-record count: 89388
Author's real name: V. R., David M & SC
Author's nickname: feos, Alyosha & Samsara
Submitter: feos
Submitted at: 2016-04-09 17:59:14
Text last edited at: 2017-09-24 11:22:47
Text last edited by: feos
Download: Download (14837 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

(Link to video)

2:39.33 saved over [320] NES Battletoads (USA) "warpless, 1 player" by Phil & Genisto in 24:20.12.


  • 1 player in a multiplayer game
  • Avoids warps
  • Uses death to save time
  • Heavy luck manipulation
  • Heavy glitch abuse
  • Avoids major skip glitch
  • Action
  • Platform

feos' comments

I didn't want to interrupt the people mentioned in the title (+arandomgameTASer) when they decided to co-op and kill another unit from The First 500 list. Then I saw a wip of the 3rd level, with a sketchy bike skip and I decided to finally put my effort into it now that I have all the knowledge. It was hard as fuck, but I saved some second(s?).

Then I planned to take a rest and just watch, but the guys started dropping the project, only Alyosha remained the active author. I was checking random ideas on the forum, then I started trying checkpoint skips. The Resource page says that you can't spawn level end checkpoint unless you activate all the previous ones. I dared to disbelieve that and so I started testing.

I skipped the last checkpoint, then I found out there was an invisible wall right before the next platform that I couldn't pass. I thought it's because the snowman hasn't destroyed the wall, so I did the left+right thing to show the wall on the screen. He crashed it and I was going to try passing the invisible wall once again, and it didn't disappear, and I occasionally started falling down while my sprite remained shifted way to the right.

The screen went from high to low in a certain way, and suddenly EVERYTHING SPAWNED! But when I went down to activate the end checkpoint, it couldn't spawn because the screen was too high, and I couldn't move it lower since my sprite was shifted up. When I manipulated my position to make checkpoint spawn, I finally found out it indeed fails to end the level, it just increases the checkpoint value to tell the game where to respawn you if you die. So yeah, you must activate them all.

And to spoil the hopes more, you also have to move the camera through certain places because it spawns objects reading ROM configs one by one. If you don't spawn enemy #5, you won't spawn enemy #6 either. There are some exceptions, but they are very limited.

So I activated the last checkpoint and performed the upward shift to move the camera up and then jumped down there to make it scroll down, and skipped 6 seconds of the Ice Level.

I wanted to rest again, then I saw Alyosha miss some of known tricks in Big Blag and snakes, so I also fixed them. When he finished his wip of the rocket level, I was quite sure time could be saved if less laggy hits are used. So I started applying this idea and... another new trick was found.

In 3D levels, if you add U or D to the running pattern initialization (tap and hold L or R), you magically start running faster. That lead me to even greater improvement in that level (2 seconds I think), and I decided to redo the entire run with this new find. It turned out you can't do it in 2D levels.

So I used it in Level 1, saved 144 frames, and lost it all to the fucking global timer. Bah.

Level 2 was mainly autoscrolling, but there was a place when suboptimal movement caused losing of some frames when the screen stops scrolling, and it can't be stopped due to how enemies spawn, and your need to travel across the screen. So I fixed it and also probably saved time by ending the level at different hight.

Level 3 was nice, global timer that spawns falling rats tried to kill my 30 (?) frame improvement, but I saved a few more and it gave up. Resynced bike skip and Level 4. Saved some time with the new trick on Surfs. It's worth mentioning that Surf City can be skipped altogether with 2 players by going below the wooden floor while being on the surf board, but with 1 player, the screen starts immediately scrolling. You can only go lower if you also are going to the left map-wise, but the screen will push you, so maximum I could get was 10 pixels OOB. Added some manipulation to the mines.

Snakes synced, rat beat-em-up part resynced, added some entertaining movement and projectile manipulation. Walking up in the next level wasn't touched, redid the RoboAnus fight, figured out how he behaves, made the laggy cutscene somewhat shorter by adjusting my position in the end.

In the Tubes level, I applied the Sonikkustar's found to go below the tubes right to the checkpoint, then DylaX's trick to pass through the gear checkpoint that stands on the corner (not letting you jump near it and squeeze in). You need to be jumping along that wall, then you will be standing on that corner for a few frames. This allowed to activate the next gear sooner. Skipped hitting the fish.

Then I tried out different OOB strats, this was the most bizarre one:

(Link to video)

It was a few frames faster than the published run, but I tried the normal strat too, and after getting optimized, it appeared to be even faster. I used a trick found by Icthus to gain the dash speed while seemingly being in the water. The point it, under those huge rings that go around the tube, there's no water inside. But if you keep walking, it won't know that the water ended and your speed will remain the same. But you you jump out of that water (up and forward at the right time), you won't fall back into it, but will fall on the normal ground. You can charge dash attacks, I used the dash jump obviously.

The Rat Race wasn't touched because nothing seemed to save time, you can't stun the rat and then boot him out until the bomb is crashed, you can't jump to land the hits sooner, you can't even fart.

Saved something on the HypnoBall fight.

In the final level, some real fun started. I found a trick where if you press D when you start holding direction in order to run, you will instantly turn around if you are going to run to a different direction. Normally there's an arc the character is drawing, while the speed goes slowly down and then up again.

I was 31 frames ahead when I arrived to the first disappearing platform. It reappeared 30 frames after that. They are tied to global timer too, and have a 256 frame behavior loop. The global timer doesn't tick during lag, so I used different hits against enemies and spawned the platform 9 frames faster. Only to come to the next one that despawns the frame before I land on it. Making me wait 256 frames.

I redid the entire level, saved 3 frames by adding less lag to the first enemy fight, then I saved some more time when I got to the first aforementioned platform. It went smoothly, but I had to resync the cloud, I spend an evening on it, and in the end I arrived to the second aforementioned platform again... 1 frame before it disappears!!! I saved 107 frames over the original movie that way. I ended up winning so hard on later global timers as well that got savings none of the team was ever expecting in that level.

Watch those upward shifts near the huge red blowing monsters, the game doesn't give a shit about how far your sprite is shifted, it just makes you catch the stick and forces your depth coordinate back to perfectly legit. So you can scroll the screen higher and spawn things sooner and get no consequences.

The hardest part was probably that freaking cloud that you have to hit 7 times while bouncing off the shitty spring that changes your pattern in a way that you can't reach the cloud anymore.

I used some new approach on the Dark Queen. The strat is to stop running around the screen and just make her fall down more consistently.

Alyosha's Comments

Wow it's done! Big thanks to feos for putting in some serious work optimizing this run. I kind of feel like I annoyed him into action with my un-optimized WIPs, but hey the run got finished so I'm happy. 8D I'd also like to thank Samsara and ArandomgameTASer for originally agreeing to team up with me on this. The formal team didn't last very long, but if they hadn't originally agreed to help me I probably would never have even started.

While feos found most of the new tricks and did most of the optimization, I did find some things that helped. Level 2 features some new lag reductions on the venus fly trap enemies. In the ice level some frames were saved with a new strategy of clipping starting the L+R way earlier in the level. In level 5 running off of the surf board is a bit faster then jumping. But probably the most significant new things I found is actually in the snake level. I noticed that you can shorten the snakes by scrolling the screen at particular times. This strange behavior might need some more research, it does same some frames though. After that it's pretty much all feos. I think my biggest contribution was just giving the development of this run a head start. Sometimes just starting can seem the most daunting, but I'm surprised how quickly it came together in the end.

Ultimately I'm really happy to have worked on this run even though I couldn't match feos' expertise. Battletoads is one the games where I consider having modern runs to be pretty important, and things have come a long way in 10+ years. I hope everyone enjoys the run!

Samsara's Comments

Honestly I feel a little weird being part of the final product, since all of my contributions to this run were in the first level and then Things Got Crazy for me after that so I had to formally drop, but like Alyosha said I'm glad that the run still got finished and that I had a tiny bit to do with it... Even if, yeah, my main contribution to the run was agreeing to start it in the first place. Huge props to feos for picking up, deeply optimizing, and finishing the run, as well as being a constant source of critique and advice even from the very beginning.

This was probably mentioned before, but this was actually supposed to be a "secondary" run for the original team: Our initial plan was to improve 2player warpless, but we figured we could use the knowledge from doing that run and improve 1player as well, so we were technically working on both at the same time. We have a WIP for 2player, maybe that'll be next... and perhaps my personal life has slowed down enough to allow me to actually work on that run a little more if someone else is up for it.

But I wouldn't trust me if I were you.


Note to publisher

I want to have an HD encode hosted on my youtube channel. Don't want to pay to the thieves.

Nach: Judging.

feos: random appeared to never have touched this branch.

Samsara: File replaced with a 2 frame improvement.

Nach: It's been a while since we had one of these, and I can say it did not disappoint, very nice improvement (it skipped part of my favorite level though ☹). Great feedback too, accepting as improvement to existing run.

Fog: Processing...

Similar submissions (by title and categories where applicable):