First WIP. Remind me Super Spy Hunter, but not so variable. Fast and interesting more upside of screen strategy.
Are you tried all running movement at 2-1 now?
Long-long time ago I asked Sonikkustar about ducking and he said that not ducking is faster. DR is only looks like positive in velocity.
Now I am doing 2-1-3. I saved 5 frames at 2-1-1, and 4 frames at 2-1-2. And probably I will be able to save more than 10 frames at 2-1-3, but now I am struggling with subpixels.
I found some useful facts:
* Subpixels do not consider sign. I think this is the reason why your position is not calculated as expected when you go leftward or upward.
* You can jump 5 pixels higher than usual when you press <select+A>. It increases initial y-speed. I call it "high-jump".
* You can change your weapon with <select> while screen transition, and it often affects the amount of lags before the next screen starts.
* If you attack at the moment you touch ladders, your velocity is remained for a while. This technique is already used in the current run (for example, 6-2-1 and 7-2-1).
Still I have not confirmed that ducking affects your speed, but the mechanics of this game is strange (for example, sometimes you perform high-jump even if you press <select> 1 or 2 frames before you press <A>). So, it would not be surprising even if ducking may sometimes affect your speed.
EDIT: I tried hex-editing to do ducking run for a while at the beginning of 2-1-1, then my movie desynced at the beginning of 2-1-3. So, even if ducking does not affect your position or velocity, it still may change the entire result.
As you might notice in casual plays, some kind of enemies occasionally vanish. In 2-1-3, a crawling man on the last conveyer may vanish. If you can cause this thing without large loss, it can lead to some improvement. But still I cannot find the way to do it...
I finished 2-2 and saved 80 frames from the current run.
Link to video
I am not satisfied with 2-1-3, but enemies on the last conveyor are solid bottleneck. If you could smoothly fall down to the last conveyor with a knockback, you will achieve a bit more improvement. But I could not do it.
I glanced at the RNG code. This game has a random number table, and $94 is the index. $94 increments on every NMI interrupt and every call to RNG routine ($E9A0).
I wasted 2 frames to manipulate the action of 2-2 boss. $94 is basically frame counter, and the RNG routine is never called in 2-1. So it will be difficult to manipulate $94 directly.
But, sometimes 2-2 boss throws an iron frame at a different timing, depending on your previous action. So, it may be possible to manipulate it without any loss. But I could not do it.
Note that $94 increments even while the game is paused. (it may not be so useful...)
I am doing 3-1-1, but I am in trouble with manipulating purple enemies.
After the movie above finished, the left purple enemy goes right and chases the hero. This will increase lags. On the other hand, the current run successfully let the enemy go left. Now I have no idea what controls this thing.
I examined the code and found that $F6C0 determines the action of the enemy based on the distance between the hero and the enemy. But, in my wip, the enemy is spawned quite earlier than the current run. I still can not find how to manipulate the timing of enemy-spawning...
I managed to resolve the purple enemy issue. It seems to be related to the timing you kill the first dog. If you kill the dog too early or too late, the purple enemy will be spawned early.
Now I still do not know the mechanism behind it. But I noticed that the dog and the purple enemy have the same index in object list, and it might be the cause of this curious relationship. I might investigate further.
X-subpixels of objects seems to be related to the timing other enemies are spawned afterward. I dumped RAMs of some movies and compared them, and I found that I get different results when I change x-subpixels with cheat.
I finished 3-2 and saved 137 frames from the current run.
In 3-2 boss fighting, at first I tried applying the input of the current run, but it desynced for some reason. But anyway I managed to save 4 frames at 3-2.
I still did not use the wallzipping. Probably I will start to use it at 5-1 or later.
Yes, and I also tried using a dog under the platform. But they did not contribute to save time. They are almost equal with my route, but a little slow according to my test.
I also tried using a bullet shot by an enemy in front of the platform, but I could not reach the platform.
I finished 5-3, and saved 535 frames from the current run in total.
Link to video5-1-1 (-58f)
I used the wallzipping twice. But I had trouble managing lags.
I took a shortcut with high-jump, though logs do not work as expected.
Mainly lag reduction.
Sometimes you had better not kill enemies. When the screen is filled with enemies, some succeeding enemies do not appear.
Lag management is getting harder, so I will not stick to strict optimization.
Mainly lag reduction.
You can deal 3 damage with a high-jump.
I was derusting this game and trying a few of the tas zips in TaoTao's video. For the Stage 9-2 one I am able to zip into the wall after getting boosted off the enemy, but I am not zipping out of bounds like the tas.
At first I was just getting kicked out instantly until I figured out holding up+left will keep me in the wall until I get damaged again. After that the game decides to eject me out of the wall granted with more distance then if I just held down+left.
I was hoping if TaoTao was still around or if anyone else that is interested could tell me what inputs are being done during this zip so I could see whether this is humanly possible to pull off. I would greatly appreciate it.
Here is a vod of my best attempt at doing it so far.
I tweaked the TAS movie and made a movie. It seems that you have to wait until the hero reaches high enough, pressing only Left. And, if you press Left+Down with an appropriate timing, you will be able to zip out of bounds. In this movie, you can make it by pressing Down between frame 32141 and frame 32149 (the window is 9 frames).
Note: in this movie, I used a normal jump. I think high-jumps are not so feasible in RTA.
By the way, I used a high-jump at this scene in the TAS movie, but I had to press Down at just one frame window. So, a normal jump might make things easier at this scene.
If you want to research further, I recommend to use FCEUX built-in TAS Editor. It is a very powerful tool. And, a HUD script might help you to see internal values (subpixel, etc).
Awesome thanks for the reply, TaoTao. Interesting that you need to hit and hold just down in a certain frame window to get the zip properly. Well now I know what I need to do; hopefully it won't be too hard. Thanks again man.
So I finally got a run in with that tas zip and I figured I would share it for people that are interested. Thanks again for the tips, TaoTao. Without those no way I would've figured out the proper inputs to pull it off.
As you may know, a new wallzip glitch is found by Poahr.
I want to improve the current publication, but I'm not sure if I can do it soon since this game is somewhat heavy.
For now, I put a WIP of 5-1-A (uses the stage select cheat). This is faster than the current publication by 280 frames or so.
And, I improved 1 frame in 2-1-A.
(If you are planning to TAS this game, use freely my WIPs if useful. I don't care about authorship of my userfiles)
I improved driving stages. Here are the WIPs:
* 1-1 (improved about 68 frames)
* 10-1 (improved about 19 frames)
In 1-1, I used a better boss fighting strategy. This is thanks to NESexpert's advice.
But I'm not sure why this strategy saves time. Anyway, the game seems to start converting time to score earlier.
EDIT: I understand the reason. When you take a damage just before you beat a boss, scrolling slows down and finishes earlier.
I also want to apply this strategy to 10-1, but I don't know it is possible. Because the hitbox of the 10-1 boss is very small.
EDIT (2023/02/12): I improved 1-1 by 1 frame further. (uses only backfire, and collide the boss earlier)
But I had to wait a few frames to manipulate 2-2 boss, so this might not be useful.
I improved 2-1-C by about 25 frames.
I used the new wallzip once. And for some reason, an enemy does not appear at the last screen.
In this game, generally, some enemies occasionally disappear for unknown reasons.