News:

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

Main Menu

MZMR Plus

Started by Cpt.Glitch, November 06, 2019, 02:29:22 PM

Previous topic - Next topic

Cpt.Glitch

MZM Randomizer Plus is an extension of Biosaprk's ZM Randomizer that adds various features such as text, boss, music, and enemy stat randomization. It also allows randomization of certain ROM hacks.
https://youtu.be/PK1XfBtSaX0

Update time!
V 1.5
- Added Spooky Mission 2 and Winter Mission randomizer.
- Made Spooky Mission's secret ending image unobtainable.
- Fixed issue with Spooky Mission logic not accounting for random enemies.
- Fixed issue with SR387 logic not accounting for bomb requirement in multiple places.
- Fixed issue with Deep Freeze logic not accounting for morph ball requirement for a powerbomb door.
- Fixed issue where randomizing enemies in Deep Freeze could prevent access to certain rooms.
- Fixed some potential tiling errors when items replace certain tiles in Deep Freeze.
- Fixed issue in Scrolls VI where animated graphics would corrupt.
- Changed Spooky Mission and Scrolls VI tilesets to show correct palettes and animated GFX for items.
- Random names for tank items are now consistent.
- Added a few more text strings.
- Credits now show item locations.





[spoiler=Old Version History]
V 0.1
-Release

V 0.2
-Optimized freespace searching a tad.
-Increased various string pools a tad.
-Output file no longer sticks around if randomization fails.
-Fixed an issue where the seed could be larger than the max value.

V 0.3
-Fixed a crash caused by overwriting opened rom.
-Added music randomization for rooms. Effects all rooms other than debug rooms in Chozodia.
-Added more strings.

V 0.4
-Changed a few things in the code that were bad.
-Added a couple extra text pools for things like "capacity increased" and "acquired" messages.
-Made tank pickup messages one name rather than two.
-Added spriteset randomization.
   -Randomizes 0x69 of the games spritesets (nearly all vanilla sets)
   -Enemies are placed in groups. Each enemy in a group can only be replaced with certain enemies.
   -Bosses and specific enemies are exluded from being changed

