Submission #6144: aiqiyou, Mzscla's NES Moai-kun in 12:57.29

Console Nintendo Entertainment System Emulator FCEUX 2.2.2
Game Version JPN Frame Count 46714
ROM Filename Moai Kun (J).nes Frame Rate 60.0988138974405
Branch Rerecord Count 127761
Unknown Authors aiqiyou, J.Y
Game Moai-kun
Submitted by aiqiyou on 11/8/2018 3:26:23 PM

Submission Comments
I and Mzscla improved Randil's TAS by 7287 frames. Mainly by means of new strategies, new skills, new glitch and efforts to save lags. The game has a total of 56 stages, and we have improved in 53 stages.

New glitch:

If we get pink friends or butt roundstones before their falling, a new pink friend or roundstone will appear. When we rescue a pink friend in the game, memory values will be subtractive, when the memory value is changed to 0, we can get in the door and pass this stage. By this glitch we can avoid traveling too many routes to rescue pink friends in many stages. And in some stages it could provide faster routes pass the stage with extra roundstones (such as stage 7,27and51). This is the key to saving a lot of time in our TAS.
The original plan for the glitch was to install a bomb underneath a pink friend or a roundstone, and rescue the pink friend or butt the roundstone as soon as the bomb exploded. Also this is the only way to get an extra roundstone. But in the actual TASing process, we found the other way to get extra pink friends, that is through the fall of other objects to delay the falling speed of the pink friends. Bricks, roundstones, bombs, and other pink friends' fall can all delay the next pink friend's fall, and then we just need to jump and hit the bricks at the foot of the pink friend, rescue it before its fall. For example, in Stage 9 we used the fall of other pink friends, in Stage 10 we used the bomb's fall, in Stage 28 we used the brick's fall, in Stage 44 we used the roundstone's fall. Here's one more point: We can only rely on the free fall of roundstones. If we butt the roundstone, it roll to the end of the platform and fall down, this will not delay the falling speed of the pink friends. In addition, at Stage 33, we used another way to made this glitch: pushing the roundstone under the pink friend and jump up before the little man fall down. In Stage 46 when two pink friends are aligned up and down, we rescue the below one first, and then jump up before the fall of the above one. We can get more bombs in all of these ways, but we don't really need too many bombs, only once at Stage 48.

New tricks:

1. Fall and tumble:

When you fall from the height, you will tumble. Whether or not you tumble is determined by the time you fall in the air. So if you can accelerate your descent, you can fall from a higher place without tumble. When you fall against a wall or brick, you jump up facing the wall first and then back to the wall at the appropriate frame. This technique is similar to inhaling the wall, but you need to move away from the wall when you are about to be inhaled. This technique allows you to drop up to 12 pixels in a frame (up to 4 pixels in a normal frame). Of course, you can also stand on the wall to let the falling memory value zero and then fall again, such as 1236 frames, which applies only to a single brick or to the top of multiple bricks connected up and down, otherwise it will be sucked inhaled in the wall.
When you are inhaled into the wall, the game determines that you are in a state of falling. That is to say, if you stay in bricks for too long, you will tumble when you come out. Of course, the memory value for recording your fall time becomes zero when it is greater than 255, so if you have to stay longer in the brick, you won't tumble by coming out at the right time.

2. L+R:

L+R is a very good skill. When you stand on the ground and press L+R, you will face left. When you press L+R in the air, you will face the right side. When we cross the wall to the left, walljumping with the left wall, and jump to the stone near us on the left, Randil's way is to jump up and press right. But we used L+R in our TAS, which saves 1 frames in many places.
In addition, when we press left + right in the air, our abscissa will remain unchanged. When we jump up with left or right,the distance between the take-off pixels and the landing pixels is always odd, no matter how many directions you press in the air. Through left + right, this value can be changed into even numbers, which also makes the accuracy of our TAS more precise. For example, the L+R at 4473 frame.

3. Head butt pixel push:

This has been used many times in the TAS of Randil, but we have extended its scope of application. When we need to cross the wall, we can jump up at a greater distance, butt the brick and then turn around, In general, you can save 2 frames per time, such as 14105 frames. When we leave the ceiling, we jump forward and turn around and butt the brick to create more displacement, which saves 2 frames at a time, such as 6357F.

4. Jump:

Each jump will save 1 frame. At the moment you take off, you move forward 2 pixels. When we are approaching the ceiling, we can press the jump. At this time, we can hear the jump, but the character will not take off, which can save one frame, such as 7284F. When you press the jump before leaving the ceiling, the character will jump one pixel higher and land a few frames later. With this technique, you can span two bricks at a time, and you need to avoid this in many places, because it will increase your time in the air, such as 3690 frame. The height of walljumping is usually one frame higher, it is same as the takeoff height before you leave the ceiling.

5. Headache:

In Randil's TAS, he mentioned this. If the we butt six bricks (including roundstones) in a maximum 192 frame period, Moai will have a headache, this makes you unable to attack within 480 frames. The timing of these 192 frames is recorded by D8 memory value. The memory value is increased by 1 points per 16 frames, and 0-11 is a cycle. When you press A or B on a particular frame, D8 memory value increases by an extra point, so the period is often less than 192 frames. In addition, pause before the D8 memory value increases will prolongs the period.
In Randil's TAS, he effectively avoided headaches. Usually when we attack in situ, we can move after 15 frames. But if we happen to have a headache when we top this brick, we can move immediately. Usually, using this technique can save us 15 frames at most. But if we encounter a lot of falling bricks or boulders, we can use headaches to jump up before their falling. This also provides us with faster routes at some stages, such as the 4th, 44th, 48th and 52nd checkpoints.

