News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Metroid: Zero Mission: Quantum Deluxe Boogaloo (v2 out!!!)

Started by CanOfWorms, September 19, 2013, 12:26:34 AM

Previous topic - Next topic

CanOfWorms

Version 2.1 Download Link (UPS File)

Old versions:
Version 1

Use a UPS patcher to patch it. The following should work:
http://www.romhacking.net/utilities/606/

This is a "quick" hack I've started working on; it's a door randomizer for Metroid: Zero Mission. Basically, whenever you enter a door, the exit will be randomly chosen. In order to make this not completely impossible, you start off with the following (you get these once you enter a door):

  • Morph Ball
  • Bombs
  • 5 Missiles
  • 1 E-tank
  • Power Grip
Version 2 introduces a more refined randomizer! It follows the following rules:

  • If you've defeated Kraid and Ridley, you have a ~5% chance of being sent to the Mother Brain fight. Once you defeat Mother Brain, randomization is permanently turned off so you can beat the game normally (I'll think about how to make the evented sequence from beating Mother Brain play nicely with randomization.)
  • If you have the Ice Beam, there's a ~5% chance you'll be sent to one of the Metroid rooms in Tourian.
  • There's a ~20% chance of being sent to an room containing a suit upgrade (this can send you to an upgrade you've already collected.)
  • You'll otherwise be sent to a room in Brinstar, Kraid, Norfair, Ridley or Crateria.
I've also gone through all the possible doors to filter out bad doors. Note that the Imago boss (all forms) have weird eventing so while the randomization is on, you should not be forced to fight any of the forms. Some additional things to note:

  • There is a specific boss door that's guaranteed to send you to the Kraid Fight. Beware!
  • Ridley will only challenge you if you've picked up the Gravity Suit "upgrade". Keep this in mind if you see it...

[spoiler=v1 notes]A few game events have also been triggered to avoid being stuck, e.g. the Boss Statue being open. The current version in this post also has a progress-dependent RNG. What this means is, the rooms the RNG picks depend on your current progress:

  • If you don't have the ice beam, you'll never be sent to Tourian.
  • Beating Mother Brain is the requirement for Chozodia to appear in the room selection.
  • In order to access Crateria, you must either collect the Ice Beam, or beat Kraid/Ridley.
This is still in an early beta/alpha stage, and there are a few rooms that will cause infinite loops (the most common is an elevator transition from brinstar/norfair.) These will eventually be ironed out as I figure out more about how doors work in Zero Mission. In the meantime, it should be decently playable, you'll just have to save often or use save states in case you run into an unwinnable situation :p On a related note, feel free to leave any suggestions on how to improve the random generation feature and post about any places you get stuck (preferably include an image of where you are, as well as why you're stuck.)

Known Bugs/Issues:

  • Kraid's area has weird eventing issues. There's a room with a Missile tank that can be repeatedly collected if you revisit it, and the worm boss can respawn.
  • Entering the Chozodia Power Suit room incorrectly can cause graphical glitches, enter and exit the pause menu to fix it.
  • There are a few rooms that cause infinite loops when you enter them, I'm still in the process of documenting them.
[/spoiler]

frozenLake

#1
Alright, I figure I should post some bugs I encountered when playing this on stream. Here we go.

* Occasionally, it /will/ send you to Tourian without the ice beam.
* It is possible to warp to the landing sequence, which will wipe all of your items.
* At one point I warped to Chozodia, with the floor being non solid and falling forever?
* You can spawn in the one room with the two bugs, without the wave beam, preventing the first from being damaged. Both, if you happen to spawn behind the second bug.

Incase I forgot to mention some bugs, I have recordings of the two streams, here and here. I realize this thread and project is old, but I figured I should post the bugs so others know what they are getting into.

Edit: Used another link shortener to prevent the automatic embedding of the videos, which did not show up in the preview, might I add. sorry for the brief layout chaos.

CanOfWorms

#2
Oh nice, thanks for the feedback! I've been busy with another non-Metroid related hacking project but I do plan on going back to this eventually, so thanks for the report!

Edit: I don't think it's possible to get to Tourian through doors if you don't have the ice beam (unless this patch is older than I remember), but I think the elevator will still let you go there. Man, it's been a while since I messed with this.

Edit2: I just saw the part where it sent you to the opening cutscene. Nice.

