Submission #9018: The8bitbeast's SMS Zillion in 15:12.02

Sega Master System
baseline
(Submitted: Akai Koudan Zillion (J) (V1.0) [!].sms Japan)
Bizhawk 2.9
54651
59.9227510135505
25928
PowerOn
Submitted by The8bitbeast on 4/19/2024 1:09 PM
Submission Comments
This is a TAS of Zillion for the Master System, beating the game as fast as possible in 15:12.024 TAS timing. This is a different branch compared to the current published “Good Ending” run. This TAS does not get the other two characters needed for the good ending and it also uses a few glitches to save time over the published run. The invincibility glitch was known at the time of the Good Ending TAS but was avoided for stylistic reasons. I have used the invincibility glitch in this TAS as this is pure any% and I wanted to beat the game as fast as possible.
Note: I’ve made a video here talking through what the game is, along with the tech used in both RTA and this TAS: https://youtu.be/Q3ABT3OZiTQ

Useful RAM values

Glitches

Invincibility Glitch

This is done by dying at the same time you move down a screen using an elevator. After this glitch is triggered, you can no longer take damage or pause, although the pausing doesn’t negatively affect the run at all. There is another way to do the glitch, by having a guard overlap the computer, then entering the death code, however this can’t be done until later into the run and is slower. Invincibility doesn’t save much time, apart from a few little movement improvements to avoid slowing down to avoid obstacles. In setting up the glitch, I take damage off the guard. Otherwise you end up with 4hp left off the electricity beam, which is slow. The hit to align the health needs to be a guard hit as bullet only does 3 damage.

Lift Skip

At roughly frame 23000 I do a lift skip. This involves getting the lift higher than usual and falling under it, rather than taking the lift down as intended. Falling is faster than taking the lift down, which is why this saves time (but some time is needed to do the setup to get under the lift). By jumping while on the lift, the lift can slightly rise up. The exact amount it rises by depends on the spacing of your jumps, but it usually rises by 2 Y-units each time. The lift starts at 0x98, then I press up to get it to its max height of 0x96, then I jump once to get it to 0x94, then again to 0x92. I pick the jump heights that give the quickest landing (by bonking the roof) while still getting the lift to move up by the two y-units each time. 0x94 was too low to squeeze under the lift, so I had to raise it to 0x92. This means I get the skip in 2 jumps, like the previous TAS. Compared to taking the lift normally, this lift skip saves 155 frames. It was only worth it on this very long vertical lift, as the setup time takes a while, so you need a lot of falling for it to pay off.
I attempted a lift skip right at the start of the escape but it was 9 frames slower than riding the lift down normally. Interestingly, by rising the lift continuously, you can nearly get stuck in a roof. If we ever find an out of bounds glitch in this game, it’s likely that it would be related to the lift pushing you into the roof. Unfortunately, after trying to hack myself into the roof, you don’t get free movement once OOB, meaning that this wouldn’t be useful even if the lift could push you OOB into the roof.

Wall Clipping

When riding an elevator between rooms, you can move slightly to the left or right while still riding up. If there happens to be a wall next to you and you move far enough into it, you can clip through. This is useful during the escape in both RTA and TAS when traveling up through the leftmost red rooms, but also makes another appearance in this TAS at around frame 35000 to skip some small extra navigation. There are a few extra places you can do it, but no other useful ones. It should work wherever an elevator is right next to a wall, both right and left.

Destroying walls and bosses

Near the start of the game, you need to destroy a wall to reach a hidden area. The wall takes 8 shots to destroy, but if you have the right spacing away from the wall you can make each shot do double damage, meaning you need 4 shots total. This saves time over the published TAS.
Interestingly, the final boss in the game follows the same mechanics and same RAM address for health as destroying a wall. I land some shots at the start of the fight which deal 6 damage rather than 3 with the spacing, and proceed to mash shots into the boss after that to beat it in one cycle.

Codes

The main loop of the game is entering the 4 digit codes in the rooms. These are determined when you enter the room and are extremely random. It depends on your inputs leading up to the room along with which frame you entered the room on. Usually in RTA, you need to break capsules to find out what the code is, but in TAS you can just find the codes in RAM (0x01F0-0x01F3) and enter them straight away.
It is optimal to have your codes being the rightmost numbers – 7890. This is because you have to scroll to the right to hit enter after entering the last letter of your code, and you’ll be closer if you didn’t have to go left any farther than needed. While the codes can be manipulated, there are some strict limits if you want to do it without losing time, so for that reason, I settled for a minimum number of 6 (one off the potential optimal code). This means I can accept any codes with the numbers 6, 7, 8, 9, 0, opening up many more possibilities. The published good ending TAS sets thje minimum code to 5, which loses time over this TAS.
To manipulate codes you can change your movement or delay coming into the room. It only changed the RNG if your button press actually affected the movement (e.g. firing a shot while in the air). A really consistent place to manipulate RNG is at the end of the computer screen on the previous room. After hitting enter, the machine spits out the card and you can press a button to skip the cutscene. Once this button is pressed, any other presses on the 1 or 2 button will continue to change RNG. I can alternate between pressing 1 or 2 in different amounts to try a bunch of different RNG patterns. However, there seems to be a limited pool of possibilities without actually delaying going into the next room, which is why it would be slower to try for a min code number of 7 in every room, since you would lose too many frames to manipulating the outcome.

Movement Techniques

Jumping

On the frame you leave the ground for a jump, you get boosted in the direction you’re holding. This can be left, right or neutral. On subsequent frames, you have control over the movement still, but to a much smaller extent than the initial frame. You can use that initial frame to jump backwards for a bit of fun.
When landing from a jump you sometimes get slowdown. This appears to happen if you’re moving too fast downwards, so a good way to avoid this is to just jump only as high as you just need to reach each platform and not overshoot the height.

Slow Fall

Frame perfectly off an edge you can press the 1 button to charge up a jump. This doesn’t make you jump but instead slows your falling speed to allow you to fall over gaps that you cant normally get across. E.g. Conveyor belts with small laser gaps and the room at 21000.

Getting past enemies and Mines

Manipulating enemies can be done by firing at different times. Sometimes they are about to hit me, but by stopping movement for a frame or two you can usually manipulate them to fire later. I jump over the mines, which saves a couple of frames over damage boosting through them. Later on in the game, you can destroy mines with your upgraded shot. But at this point, I have invincibility, so I don’t need to worry about this.

Language

The language for the game is determined by the Master System console rather than the game ROM itself. I used Japanese because it was used in the published run and also because it saves a bit of time on text at the start of the game.

Level up Info

Level ups can be found by collecting the “opa opa” powerups throughout the map. Opa Opa is the main character from Fantasy Zone – a cool Sega reference. Levelling up increases your health, defence, jump height and movement speed, as well as giving you a full health restore. The main reason I level up is for the movement speed, as outlined in the table below. Note that I don’t reach the last level as that doesn’t actually make you move faster.
LevelMove Speed
00 – 11.5
01 – 21.5
02 – 31.5
03 – 41.5
04 – 51.72
05 – 61.72
06 – 72
07 – 82

InfoTeddy: Claiming for judging.
InfoTeddy: Nice effort. Accepting to Standard as baseline goal.

despoa: Processing...
Last Edited by despoa on 5/3/2024 10:53 AM
Page History Latest diff List referrers