This is a 1322 frames, or 22.03 seconds, improvement over the published run
. Most of the improvements come from keeping the airplane through the entire last two flying levels, using a stronger form to kill the last boss and avoiding the "shortcut" bag in 6-1. I also reduced lag and optimized movement through the entire run.
Felix the cat is a simple platformer. The goal in each level is to reach the end of the level before the time runs out, and without getting killed along the way. Felix dies when he touches an enemy or falls into a hole. He can jump, duck, and also attack. You can also pick up cat-coins in the game, just like coins in Super Mario Bros.
Every 5:th, 15:th, 25:th, etc., coin you pick up will turn into three milkbottles. These will give you some extra points, as well as restore hearts if you have transformed. Every 10:th coin you pick up, will turn into a heart. If you pick up this heart, you will transform. Each new transformation has a better attack power than the previous.
Besides normal "land-levels", there are also some water levels, boat levels, flying levels and a space level in this game.
Improvements over the published run
This run was entirely made with a Lua script that kept track of my current pixel and subpixel positions, and compared this to what position I should be at, given that I'm moving at top speed. This means that whenever I lost or gained any subpixels at all, be it to lag or something else, the script would let me know. This way it was easy to reduce lag and get maximum boosts from platforms, as well as making sure I never bump into something.
Besides these minor improvements, there are some visible changes in this run. One major difference is that I keep the airplane form through the entire level 2-1. Although this makes me lose some frames at the score countdown, due to having a few hearts, the higher speed of the airplane makes up for it. Also, by ending this level with the airplane, I start with the airplane in the next flying level! This saves a lot of time, and I make sure to end all flying levels in the airplane form is there if another such level is coming up.
I also often chose different coins to pick up compared to the published run, either to reduce lag or to get a better coin to give me the transformation heart. On level 1-3 for example, I chose a better coin to give me the transformation heart.
The raft levels need some explanation. Normally when you enter the water you slow down a bit. If you fall into the water at the right angle, you won't slow down at all. By trial-and-error, I managed to save a lot of frames by making sure that I don't lose any speed when jumping on the water. Although the speed loss is very small, all those small savings add up.
I skip the "shortcut" bag in level 6-1 used in the published run, since it's actually about 1.5 seconds slower than walking right by it.
I end level 9-2 in the second form, making the score countdown a bit longer. This is intentional, because by doing this I can get the strongest transformation for the last boss, allowing me to kill him in two less hits, saving about 3 seconds.
You can actually become invulnerable to enemy attacks if you attack right before you're about to get hit. This doesn't save any time, but is quite a nice trick. This is why I sometimes attack without hitting anything - if I didn't attack, I would get hit and die. This trick is present in the published run.
Another small quirk in this game is that many objects that you can move on, for example birds and snowballs, that are moving in your opposite direction, won't slow you down when you run on them. This is to compare to normal platforms, which would slow you down if they were moving in your opposite direction.
Some notes on boss fights: All bosses except the last one has 41 HP. Your first form deals 5 damage, the second 6, third 7, and your final form 8. I usually kill a HP boss in 7 hits (6 hits in form 2 = 36 damage, then a hit in your normal form, = 41 damage), and the only way to kill them in 6 hits is to use the fourth form. Getting the fourth form before a 41 HP boss wastes more time than the 91 frames saved by one less hit. The last boss has 100 HP, which allows me to kill him in two less hits with the strongest form, making it worth the extra time to get it.
It was fun to make this TAS, in particular since it was one of the first games I TASed. I enjoyed competing with myself, seeing how much lua-scripts and much more RAM viewing would help out, and how/if my TASing skills have improved. There is still some lag left in this run that I could not get rid of, no matter what I tried. This leaves a door open for potential improvements to this run, so I'm eager to see what the future holds. In any case, I hope you enjoy this end result.