Edit3: Just saw the Tourian room. That's... interesting. Guess I have to figure that one out! :v

jaysee87

As
Quote from: frozenLake on January 16, 2016, 08:51:29 PM
* You can spawn in the one room with the two bugs, without the wave beam, preventing the first from being damaged. Both, if you happen to spawn behind the second bug.


You should be able to shoot 2 missiles through the floor and hit the first bug should you spawn on the left. That's what we do for 100% speedruns.

Haven't had a chance to watch your videos yet. I probably will some time this evening. The Chozodia thing was a result of you being warped out of bounds. You can get the same thing to happen in the 3rd Metroid room as far as I've seen (with some graphics glitches to go with it).

I figured this project was abandoned due to it was a year and a half after it was released when I first tried this and there was no feedback and as a result, no updates, at this point. So I didn't bother noting any bugs or anything at the time, so I might as well list out a couple more now, which may or may not happened in the videos.

-You can fight the Chozo Guardian (I don't know the correct name of the boss at the end of suitless, we call him Charlie in the speedrunning community, don't know why) multiple times.

-Sometimes you can get stuck in a neverending transition, it can happen with basically anywhere, PhazonKnight once turbo'ed for like 2 minutes and it was still in a transition. Sometimes this is a sign that you will be teleported out of bounds in Chozodia or Tourian.

-Sometimes you're warped into a middle of a big room rather than through a door.

I'll try to find PhazonKnight's highlights later on. Or make my own eventually using my flash cart.

CanOfWorms

Endless transitions is usually because of getting warped to an elevator shaft, which I'm working on pruning from the randomizer list. I ended up starting the pruning so there might be a fix patch soon!

Luce Seyfarth

Is this supposed to send you only to existing doors/ transitions of the original? In find it strange that you can warp straight to the middle of big rooms, unless you play with the variables that control your spawn position relative to a door.

Also, there are some doors which you don't want to include, like the first door in the ship room of Crateria (sends you to the starting sequence) or any of the first doors in the first room of an area (the ones that can be found in the top left corner using Double Helix).

What about destroyed Tourian rooms? Is it possiblle to warp there before killing Mother Brain?
There are other rooms that exist more than one time in ROM, each used when different flags are set. How do you handle those?

How does your RNG work?
I suppose you could build an ASM function you call each time a door transition is made (more specifically, where the new values of area/ door are first loaded from ROM).
Use your function to choose a number x based on item/story progression. Make a random number between 0 and x to choose a random area, then make another random number between 0 and y, where y is based on how many doors an area has. Store those two numbers in the corresponding registers used during door transitions.

As for elevators, you can change flags for Samus' moving status and/ or door transition type accordingly.



There may be errors in my thoughts, though.

biospark

Quote from: Luce Seyfarth on January 17, 2016, 06:16:33 PM
any of the first doors in the first room of an area (the ones that can be found in the top left corner using Double Helix).

I don't think those doors exist. They don't show up in my editor.

CanOfWorms

Good news, everyone! I've updated the patch to v2 which mostly involves me cleaning up the door randomization. It should be more difficult to get stuck in a weird spot. The randomization is also a bit more refined, see the notes for the rules. The game also goes back to normal once you defeat Mother Brain so it's actually possible to "beat" it! Maybe one day I'll get the events to play well with the randomizer...

jaysee87

Quote from: CanOfWorms on January 17, 2016, 09:00:16 PM
Good news, everyone! I've updated the patch to v2 which mostly involves me cleaning up the door randomization. It should be more difficult to get stuck in a weird spot. The randomization is also a bit more refined, see the notes for the rules. The game also goes back to normal once you defeat Mother Brain so it's actually possible to "beat" it! Maybe one day I'll get the events to play well with the randomizer...

Nice! I'll put this on my flash cart and stream it when I get home today!

[spoiler]Whoops. Got stuck already.
https://www.youtube.com/watch?v=goVjl1Eilxg[/spoiler]

Xenesis

^That video is currently private so you can't actually see where you got stuck :P

jaysee87

Should be able to now, meant for it to be unlisted instead of private

FPzero

I was testing for Can yesterday night and ran across that same softlock. He addressed it during my stream but the patch up there doesn't reflect that change.

CanOfWorms

Patched updated to 2.1! Removes that one room from rotation and also another room I just discovered which gives the player infinite Kraid fights.

Hawntah

