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

Submission #2469: Randil's NES Kid Icarus in 22:17.38

Console: Nintendo Entertainment System
Game name: Kid Icarus
Game version: USA/Europe
ROM filename: Kid Icarus (UE).nes
Emulator: (unknown)
Movie length: 22:17.38
FrameCount: 80375
Re-record count: 39794
Author's real name: Johan Södling
Author's nickname: Randil
Submitter: Randil
Submitted at: 2009-11-25 19:59:59
Text last edited at: 2010-05-17 05:27:20
Text last edited by: Randil
Download: Download (14150 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:
This is a 22.65 second, 1359 frames, improvement over the published run of this game. The improvement comes from a pause trick to manipulate the speed of platforms, buying a health drink in level 2-4, more damage boosting, and more stuff. See individual level comments for details.

About the game

In this platformer, you play as Pit, an angel equipped with bow and arrow, whose goal is to make his way through 13 levels filled with dangerous monsters. It has the basic elements of a platformer - you can run around, jump, and fire your arrow. There are 4 worlds, with 4 levels in the first 3 worlds, and 1 in the last. The last level of the first 3 worlds is a dungeon-like level, where your goal is to kill the boss.

You can upgrade your arrow in certain rooms once you've collected 10 000 skill. Skill is gathered by killing enemies and picking up hearts. You lose skill when firing arrows and taking damage. For each upgrade, your arrows deal 1 more point of damage.

There is also a score system in this game, which is pretty basic - killing enemies gives you score, and bosses give you a lot of score.

Pit also has a health bar in the top left corner. When that bar drains out, you obviously die. Health can be refilled by finding or buying a health drink.

General strategy and tricks

One crucial part of TASing this game is optimizing jumps. In particular, jumps where I both need to move upwards and change direction, such as the jump around frame 245, are very common. The thumb rule here is that $0014 should be 0 when you make the jump - this way, you will turn around as fast as possible. You obviously also want to make sure you don't bump in to the wall if it can be avoided - $001C can be used to monitor your X speed. But in general, it's just trial and error with most jumps - try different techniques and find out which is the fastest.

You want to avoid killing enemies, as these give you score, and score is counted down at the end of each level. 100 score takes 1 frame to count down, so it's not a disaster if you have to kill an enemey somewhere, but overall you want to avoid it.

Picking up hearts don't give you any score, they only give you skill, and skill does not waste any time to collect.

Every time the RAM address for your X or Y pixel ($0723 and $0720 respectively) go from 255 to 0, the game will always lag for 1-2 frames. This is unavoidable, but you should be aware of this so you don't mistake this lag for "normal" lag, which can also appear in this game.

Another thing that can be exploited is that Pit can have his feet inside the ground if you land with the right Y speed after a jump. You can sometimes notice how Pit's feet seem to be a few pixels inside the ground, and this is also the case. This can have an effect on when to time jumps and such, but it usually makes no difference.

Damage boosting

I think this is slightly overlooked in the published run, but its potential shows in this run. Most enemies will give you a slight push to the left if you take a hit from them. To be exact, you get pushed 5 pixels to the left when you take a hit, and compare that to your normal 1 pixel/frame speed, you see that it saves 4 frames each time it is used. Some enemies give you a 5 pixel push to the right, but this is more rare. Health management has been improved quite a lot in this run in order to optimize damage boosting. Damage boosting isn't a huge timesaver, but it still saved around 1-2 seconds in total.

Luck manipulation

I don't know why the published run isn't tagged with "Manipulates luck", because there's a lot of luck manipulation to do in this game. If/when/where enemies appear can sometimes be manipulated, platform movements can at times be manipulated, how enemies move can be manipulated, etc. All these things can be manipulated to some extent, sometimes it's possible to avoid an enemy from appearing, but it obviously don't work with all enemies. And even if it does work, it might waste time to manipulate luck to make it happen. But there's still a whole lot of luck manipulation going in both this run and the published run.

Platform trick

I found this by accident, and I'm still amazed that it actually worked. The core of the trick is quite simple - by pausing and unpausing in the way I do (pause when $0014 is even, wait 5 frames, unpause, repeat) platforms will move slower relative to Pit. This has to do with that platforms move when $0014 is even and the game isn't paused, and by pausing in the pattern I do, the platforms only move every 3 unpaused frames compared to the normal 2.

Rapid firing trick

Found by Celeri. By ducking after firing an arrow, you can fire again instantly. However, you can only have 2 arrows on screen at any time, so you're still somewhat restricted.

Level 1-4 shortcut

Found by Kyrsimys. In many types of walls, you can move inside them and get a foothold by jumping at them at the right speed and angle (it's not very hard to do, many of you have probably done this on console on accident). By doing this in level 1-4 (around frame 18100) you can move across a room that you're normally not supposed to be able to.

Level 2-3 platform trick

Found by Sleepz. This trick has been present in all Kid Icarus TASes. By making the platform appear at the very edge of the screen, the right half of the platform will appear on the left side of the screen. If you jump up on the platform on the left side of the screen and ride it until it gets below ground level, the boundary that stops you from moving outside the screen to the left disappears, and you move to the very right of the screen (your X pixel is decreased when it is 0, so it goes to 255, which is the right side of the screen).

0 health death trick

Found by Kyrsimys, but is used in a different way in this run. The core of the trick is that, when you have 1 health left, if you enter a door or finish a boss fight at the same time as you take damage, you will still beat the level, but you'll start the next level with 0 health. If you take 1 damage when you have 0 health, you will get full health again.

Individual level comments:

1-1: 81 frames faster. Not much to say here. I optimized movements, damage boosted, and killed less enemies to save time.

1-2: 299 frames faster. I collect skill faster than the published run (I need 10 000 skill to upgrade arrows here), and do some damage boosting as well. I heal up all the health I lost by picking up a health drink too. The platform around frame 7400 can't be manipulated to go the other way, so I have to wait for it.

1-3: 68 frames faster. I have to wait several frames around frame 12640 in order to manipulate the platform above to move to the right. Besides this, there's not much to say about this level. I have to wait several frames around frame 12640 in order to manipulate the platform above to move to the right. Besides this, there's not much to say about this level, optimized movements and such account for the time saved.

1-4: 16 frames faster. Not many changes here. The boss is killed slightly faster.

2-1: 13 frames faster. Just like the published run, I collect skill here to upgrade my arrows. I collect score a bit faster (by picking up more hearts). I also pick up a health drink here to get full health again. The "Power Up" I get at the score count down means that my max health increased.

2-2: 32 frames slower. I collect several hearts here to be able to buy a health drink on level 2-4, therefor I lose some frames on this level.

2-3: 9 frames faster. I collect the remaining hearts on this level (I need 210 at the start of 2-4 to buy the health drink). I also do a damage boost around frame 39065. The enemy I kill around frame 43110 have to be killed (he can't be manipulated out of my way).

2-4: 268 frames faster. Changing weapon to the hammer manipulates the behaviour of the enemies, therefor you'll see me switch to the hammer in a few rooms throughout the run. I buy a health drink on this level, which allows me to take a lot more damage throughout this level, saving a lot of time. The enemy I kill takes longer to manipulate out of the way (I tried all I could to get the same luck as the published run here, but it's not possible without wasting at least 5 frames before entering the room) than the time added by killing him. The boss is killed faster because I could afford to take a hit on him. I also use the 0 health trick here, but in another way than in the published run - by getting hit by the lava right before the level ends, I carry on to the next level with 0 health. Doing the 0 health trick this way does not waste any time.

3-1: 123 frames faster. The platform pause trick is pulled off here to be able to make a jump that normally isn't possible (this saved around 90 frames). Other than that, small improvements here and there.

3-2: 149 frames faster. Not much to say here, I don't have to wait for the enemies to hit me at the end of the level.

3-3: 162 frames faster. I reach the platforms fast enough to avoid having to wait for them, as the published run does. The enemies at the end of the level spawn sooner, forcing me to kill 2 of them (this can't be avoided).

3-4: 128 frames faster. I kill the boss a lot faster than the published run.

4-1: 75 frames faster. It's hard to do entertaining stuff on this level because you move so slowly. Anways, the boss is killed a bit faster.

That's it. I hope you enjoy the run!

cpadolf: Accepting as an improvement to the published run

Similar submissions (by title and categories where applicable):