6. Attack on the ice

When we attack in situ on the ice, push down will keep the character move forward. Randil's TAS used this point, but it was not mentioned in his description.

7. Periodicity of the game:

We called 1b memory value ‘RND’. Bombs explode only when RND is a multiple of 4. Some monsters only spit bats when RND is a multiple of 8 (e.g. Stage 14). Butted roundstone only land when RND is a multiple of 4. D8 memory value only increases by 1 when RND is a multiple of 16. Of course, in addition to the D8 memory value, other situations may change by pause. We can also pause to make the game still, but it does not affect the bomb explosion and the falling of roundstones. Through this, many lags can be solved. For example, at Stage 8, I used once pause before the bomb exploded. This pause did not affect the clearance time, but it could save 1 lag in this stage.
Similar to the 21-frame rule of SMB, we can save lags by slowing down the previous stages few frames when we can't save another bomb or roundstone cycle at the stage. For example, we saved 2 lags by waiting for one frame at Stage 37, and also ensured that we could have a headache when we butt the last brick. If we did not wait for this frame, the bomb at Stage 38 would explode one frame slower. In the balance between the periodicity of the game and how to deal with lag, we spend a lot of time to minimize the lag without affecting the clearance time.

8. Push value:

When you push a roundstone, dc memory value will increase, and when this value is greater than 30, it will push the roundstone forward. In general, this value can be saved, which was also used in Randil's TAS. Preserved push values will disappear in special situations, generally when the character is still, such as walljumpings, when you stick to the wall, the push values will return to zero. When you jump up to a roundstone that is falling freely, the push value may be zero. If you press L+R+A while you jump, you can save it.

9. Attacks by enemies:

the first attack of monsters, whether swords or bats, is uncontrollable, while the remaining attacks can be avoided by operation, avoiding superfluous attacks by monsters will save lags.

Special thanks: zyr2288 and klmz.

Zyr2288 helped us to find the relationship between D7 memory and D8 memory, so that we can control headache. klmz helped us improved the 4th and 44th stages, respectively, 5F and 108F.


The screenshot suggest is in frame 43760.
Stageaiqiyou&MzsclaRandilFrame SavedTotal


卡出该BUG最初始的方案是在小人或者圆石下方安装炸弹,当炸弹爆炸的瞬间吃到小人或者顶走圆石。对于卡出双圆石来说,这是唯一的途径。但是在实际制作过程中,我们发现了其他卡双小人的办法,那就是通过其他物体的下落来延迟小人的下落速度。石块、圆石、炸弹以及其他小人的下落都会延迟下一个小人的下落,这样我们可以在起跳的同时顶碎小人脚下的石块,在其即将下落之前卡出BUG。例如:第9关我们借助其他小人的下落来卡出双小人,第10关我们利用炸弹的下落卡出双小人,第28关我们借助石块的下落卡出双小人,第44关我们利用到了圆石的下落卡出双小人。这里补充一点:圆石只有在自由下落时才可以卡出双小人,也就是我们需要炸掉或者顶碎圆石下面的砖块让圆石自由下落,如果是将圆石水平方向顶走,圆石移动到平台尽头下落,是无法卡出双小人的。另外,33关我们用到了另一种卡双小人方式:推动小人脚下的圆石,在小人下落前起跳。46关当两个小人上下排列时,我们先吃到下面的小人,在上面小人下落前起跳也可以卡出该BUG。 我们可以利用所有卡双小人的方法来获得更多的炸弹,但是实际上我们并不需要这么多炸弹,只有在48关我们使用过一次。





左右冲突键是非常好用的一个技巧。当你站在地面上按左+右时,你会面向左。当你在空中按左+右时,你会面向右。当我们向左穿墙、向左二段跳、跳上左边离我们很近的石块时,Randil的方式是起跳后按右。而我们的TAS是按左+右,这样在很多地方会节约1帧。 另外,当我们在空中按左+右时,我们的横坐标会保持不变。当我们正常起跳时,起跳像素点到落地像素点的距离总是奇数,无论你在空中按了多少方向。而通过左+右,可以让这个数值变为偶数,这也更加精确了我们TAS的精度。如4473帧的左加右。


当你顶碎一块砖,顶走一个圆石,或者顶一个不能顶碎的砖块时,你的X轴坐标会被瞬间移动到一个固定的值。这一点在Randil的TAS中多次用到,但是我们延伸了它的适用范围。当我们需要穿墙时,我们可以在更远处起跳,在空中顶一下砖块再转身,这样可以在瞬间增加最多3个像素点的位移,一般来说每次都可以节约2帧,如14105帧。 当我们离开天花板时,我们向前起跳,转身顶砖块来造成更多的位移,这样每次也可节约2帧,如6357帧。


每次跳跃都会节约1帧。当我们将要走近天花板时,我们可以按跳,这时我们会听到起跳的声音,但是角色并不会跳起来,这样也可以节约1帧,如7284F。 当你在离开天花板之前按跳跃,角色会跳的更高1个像素点,也会更晚几帧落地。通过这个技巧可以一次跨越2块砖,同时在很多地方需要避免这种情况的出现,因为这会增加你在空中的时间,如3690帧。 当你二段跳时,第二次跳跃的高度通常是要更高一帧的,与离开天花板之前起跳高度相同。













ThunderAxe31: Judging.
ThunderAxe31: Great job with the improvements! Accepting as improvement of the current publication.
feos: Pub.
feos: I searched in Google and it seems hyphens are always preferred when it comes to Japanese honorifics. Also, the rule seems to be that honorifics shouldn't be capitalized.

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