Got sent to the room containing Speed Booster and then got warped right back out before I could do anything. Twice. I'm using v2.1.

CanOfWorms

That usually happens because the speed booster room doesn't have a door on the right and you're moving right when you enter it.

Hawntah

Indeed, the same thing happens with the door blocked off by Screw Attack blocks in that one save room in Kraid.

Also, since I don't think anyone has mentioned this yet, the little parasite bug things in Brinstar are messed up and disappear after a while (they fly off when they try to jump, by the looks of it). That means you can't get past the barrier enemies in rooms like the one before Varia.

jaysee87

Quote from: Hawntah on January 18, 2016, 09:10:58 PM
Indeed, the same thing happens with the door blocked off by Screw Attack blocks in that one save room in Kraid.

Also, since I don't think anyone has mentioned this yet, the little parasite bug things in Brinstar are messed up and disappear after a while (they fly off when they try to jump, by the looks of it). That means you can't get past the barrier enemies in rooms like the one before Varia.

Haven't tried 2.1 yet, but I ran into the parasite problem as well. it's like the spawn point and movement patterns got all messed up. One room left of the save room closest to Kraid fight, all the Rios spawned on the far right of the room. It'll probably be Wednesday before I try the latest update. (I'm in CST, so it's still Monday for me at the time of post, even though it reads as Tuesday for everyone)

Luce Seyfarth

This looks promising so far :)
I'll have to try it when I am done changing the battery of my flashcart.



Quote from: biospark on January 17, 2016, 06:36:59 PM
Quote from: Luce Seyfarth on January 17, 2016, 06:16:33 PM
any of the first doors in the first room of an area (the ones that can be found in the top left corner using Double Helix).

I don't think those doors exist. They don't show up in my editor.
Interesting. I'll have to check if they represent some other data structure then or are just a bug in DH...

jaysee87

I found a couple soft locks, I'll post videos tomorrow. It may be because I'm jumping through doors, maybe?
[spoiler]
https://youtu.be/T4Q9Xgng4Ak
https://youtu.be/MuTpPXm_QYY[/spoiler]

interdpth

Quote from: jaysee87 on January 20, 2016, 11:52:29 PM
I found a couple soft locks, I'll post videos tomorrow. It may be because I'm jumping through doors, maybe?
[spoiler]
https://youtu.be/T4Q9Xgng4Ak
https://youtu.be/MuTpPXm_QYY[/spoiler]

THAT BUMP THO

Anyway, looks like it's due to entering while not in morphball since those are both morphball size doors. Samus' size messes it up I bet

admiralajax

Sorry to bump this, but every attempt to patch I make, it keeps saying the 'hash' is wrong. What file am I supposed to use exactly?

PhazonKnight

Hey, got to love a one year bump on this thread. I've encountered a few things wrong/weird with Version 2:


  • Some rooms are not reached at all through randomization
          I tried V1 and realized that I was finding rooms I hadn't seen at all in V2
  • The randomizer seems to love Tourian's long room (The one right before Mother Brain) before and after escape, speed booster room, and the path that connects Chozodia to Crateria
  • I was messing around with the Cave Worm (HardestBoss) and after it ran away, I could never find it again. This could also be due to the first point above, where some rooms are never reached through the new randomization.
  • I could not find Ice Beam, Plasma Beam, or Ridley's room (Yes I had the Gravity Suit) after a few hours of searching.

Jiffy

Quote from: PhazonKnight on August 31, 2017, 12:25:44 PM
Hey, got to love a one year bump on this thread. I've encountered a few things wrong/weird with Version 2:


  • Some rooms are not reached at all through randomization
          I tried V1 and realized that I was finding rooms I hadn't seen at all in V2
  • The randomizer seems to love Tourian's long room (The one right before Mother Brain) before and after escape, speed booster room, and the path that connects Chozodia to Crateria
  • I was messing around with the Cave Worm (HardestBoss) and after it ran away, I could never find it again. This could also be due to the first point above, where some rooms are never reached through the new randomization.
  • I could not find Ice Beam, Plasma Beam, or Ridley's room (Yes I had the Gravity Suit) after a few hours of searching.

I had a shot at the hack, and got some pretty similar results. However...
[spoiler]After you collect Ice Beam (which I managed to get to via the back door), it's as if all the rooms that are accessible become inaccessible, and vice versa. After I collected Ice Beam, everything became so much easier.[/spoiler]