Zombies Ate My Neighbors!
One of the best SNES games, ZAMN is an extremely fun and challenging game. I decided to make a TAS of this, since I thought that doing it in single player mode would be faster than 2-player mode.
Game overview
You are in a world dominated by zombies and other monsters, and you have to save your useless neighbors.
There are a total of 55 levels including bonus levels and the credits level. I skip all the bonuses though, because this aims to beat the game as fast as possible.
You start with 10 victims to be saved at the beginning of the game, and once they are saved, you'll progress to the next level. If any of them die, they will not be present on the next level, and if all of them die, it is an insta-game-over. To compensate for this, you get an additional victim as a bonus for every 40 000 points.
During the first levels, I'll make sure only one victim remains so that I can get to the next level faster.
A note on the characters' names. Taken from the game manual:
You will play the game as one of two brave kids: Zeke or Julie. If you don't like the names Zeke and Julie, you can call them by other names: Nick and Berth, Spike and Sarah, Pat and Pat, whatever. We won't tell you what to do, but we know their names are really Zeke and Julie.
Goals:
- Uses no passwords
- Aims for fastest time
- Manipulates luck
- Takes damage to save time
This run is about 5 minutes faster than MechChicken's TAS.
Differences:
Single Player
Of course, the biggest difference is the fact that I played this on single player mode. This choice alone saves time on mostly every level summary screen. Using both players guarantees a "More Victims Saved" bonus which takes a bit of time.
Additionally, I need to worry less about speed shoes because I only need one pair instead of two each time I want to use them.
There are a few levels where it is slower to have one player, especially when the level requires a lot of bazookas being used to open up paths, because of the recoil, but this is minor.
And lastly, another disadvantage is that I don't have both players to go out of my way to open up boxes. Because of this, I am limited to the boxes that are directly on my path, although I did go a bit out of my way if the RNG sequence was good for a good drop without much wait. I tried to keep this to a minimum though.
Prioritizing Drops
The only items I took from boxes are the following:
Speed Shoes
Self explanatory, my speed doubles for ~10 seconds
Skeleton Keys
The most important item in this game. It needs to be used to open up Skeleton Doors, which cannot be blasted open by a bazooka like normal doors.
Mystery Potions
This item can have one of the following outcomes:
- Become a moster -> Basically invincible beast that can also punch. Can't use weapons or items.
- Become a ghost -> Turn blue and become invincible. Can't use weapons or items but can walk on top the water.
- Become fast -> Same as speed shoes.
- Become a zombie -> Become a zombie that walks around. In 2-player mode, the normal player can attack and even kill the zombie player.
- Become healthy -> Same as a medkit.
- Become unhealthy -> Lose half of your health.
I use them all as speed shoes of course!
Normal Keys
I took a normal key out of a box. I describe why in the level breakdown : )
Diagonal Movement
During diagonal movement, the player will move first one pixel, then two pixels in both directions, alternating between frames. Unfortunately, I only discovered this once I had done about half the game, so this is not seen in the first half.
Basically, I abuse this so that I move a bit faster while moving diagonally. This has the side effect of removing the moving animation, since the game does not change the player's sprite if a button is pressed for only one frame.
General Strategy
Routing
90% of the routing in the game was simply maximizing the number of speed shoes and skeleton keys I got from the boxes. In a normal RTA run, the player is forced to take significant detours to get the skeleton keys laying around in levels that have them.
The other 10% of the routing is ensuring I have enough keys, and also keeping my score below 40 000 to avoid the extra victim bonus. At first I thought it might be impossible to do this, but after calculating, it turns out the absolute minimum score with which it is possible to get to the last level is around 35 000. The score after the last level does not matter, since there are no more bonuses past level 47.
RNG Manipulation
First of all, big thanks to MechChicken for his couple of paragraphs on this subject on his submission.
Basically, the drop you get will change every frame, so in an ideal world, it would be simply a matter of waiting for the right frame, then opening the box, and being happy. But of course, this is not an ideal world.
The RNG gets reseeded every time it is called. As far as I've noticed, this includes opening boxes, drinking mystery potions, spawning enemies. I've even seen it change by shooting weapons, not sure why.
Killing Enemies
After beating the game, you get a summary of every enemy (excluding bosses) you've killed. It takes 6 extra frames per enemy, and there is also the fact that I needed to keep my score low, so I kept the killing to a minimum.
As an alternative, when an enemy is in the way, I can either freeze it or trap it in a bubble with the martian gun. The latter is faster and more efficient, but I don't get that weapon until later levels.
Boxes
If you see me skipping a box that is right on my way, it is because there was literally nothing useful within a short time :(
I also do take detours for a box if there is something good.
Level Breakdown
I'll only talk about the levels where there is something worth mentioning :)
Level 1: Zombie Panic
8 of the 10 victims find their demise on this level. The baby in the house seems pretty much impossible to kill, even if a zombie gets into the house and tries to get to the baby, it simply can't reach it. I also kill the last zombie to make the door spawn faster. Doors don't spawn if they don't have the space to do so :)
As a fun fact, it is possible to pickup that skeleton key during a RTA run, the only issue is to make sure to press start at the right frame, because once in the level, just pressing up+left will ensure opening the box without messing with the RNG.
Level 2: Evening Of The Undead
I move up at the beginning to change the spawning location of the zombie. Going straight spawns it far away, then I have to move all the way down to avoid the recoil, which is actually faster.
Level 6: Pyramid Of Fear
If I picked up the pandora's box, the RNG changed and I wasn't able to get the skeleton key anymore.
Level 7: Dr. Tongue's Castle Of Terror
There are three boxes near the entry of the castle that I decided to skip. This was a pretty tough decision to make so early on, but I decided to play my chances. I also took the fire extinguisher, and I seriously thought it was going to be used a significant amount (spoilers: It didn't)
Level 8: Titanic Toddler
You can completely ignore the baby if you have an skeleton key. I have to avoid the baby and lose a few frames though.
Level 10: No Assembly Required
I think it was pretty nice that I could skip the conveyor belt with a bazooka shot.
Level 12: Mars Needs Cheerleaders
Took the detour to take both shoes. I'm 99% sure it saves time overall, because extra shoes.
Level 13: Chopping Mall
A situation where the martian gun would have helped. RIP zombie.
Level 18: Squidmen Of The Deep
Turns out speed shoes are actually faster than the ghost potion.
Level 20: Invasion Of The Snakeoids
I spent a good amount of time finding a good RNG reseeding frame on the last couple of boxes, I was determined to get an skeleton key, maybe even two, but had to settle with one.
Also, I didn't initially plan to kill the snakeoid, since they give 2000 points and take a while to kill, but it gave me a good spawning pattern, and I decided that an extra skeleton key couldn't hurt. Becauase of its position though, the fight doesn't look too efficient, but if I wasn't going to kill it in one cycle, then it this is as good as it gets I think.
Level 22: Revenge Of Dr. Tongue
Another place where I tried a few different frames on the mystery potion for the RNG reseeding.
Level 25: Look Who's Shopping
From this level on, I start using the diagonal movement more efficiently.
Level 28: Mark Of The Vampire
I went for the two mystery potions because they required almost no waiting, but the skeleton key was very far off.
Level 29: Zombie House Party
In the last box, again I took a mystery potion instead of waiting 3 seconds for a skeleton key.
Level 30: The Horror Of Floor Thirteen
I move a bit up to despawn little spiders that kill the victim 100% of the time if I go straight for it. It was also at this point that I realized I was missing a key, so took the opportunity because there was nothing good around anyways. This sequence had like 6 keys in 10 frames, and I tried most of them for a good RNG reseed for the next level that definitely paid off.
Level 32: Giant Ant Farm
I had initially planned to skip the skeleton keys here, but I needed an extra one. So I was left with two options in this level. Going for the top skeleton key, or the bottom one. I tried both, and it turns out the bottom one was faster by literally 3 frames or so. I decided to go for the top one for two reasons:
- It didn't waste any bazookas.
- The emulator crashed and messed up my branches, and I ended up losing the bottom route, which was quite a bit of work :(
Level 33: Fish And Crypts
I was testing out how much time could I save by shooting bazookas, but it turns out I got a really good RNG seed, so I left that in. As a side note, it saves around 11 frames when used horizontally, around 8 frames when used diagonally, but interestingly enough, it is slower if done vertically.
Level 36: Monster Phobia
I got really lucky with the drops here. I was expecting at least one skeleton key for sure, since I had quite a bit of time, but getting the two was really nice.
The fight itself ... was pretty hard, the movement would change a lot, since the RNG gets reseeded quite often depending on your position (I guess?). I think I did quite well with what I was given. Taking the hits is actually faster, since the flamethrower keeps hitting the spider during the damage animation.
I also use the faster movement from the bazookas to save the cheerleader before it jumped. I was pretty happy about it.
As a side note, I accidentally killed a pod plant here, and I didn't notice it until the score screen! This explained the missmatch with my spreadsheet, but I thought it was due to killing the little spiders that spawn from the boss.
Level 40: Pyramid Of Fear Two
I would have used an extra pair of shoes if I had more, but they were counted for levels where they were more useful.
Level 42: Spikes
I thought the optimal route for this level was the same as RTA... Needless to say, I was very wrong.
Level 43: Super Fund Cleanup Site
I was pretty lucky that the squidmen didn't kill the victim. The backup if they did and I couldn't avoid it was to do it the RTA way (ghost potion). Had to take a hit for my troubles though.
Level 44: The Curse Of Dr. Tongue
Again, here I couldn't save the cheerleader first because the RNG would change.
Level 45: Danger In Picnic Park
RIP ant.
Level 48: Curse Of The Tongue
Ideally, I would have had an extra skeleton key. Then I wouldn't have needed to spawn the vampire (going north at the beginning of the level). I knew it was a pain to deal with it in RTA, but it usually only means needing more medkits. That said, the initial fight wasn't too bad. I took advantage of the explosion animation to deal as much damage as possible to the vampire while cleaning the webs as well.
I tried the final fight with the vampire, but it was too hard to avoid getting hit without losing too much time, so I decided to kill him. Then the final fight went pretty fast. I use one frame button presses to keep the character facing towards the face while moving backwards. It doesn't seem to shoot all the time, but that's ok. Besides the few seconds lost at the beginning of the fight because of the vampire, I'd say it went well.
Possible Improvements (AKA Regrets)
- Using the improved diagonal movement since the beginning of the game.
- Try more RNG combinations. No matter how much time was spent in a TAS, this will always be a possible improvement for this game.
- The spider fights could probably be improved with better RNG seed, or simply understanding better at which point exactly does the RNG change, and what causes it.
Closing Words
Big thanks to MechChicken's and Walker Boh's TASes, and their notes. They helped me not only in the making of this TAS, but also for routing my RTA runs.
Thanks to Sui for being Sui <3
And shoutouts to the worm bois: accelerator-kun, aki-kun, nrg-kun, ruizu-kun, exiled worm boi baka-kun, and ded worm boi paul-kun.
Suggested Screenshots
Samsara: I will judge the run as one of two brave kids: Zeke or Samsara. If you don't like the judge Samsara, you can call her by other names: Sammy, SC, Cancer Ruining The Forums, whatever. We won't tell you what to do, but we know her name is actually Samsara.
Samsara: Looking over the general thread feedback one more time, it seems that the majority of the spoken audience find the run publishable, but not as entertaining as the 2p runs currently on the site. The votes are borderline, but the feedback itself pushes it down a bit more. As this is demonstrably and noticeably faster than the 2p run, this can be accepted to Vault as the fastest any% run, though with the caveat that if an optimized 2p run comes along and is faster in the gameplay portions then that run will obsolete both the current 2p run and this run.
I'd like to see how the voting changes once the run is published, perhaps it can be upgraded to Moons in due time, but until more supporters speak up the best I can do is accept this to Vault as a new category.
feos: Pub.
feos: Fix branch accordingly.