Submission #6761: aiqiyou's NES Ufouria: The Saga in 23:41.98

Console Nintendo Entertainment System Emulator FCEUX 2.2.3
Game Version Europe Frame Count 71109
ROM Filename U-four-ia - The Saga (E) [!] Frame Rate 50.0069789081886
Branch Rerecord Count 57216
Unknown Authors aiqiyou
Game Ufouria: The Saga
Submitted by aiqiyou on 5/24/2020 5:38:53 AM

Submission Comments


This TAS has improved 531 frames on the basis of the published videos. In the final boss battle, in order to achieve faster in-game time, aglar's TAS input 7 more frames. In my TAS, I reduce this 7 frames operations to achieve faster input time, but in-game time becomes longer. So the actual improvement is only 531-7=524 frames. The details are as follows:


1.Global time control

Most of the enemy's actions in the game are related to the global time, and the frame rules of each boss battle are also controlled by the global time. In the game, you can control the global time through the spring, changing person and switching maps. The memory value of global time is always odd in the lags process of changing person and switching the continuous of map screen and being spring up. If the global time is odd at these times, the memory address will remain unchanged; if the global time is even, the memory address that controls the global time will continue to run for one frame, becoming odd. The global time will be fixed to an even number after the dialogue is dismissed before the fight with friends begins. These techniques can effectively control the global time and reduce the number of frames lost due to frame rules.

2. Frame rule

In the fight to save the other three friends, there are eight frame rules; in the fight with other boss, there are four frame rules. Frame rules affect the character's moveable time after the end of the fight. When I first ended the fight with Gil, because the frame rule slowed me by 5 frames, then I compared my WIP with agrar's TAS, and found that the difference between the actual number of frames improved minus lags was not equal to the difference between the global time, so I suspected that some factors affected the change of the global time, and finally found the skills to control it. This means that each segment of this TAS needs to be done twice. The fastest speed is determined for the first time. After winning the boss fight, the frame rules are checked, and then reworked for a while to control the global time to make up for the loss caused by the frame rules. When Gil uses the bomb, the power storage process (keep B key pressed) always ends when the global time is even. At the end of the power storage process, release the B key and press the B key again to spit out the bomb. The explosion time after spitting out the bomb is a fixed value, which is not affected by the frame rule. Release and then press the B key should interval one frame at least, so the fastest global time to spit out the bomb is even. In the process of continuous brick blasting, if the global time is even when the first bomb is spat out , then the global time will be odd when the next bomb is started to store power, so that one frame will be wasted in the second power storage process because of the frame rule. Therefore, when using the bomb for the first time, continue to move forward to approach the brick after the storage is completed at a far place, and spit out the bomb when the global time is odd, which can save one frame for the next storage. At the same time, in the subsequent continuous bombing, the bomb can be deliberately spit out one frame later, which does not affect the next storage time, but it can be used to control different explosion time to obtain different lag values.

3. Lag control

The continuous lags of changing person and switching map screen is not fixed. The continuous lags is generally 7 or 8 frames, and the lags of changing person in boss room may be more. The length of the continuous lag can be controlled by controlling whether to kill the enemy or not, by killing the falling objects behind the enemy, and by changing the position of changing person. The total number of character changes in this TAS is the same as that in Agrar's TAS, but in the end, my TAS is 13 lags less.

4. Down + jump

Hold down the down key and the jump key at the same frame, and the character will jump in a creeping position. Using this technique, you can generate a landing decision on the wall on the right side of the character and perform a wall jump. When jumping to a platform with a relatively close horizontal distance, use down + jump to make the character jump to a height slightly lower than the platform, and then press and hold the forward key to be squeezed onto the platform when the character falls. Compared with the common jump, it can land on the platform 2 frames in advance and provide the initial speed of 16 for the next jump. Using down + jump will affect the horizontal speed value, so when the horizontal distance is far, down + jump will waste time.



First continue:

Used the new wall jump to get a lot of improvement. After being bounced by the first spring, the character in Agrar's TAS is bounced three pixels to the left by the wall, while I keep these three pixels in my TAS. A new route was used in the tree scene. In the fight with Freeon, two pauses are used, the first one prevents Freeon from turning and the second one prevents Freeon from jumping. When Freeon is last hit, if Freeon's position is in the air, it will extend customs clearance time. Fortunately, after using two pauses, the frame rule is just met. In the battle with boss, I used wall jump with the help of the wall on the right to step on the boss at the high point, which can save once up and down cycle of the boss. I can kill the boss faster, but this will make the character position to the right, so I have to walk to the left of the boss room at a maximum speed of 1.5 pixels per frame after killing the boss. So I killed the first form of boss deliberately later, and let it walk a little more distance at the speed of 2 pixels per frame, which is faster.