V 0.5
-Recoded program to use some more acceptable practices and made some optimizations.
-Tweaked enemy randomization. (Needs to be tweaked once more to remove some unused
refill bugs that don't work properly.)
-Added a couple more strings to difficulty names, item descriptions, and prefixes.
-Added randomization for most boss music triggers and a couple other situations.
-Added new music randomization options: Structured and Dumb.
   -Structured will randomize music more logically. Boss themes will not
   be used for room music and vice versa. (with the exception of MB theme.)
   -Dumb will randomize everything without any restrictions. This means
   literally every room will likely have a different theme. You were warned.

V 1.0
-Integrated Random Randomizer with current released version of biospark's item randomizer.
-Text alignment will now always be centered.
-Added a few more strings to text pools.
-Added a custom music option for music randomization.
-Added a stat randomizer for enemies.

V 1.1
-Added boss randomization
-Optimized freespace usage in rom.
-Added additional text strings.
-Adjusted vulnerability randomization to make beam weakness more likely.
-Adjusted music randomizer to account for custom bosses.
-Changed program title.
-General code cleanup.

V 1.2
- Merged MZMR 1.5 version with MZMRR, renamed to MZMR+.
- Added option to randomize Metroid: Deep Freeze and Spooky Mission ROM hacks.
- Removed "Misc 2" tab, replaced with "Enemies" tab.
- Changed text rando to read from file to allow for user input.
- Modified text rando code to auto format strings based on bracketed expressions and length.
- Added Mega Core X to boss rando.
- B.O.X.'s body, Yakuza's head, and most of Nightmare now blocks plasma beam pierce. Adds difficulty though can cause some lag as a result.
- Serris will only splash if it touches a liquid.
- Fixed Nightmare Body Damage

V 1.3.1
- Fixed crashed related to Varia-X and Ridley.

V 1.3
- Unified item prefix text to one file.
- Boss rando now repoints sprite data to ease adding new bosses later.
- Added Nettori and BOX 1 to Boss rando.
- Internal revisions to Music and Stat rando code.

V 1.4
- Added Metroid Scrolls VI and SR387 randomizer.
- Can now randomize music for Spooky Mission.
- Item Log now shows proper area names for hacks.
- Disabled the "Remove cutscene" and "skip suitless" options for hacks.

[/spoiler]

kkzero

I'ma drop some suggestions right here. Anything in yellow will indicate things I pulled from my own repertoire of Metroid hacks, just FYI.

[spoiler=Area names]
TOO MUCH
IT'S A CHICKEN
FANNY TRIX
A BRIDE'S PLACE FOR MANY COWS
EARTHVILLE
THE VALLEY OF WORSHIP
A SLAP IN THE FACE
HOLY PLACE
BRYYAN
NORWAY
MYANMAR

CANADA
BEST BUY
GRANDPA'S BASEMENT
THUNDERWAVE CAVE
SOUTH PARK, COLORADO
E1M1
THE POOL ON THE THIRD FLOOR
YAHOO ANSWERS
MEDIVO
TCRF.NET
CLUB PENGUIN
KIDS NEXT DOOR SECTOR V
BILLYVILLE
SALAD PLAIN
PLANET MINECRAFT
[/spoiler]
[spoiler=Story Text]In the animals of our animals, you are a
source of destructive surprise. It's a
bride's place for many cows. Otherwise,
their lifestyles go to tears.

The last days are close. Are the
children born and informed? We will
do our best to protect our people and
kill them.

hai namez durp bloo
need halp plz
gotta fin sum wet wipez
accidently maed oopsie in panz

We're the Mario Brothers,
and plumbing's our game
We're not like the others
who get all the fame
If your sink is in trouble,
you can call us on the double
We're faster than the others,
you'll be hooked on the Brothers, uh!

Billy, where are your manners? Sit right
back down and eat your potatoes!
It's 10PM, and you've done nothing with
them since I finished dinner!
                        -Billy's dad-

I'm writing a bunch of suggestions for
some text randomizer when I should be
doing my Physics homework.
                    -kkzero, 2019-

Gen 1 is trash.
NESTroid is tolerable.
Sonic CD is amazing.
Gen 4 and PMD Sky are legendary.
Jazz Jackrabbit 1 & 2 are masterpieces.

Hey! You STILL don't have a Sega CD?
What are you waitin' for, Nintendo to
make one? You HAVE seen the games,
right? Wrong answer, man. Show 'im!
               -Sega CD guy, 1993-

Now I'm afraid you know my big deal...I
have a bed.
          -Mr. Mr. Prosecutor Grubba-

[/spoiler]
[spoiler=Energy/missile/pbomb messages]Fake advertising get!
Maximum action level from 5.

Except weapons.
Putin and number 5 guided missiles.
[/spoiler]
[spoiler=Item acquired messages]Kill the battlefield
Honey
Mofball
Get cash money!
Cheese Juice
Clipboard Soup
Grapes!
Knee Stretchers
Delete Beam
Waam Beam
Ice Ice Logic!
Pasta


SGM Soundfont v2.01
PMD5
Roland SC-88Pro
30 MONEYO!
kkzero's DSi SD Card
[/spoiler]
[spoiler=Item descriptions]Strong meat on the rock.

This is a stupid illusion.

Transforms your suitcase into a thin air door.

She is very big.

Now it's a dangerous place. Get another
screen for the screen.

Sometimes you should aim.

Full of words. Re-post?

Don't tell your uncle who works for
Nintendo about this!

Genesis does what Nintendon't.

[/spoiler]
[spoiler=One-line messages]There was a scream from the floor board.
Download Western History.


500 Internal Server Error
Spaceworld Demo translation released.[/spoiler]

Cpt.Glitch

#2
Updated to address a freezing issue a couple of people were having. Could not replicate it myself, but I optimized some things to see if it was an efficiency problem.

Cpt.Glitch

New Update! Spriteset randomization is available. Due to how Graphics are allotted in the game and how much certain enemies take up, the pirate ship is mostly unaffected by this option.

JumZhu

Why did my post of the other day disappear :?:

MetroidMst

The host for the site had issues and some posts and uploads were lost during that time.

FlightlessRidley

Quote from: Cpt.Glitch on November 10, 2019, 08:17:57 PM
Updated to address a freezing issue a couple of people were having. Could not replicate it myself, but I optimized some things to see if it was an efficiency problem.

You ought to do a randomizer that combines this and the item randomizer

FelixWright

Quote from: FlightlessRidley on August 02, 2020, 03:54:15 PM
Quote from: Cpt.Glitch on November 10, 2019, 08:17:57 PM
Updated to address a freezing issue a couple of people were having. Could not replicate it myself, but I optimized some things to see if it was an efficiency problem.

You ought to do a randomizer that combines this and the item randomizer

This is already made to be compatible with the item randomizer... It says at the top, randomize the items first then use random randomizer

gr8tmaker

How come only (missiles,supers,PBs, and energy tanks) are NOT randomized,the only thing i see randomized are the Ability Items,which i'm sorry to say that this is getting pretty boring as is,if there is anyway to ACTUALLY RANDOMIZE Every single item,not just abilities,than this randomizer would much more fun.

FelixWright

Friend... Did you even read this thread before posting? You have to apply the randomizer first, then the random randomizer. The randomizer is pinned at the top of the zero mission board of this forum.

gr8tmaker

figured out what i did wrong,(didn't check the box for shuffling the Energy Tanks) that what actually made the randomize everything,corrected the mistake and now it works as suppose to. apologies to my idiocy.  :heheh:

Cpt.Glitch

Update time!

V 0.5
-Recoded program to use some more acceptable practices and made some optimizations.
-Tweaked enemy randomization. (Needs to be tweaked once more to remove some unused
refill bugs that don't work properly.)
-Added a couple more strings to difficulty names, item descriptions, and prefixes.
-Added randomization for most boss music triggers and a couple other situations.
-Added new music randomization options: Structured and Dumb.
   -Structured will randomize music more logically. Boss themes will not
   be used for room music and vice versa. (with the exception of MB theme.)
   -Dumb will randomize everything without any restrictions. This means
   literally every room will likely have a different theme. You were warned.

teensamus

so anytime i try to randomize tanks and ability's it always fails to randomize the rom and tells me to change my settings however if i leave tanks and ability's set to unchanged it works just fine it will change the palettes for everything wont disable cutscen's or the chozo hints at all. can use it to set it so i can disable and enable the ability's i get but i think some code was messed up not a coder but like really it wont randomize the fun stuff so its not a randomizer for me

Cpt.Glitch

Update time!
Adds sprite stat randomization and combines both randomizers so you don't need to use two separate applications. More info in OP.

H A M

there's a virus in the latest update (the one with the fewest downloads)

FelixWright

It's a false positive. Read the OP

Cpt.Glitch

Update time!

Today's update adds the Boss Randomizer! Kraid, Ridley, and Mecha can be randomized to various other bosses including those from Fusion. The bosses health and damage will scale based on which boss they replace. More bosses may be added in the future. Changes listed below.

V 1.1
-Added boss randomization
-Optimized freespace usage in rom.
-Added additional text strings.
-Adjusted vulnerability randomization to make beam weakness more likely.
-Adjusted music randomizer to account for custom bosses.
-Changed program title.
-General code cleanup.

Cpt.Glitch

Update time!

Consider this update a beta, though it has been tested a fair bit.
This update has two major changes. First, Deep Freeze and Spooky Mission can now be randomized!
Second, text rando now reads from text files to allow for users to add their own strings.
The README explains these features in more detail.

V 1.2
- Merged MZMR 1.5 version with MZMRR, renamed to MZMR+.
- Added option to randomize Metroid: Deep Freeze and Spooky Mission ROM hacks.
- Removed "Misc 2" tab, replaced with "Enemies" tab.
- Changed text rando to read from file to allow for user input.
- Modified text rando code to auto format strings based on bracketed expressions and length.
- Added Mega Core X to boss rando.
- B.O.X.'s body, Yakuza's head, and most of Nightmare now blocks plasma beam pierce. Adds difficulty though can cause some lag as a result.
- Serris will only splash if it touches a liquid.
- Fixed Nightmare Body Damage


Frydi

There seems to be a bug with charlie in the spooky rando. You get stuck in the frontal pose when he dies.
Happened multiple times, no way to progress... The same thing happened once to me in vanilla spooky mission.

I only had varia if that matters, can post video or check more details if needed.

Cpt.Glitch

Update time!

V 1.3
- Unified item prefix text to one file.
- Boss rando now repoints sprite data to ease adding new bosses later.
- Added Nettori and BOX 1 to Boss rando.
- Internal revisions to Music and Stat rando code.


Cpt.Glitch

Update time!
V 1.4
- Added Metroid Scrolls VI and SR387 randomizer.
- Can now randomize music for Spooky Mission.
- Item Log now shows proper area names for hacks.
- Disabled the "Remove cutscene" and "skip suitless" options for hacks.

Cpt.Glitch

Update time!
V 1.5
- Added Spooky Mission 2 and Winter Mission randomizer.
- Made Spooky Mission's secret ending image unobtainable.
- Fixed issue with Spooky Mission logic not accounting for random enemies.
- Fixed issue with SR387 logic not accounting for bomb requirement in multiple places.
- Fixed issue with Deep Freeze logic not accounting for morph ball requirement for a powerbomb door.
- Fixed issue where randomizing enemies in Deep Freeze could prevent access to certain rooms.
- Fixed some potential tiling errors when items replace certain tiles in Deep Freeze.
- Fixed issue in Scrolls VI where animated graphics would corrupt.
- Changed Spooky Mission and Scrolls VI tilesets to show correct palettes and animated GFX for items.
- Random names for tank items are now consistent.
- Added a few more text strings.
- Credits now show item locations.

ajsglist

Hey, I experienced a major issue with the barrier core x boss when it was set to mecha ridley's room.  I've fought it before on earlier versions of the randomizer without issue.  But last night, it spawned the boss inside the wall outside the room and it got stuck.  Even after defeating the surrounding enemies, I couldn't damage the boss because its hitbox was completely outside the room.

I've added the log with the seed/settings values and a quick screenshot.



If you need anything else, just let me know.

Cpt.Glitch

Gah, I've fixed this a bunch. I'm not sure why it comes back every other update lol. Noted, thank you.

ajsglist

also just a heads up on Spooky Mission 1 rando, the randomizer doesn't seem to know that screw attack is needed to get to mansion 22,18 (unless i'm completely missing an alternate route or something there)