Second continue:

Some details have been optimized and a few improvements have been made in the process. Save 1 frame when stepping on boulders. Flying saucer boss saved 2 frames.

Third continue:

In the tree scene, Gil is used to pass through a narrow gap. In the underwater boss war, I got a bigger X coordinate after the boss died, which made me get props two frames in advance.

Fourth continue:

The details have been improved a little. The fighting against the armored cat is less fortunate, with more lags.

Fifth continue:

When the bricks are blasted before entering the light off area, the position of the mouth enemy is controlled by controlling the time of holding the screen, so as to ensure the first time to kill it after blasting. Better control of lag and get some improvement.

Sixth continue:

Actually I didn’t get any improvement here. I removed 7 frame operations to achieve faster input time, but in game time got longer.

Special thanks:

Aglar, zyr2288, klmz, mzscla. Aglar's TAS has helped me a lot. Many places have been done impeccably. I admire many places, which makes my TAS easier to do. Zyr2288 helped me to analyze the speed mechanism, also thanks to klmz and mzscla for their support and help.


There doesn't seem to be a particularly good screenshot. I prefer frame 50254, but it doesn't look good either. I want to refer to other people's choices.

本TAS在已经发布的视频基础上提升了531帧,Aglar的作品在最终BOSS的战斗中,为了达到更快的in-game time,多输入了7帧操作。而我在TAS中减少了7帧操作,来达到更快的input time,但是in-game time变得更长。所以本次TAS实际的提升只有531-7=524帧。具体如下:





在拯救其他三位小伙伴的战斗中,有8帧规则;在与其他BOSS的战斗中,有4帧规则。帧规则影响战斗结束后角色可移动时间。我在第一次结束与Gil的战斗时,因为帧规则让我慢了5帧,然后我用我的WIP和Aglar的TAS作比较,发现实际提升的帧数减去lag的差值并不等于全局时间的差值,所以我怀疑某种因素影响了全局时间的变化,最终发现了控制全局时间的技巧。这也就意味着这个TAS的每一段都要做两遍,第一遍确定最快速度,在赢得BOSS战之后检查帧规则,然后往前返工一段,重新控制全局时间,把帧规则的影响降到最低。 Gil在使用炸弹时,蓄力过程(要一直按住B键)总是在全局时间为偶数时结束。蓄力过程结束后,松开B按键后再按一次B键吐出炸弹,吐出炸弹后的爆炸时间为定值,不受帧规则影响。松开然后再按下B键中间要间隔至少一帧,所以最快的吐出炸弹时也是全局时间为偶数。在连续炸开砖块的过程中,如果第一次吐出炸弹时全局时间为偶数,那么下一次开始蓄力炸弹时全局时间将会是奇数,这样就会在第二次蓄力过程因为帧规则浪费一帧。所以,在第一次使用炸弹时,在较远的地方蓄力完成后继续往前走接近砖块,在全局时间为奇数时吐出炸弹,这样可以为下一次蓄力节约一帧。同时,在后面的连续轰炸中,可以故意晚一帧吐出炸弹,这样不影响下一次蓄力时间,但是可以借此来控制不同的爆炸时机以获得不同的lag值。


换人和切换地图画面的连续lag并不是固定的,连续lag一般为7帧或者8帧,在BOSS 房间内换人lag可能会更多。可以通过控制是否杀敌,杀敌后掉落物品以及换人位置等方式控制连续lag的长度。本次TAS中的总换人次数和Aglar的TAS一样,但是最终我的TAS少了13帧lag。
















这一段其实是0提升。我删除了7帧操作来达到更快的input time,但是in-game time变长了。


Aglar, zyr2288, klmz, mzscla. Aglar的TAS给我提供了极大的帮助,许多地方都做得无可挑剔,很多地方令我感到佩服,这也使得我的TAS做起来更简单。zyr2288帮助我解析了速度机制,同时也要感谢klmz和mzscla对我的支持与帮助。

Replaced the file with 1 frame quick. Advance the jump of frame 60546 in the previous file to obtain 1 frame quick.

feos: Judging...
feos: Replacing with a 1-frame improvement linked above.
fsvgm777: Processing.

Last Edited by on 1/1/2022 6:13 PM
Page History Latest diff List Referrers