Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MZM Randomizer GBA: Difference between revisions

From GameBrew
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#seo:
|title= (Hack Utilities) - GameBrew
|title_mode=append
|image=mzmr2.png
|image_alt=MZM Randomizer
}}
{{Infobox GBA Homebrews
{{Infobox GBA Homebrews
|title=MZM Randomizer
|title=MZM Randomizer
Line 10: Line 4:
|description=Metroid: Zero Mission randomizer.
|description=Metroid: Zero Mission randomizer.
|author=biospark
|author=biospark
|lastupdated=2021/07/25
|lastupdated=2023/08/10
|type=Hack Utilities
|type=Hack Utilities
|version=1.4.0
|version=1.5.0
|license=Mixed
|license=Mixed
|download=https://dlhb.gamebrew.org/gbahomebrews/mzmr.7z
|download=https://dlhb.gamebrew.org/gbahomebrews/mzmr.7z
|website=http://forum.metroidconstruction.com/index.php/topic,4559.0.html
|website=http://forum.metroidconstruction.com/index.php/topic,4559.0.html
|source=
|source=https://github.com/biosp4rk/mzmr
}}
{{#seo:
|title= (Hack Utilities) - GameBrew
|title_mode=append
|image=mzmr2.png
|image_alt=MZM Randomizer
}}
}}
A randomizer for Metroid Zero Mission. Currently randomizes item locations and palettes. It is only compatible with the North American (U) version of the game.
 
A randomizer for Metroid Zero Mission, created by biospark with item placement logic by Dragonfangs, allows randomization of various elements in Metroid Zero Mission, primarily focusing on item locations. It's compatible only with the North American (U) version of the game.


==Features==
==Features==
Line 26: Line 27:


==User guide==
==User guide==
To start, open an unmodified ROM of Metroid Zero Mission. ROMs that have been previously randomized cannot be used. Once the ROM is open, you can select a variety of randomization settings. All of the settings have tooltips if you hover over them, which explain their functions. You can reuse settings by saving them to a file and loading them later. You can also load settings from a string, which can be found after randomization or in a log file.
To start, open an unmodified Metroid Zero Mission ROM. ROMs that have been previously randomized cannot be used.  


You can specify the seed to use for randomization, which must be a number between 0 and 2147483647. If left blank, a random seed will be chosen. Unless you're using the same seed and settings as someone else, there's no reason to provide a seed.
Select randomization settings from a variety of options. Tooltips are available for each setting, explaining their functions.  


Click on the gear icon to bring up application settings. Here, you can enable some time-saving options, including automatically loading the previous ROM and randomization settings, and always saving a log file and map images.
You can reuse settings by saving them to a file and loading them later. Seed for randomization is optional.


===Items===
===Items===
You can randomize the location of abilities (such as Wave Beam, Hi-Jump, etc.), tanks (Energy, Missile, Super Missile, Power Bomb), or both. You can also remove up to 90 items. Removed items are marked as collected on the minimap.
Randomize the location of abilities (e.g., Wave Beam, Hi-Jump), tanks (Energy, Missile, Super Missile, Power Bomb), or both. You can also remove up to 90 items, those are marked as collected on the minimap.  


The Game Completion setting places restrictions on where items are located:
The "Game Completion" setting imposes item location restrictions:
* No logic - No restrictions. However, you will immediately get stuck if Morph Ball is not the first item.  
* "No logic" has no restrictions, but getting Morph Ball first is vital.
* Beatable - Enough items can be obtained to beat the game.  
* "Beatable" ensures enough items to finish the game.
*100% - All items can be obtained.
* "100%" guarantees obtaining all items.


There are two settings that remove item requirements:
There are two settings that remove inaccessible item requirements. One makes Metroids vulnerable to unfrozen missiles, and the other makes black space pirates susceptible to non-Plasma beams, with no requirements elsewhere.
* One makes Metroids vulnerable to missiles when not frozen.
* The other makes black space pirates vulnerable to beams other than Plasma. Neither of these items is required elsewhere.


The No PBs before Chozodia setting places restrictions on where Power Bombs are located:
"No PBs before Chozodia" option restricts Power Bomb locations, preventing early Chozodia entry. Softlock prevention is applied if Power Bombs are obtained before Bombs.
* No Power Bombs can be obtained to enter Chozodia early, forcing you to fight Mother Brain and do the suitless sequence.  
* Normally the game will softlock if you obtain Power Bombs before Bombs, but the game has been modified to prevent this.


The Chozo statue hints setting makes Chozo statues show the new location of each item.
"Chozo statue hints" shows item locations on Chozo statues. If unselected, Chozo statues provide no hints.
* For example, the very first Chozo statue in the game will show where Long Beam is.  
* If left unselected, Chozo statues won't show any hints.


If you aren't skilled at bomb jumping or wall jumping, you can leave these options unselected. This will ensure that these tricks are never required to beat the game (if you selected "Beatable") or collect all the items (if you selected "100%").
Unskilled at bomb jumping or wall jumping? Leave these options unselected. It ensures these tricks aren't required for beating the game ("Beatable") or collecting all items ("100%").


===Locations===
===Locations===
You can specify what to do with the item at each location. By default, every item is included in the pool for randomization.  
Specify actions for each item location: random, remove, or set to a specific item.
 
Refer to the readme for the list of original items and their locations.
 
===Logic===
Choose default logic or your custom logic by selecting a file. You can also specify tricks for the logic to consider.


For each location, you can leave it as random, remove the item, or set it to a specific item.
If you are not skilled at bomb jumping or wall jumping, leave these options unselected. This ensures these tricks aren't mandatory for beating the game ("Beatable") or collecting all items ("100%").


===Palettes===
===Rules===
You can randomize the colors of tilesets, enemies, Samus, and beams.  
Specify rules to modify item placement, allowing inclusion or exclusion in certain locations or areas.  


This works by changing the hue of each palette (much like rotating a color wheel). You can specify the hue rotation range, between 0-180 degrees.  
Adjust the placement timing during randomization.


For each palette, the hue is randomly rotated clockwise or counter-clockwise by a random amount within the range.
===Palettes===
Randomize tileset, enemy, Samus, and beam colors by rotating the hue within a specified range (0-180 degrees).


===Misc===
===Misc===
There are a variety of options you can select that affect gameplay, most of which are enhancements.  
Various gameplay-affecting options are available, such as enhancing unknown item acquisition.  


The Obtain unknown items option is taken into account by the Game Completion setting.
Limited enemy randomization features are present.
 
There's also an option to randomize enemies, but it's somewhat limited for now.


==Screenshots==
==Screenshots==
Line 77: Line 76:


==Changelog==
==Changelog==
'''1.5.0 2023/08/10'''
* New item placement system with customizable logic by Dragonfangs.
* Added options to disable wall jumping and infinite bomb jumping.
* Fixed "Skip suitless sequence" when "Remove cutscenes" is also enabled.
* Improved palette randomization by using CIELAB color space.
* Fixed bug where user settings from previous version could prevent program from loading.
* Fixed bug where loading a config string wouldn't reset custom item assignments.
* Fixed bug where manually removing items at locations wouldn't update the minimap.
* Simplified program settings.
* Moved config string settings to separate window.
* Added reset button to "Locations" tab.
* Added item numbers to included map images.
* Config strings from previous versions are no longer valid.
'''1.4.0 2021/07/05'''
'''1.4.0 2021/07/05'''
* Add'ed option to randomize abilities and tanks separately.
* Added option to randomize abilities and tanks separately.
* Added option to specify number of abilities to remove.
* Added option to specify number of abilities to remove.
* Added option to randomize Samus palettes.
* Added option to randomize Samus palettes.
Line 87: Line 100:
* Floating-eye sensors are now always vulnerable.
* Floating-eye sensors are now always vulnerable.
* Customized title screen graphics.
* Customized title screen graphics.
.
 
'''1.3.2 2020/12/01'''
'''1.3.2 2020/12/01'''
* Config strings from version 1.3.0 and later are now compatible.
* Config strings from version 1.3.0 and later are now compatible.
* Fixed bug where enemies were always randomized.
* Fixed bug where enemies were always randomized.
.
 
'''1.3.1 2020/11/27'''
'''1.3.1 2020/11/27'''
* Fixed bug where selecting "Unchanged" for game completion would crash the program.
* Fixed bug where selecting "Unchanged" for game completion would crash the program.
Line 97: Line 110:
* Added warning when trying to overwrite the original ROM file.
* Added warning when trying to overwrite the original ROM file.
* Minor item logic fixes.
* Minor item logic fixes.
.
 
'''1.3.0 2020/11/24'''
'''1.3.0 2020/11/24'''
* Added option to remove up to 90 items.
* Added option to remove up to 90 items.
Line 115: Line 128:
* Fixed music that plays when suitless sequence is skipped.
* Fixed music that plays when suitless sequence is skipped.
* Config strings from previous versions are no longer valid.
* Config strings from previous versions are no longer valid.
.
 
'''1.2.1 2018/10/13'''
'''1.2.1 2018/10/13'''
* Improvements to item requirement logic.
* Improvements to item requirement logic.
* Added potential for Space Jump to replace Morph Ball.
* Added potential for Space Jump to replace Morph Ball.
.
 
'''1.2.0 2018/10/11'''
'''1.2.0 2018/10/11'''
* Power Bombs can be obtained before Bombs without softlocking the game.
* Power Bombs can be obtained before Bombs without softlocking the game.
Line 129: Line 142:
* Added "Infinite bomb jump" and "Wall jumping" options for item randomization.
* Added "Infinite bomb jump" and "Wall jumping" options for item randomization.
* Added application settings with some time-saving options.
* Added application settings with some time-saving options.
.
 
'''1.1.0 2018/01/12'''
'''1.1.0 2018/01/12'''
* Fixed Power Bomb placement when "Obtain unknown items" is selected.
* Fixed Power Bomb placement when "Obtain unknown items" is selected.
Line 136: Line 149:
* Fixed requirements for Long Beam's item.
* Fixed requirements for Long Beam's item.
* Added automatic conversion for older settings.
* Added automatic conversion for older settings.
.
 
'''1.0.0 2017/12/21'''
'''1.0.0 2017/12/21'''
* Initial release.
* Initial release.


==External links==
==External links==
* GitHub - https://github.com/biosp4rk/mzmr
* Metroid Construction - http://forum.metroidconstruction.com/index.php/topic,4559.0.html
* Metroid Construction - http://forum.metroidconstruction.com/index.php/topic,4559.0.html
* Romhacking.net - https://www.romhacking.net/utilities/1371/
* Romhacking.net - https://www.romhacking.net/utilities/1371/
[[Category:GBA homebrew rom hacks]]
[[Category:Homebrew hack utility for GBA games]]

Latest revision as of 03:00, 25 Haziran 2024

MZM Randomizer
Mzmr2.png
General
Authorbiospark
TypeHack Utilities
Version1.5.0
LicenseMixed
Last Updated2023/08/10
Links
Download
Website
Source


A randomizer for Metroid Zero Mission, created by biospark with item placement logic by Dragonfangs, allows randomization of various elements in Metroid Zero Mission, primarily focusing on item locations. It's compatible only with the North American (U) version of the game.

Features

  • Randomize item locations.
  • Randomize palettes.
  • Randomize enemies (somethat limited).

User guide

To start, open an unmodified Metroid Zero Mission ROM. ROMs that have been previously randomized cannot be used.

Select randomization settings from a variety of options. Tooltips are available for each setting, explaining their functions.

You can reuse settings by saving them to a file and loading them later. Seed for randomization is optional.

Items

Randomize the location of abilities (e.g., Wave Beam, Hi-Jump), tanks (Energy, Missile, Super Missile, Power Bomb), or both. You can also remove up to 90 items, those are marked as collected on the minimap.

The "Game Completion" setting imposes item location restrictions:

  • "No logic" has no restrictions, but getting Morph Ball first is vital.
  • "Beatable" ensures enough items to finish the game.
  • "100%" guarantees obtaining all items.

There are two settings that remove inaccessible item requirements. One makes Metroids vulnerable to unfrozen missiles, and the other makes black space pirates susceptible to non-Plasma beams, with no requirements elsewhere.

"No PBs before Chozodia" option restricts Power Bomb locations, preventing early Chozodia entry. Softlock prevention is applied if Power Bombs are obtained before Bombs.

"Chozo statue hints" shows item locations on Chozo statues. If unselected, Chozo statues provide no hints.

Unskilled at bomb jumping or wall jumping? Leave these options unselected. It ensures these tricks aren't required for beating the game ("Beatable") or collecting all items ("100%").

Locations

Specify actions for each item location: random, remove, or set to a specific item.

Refer to the readme for the list of original items and their locations.

Logic

Choose default logic or your custom logic by selecting a file. You can also specify tricks for the logic to consider.

If you are not skilled at bomb jumping or wall jumping, leave these options unselected. This ensures these tricks aren't mandatory for beating the game ("Beatable") or collecting all items ("100%").

Rules

Specify rules to modify item placement, allowing inclusion or exclusion in certain locations or areas.

Adjust the placement timing during randomization.

Palettes

Randomize tileset, enemy, Samus, and beam colors by rotating the hue within a specified range (0-180 degrees).

Misc

Various gameplay-affecting options are available, such as enhancing unknown item acquisition.

Limited enemy randomization features are present.

Screenshots

mzmr3.png

Changelog

1.5.0 2023/08/10

  • New item placement system with customizable logic by Dragonfangs.
  • Added options to disable wall jumping and infinite bomb jumping.
  • Fixed "Skip suitless sequence" when "Remove cutscenes" is also enabled.
  • Improved palette randomization by using CIELAB color space.
  • Fixed bug where user settings from previous version could prevent program from loading.
  • Fixed bug where loading a config string wouldn't reset custom item assignments.
  • Fixed bug where manually removing items at locations wouldn't update the minimap.
  • Simplified program settings.
  • Moved config string settings to separate window.
  • Added reset button to "Locations" tab.
  • Added item numbers to included map images.
  • Config strings from previous versions are no longer valid.

1.4.0 2021/07/05

  • Added option to randomize abilities and tanks separately.
  • Added option to specify number of abilities to remove.
  • Added option to randomize Samus palettes.
  • Improved performance of Locations tab.
  • Under Game Completion, renamed "Unchanged" to "No logic".
  • "Remove cutscenes" option removes a couple more cutscenes.
  • Doubled map image sizes.
  • Floating-eye sensors are now always vulnerable.
  • Customized title screen graphics.

1.3.2 2020/12/01

  • Config strings from version 1.3.0 and later are now compatible.
  • Fixed bug where enemies were always randomized.

1.3.1 2020/11/27

  • Fixed bug where selecting "Unchanged" for game completion would crash the program.
  • Fixed extra long config strings in the intro text.
  • Added warning when trying to overwrite the original ROM file.
  • Minor item logic fixes.

1.3.0 2020/11/24

  • Added option to remove up to 90 items.
  • Added option to provide custom item assignments.
  • Added option to randomize enemies.
  • Added option to skip door transitions.
  • Removed option to remove Varia Suit animation (now it is always removed).
  • Removed option to remove Norfair vine (now it is always removed).
  • Fixed bug with hue rotation.
  • Fixed probability of Space Jump replacing Morph Ball (was too low before).
  • Added hash icons to file select screen.
  • Title screen demos are now disabled.
  • Shooting Ruins Test with a non-pistol beam now hurts Samus.
  • Triggering the alarm in Chozodia never changes the music.
  • Removed duplicate versions of rooms in Crateria.
  • Fixed bug where Varia Suit's item wouldn't spawn after obtaining fully powered suit.
  • Fixed music that plays when suitless sequence is skipped.
  • Config strings from previous versions are no longer valid.

1.2.1 2018/10/13

  • Improvements to item requirement logic.
  • Added potential for Space Jump to replace Morph Ball.

1.2.0 2018/10/11

  • Power Bombs can be obtained before Bombs without softlocking the game.
  • Redefined item requirement logic to account for Power Bomb fix.
  • Modified palette randomization to adjust for brightness.
  • Randomizer version, seed, and settings are now provided during the intro cutscene.
  • "Remove cutscenes" option removes a few more cutscenes.
  • Added "Chozo statue hints" option for item randomization.
  • Added "Infinite bomb jump" and "Wall jumping" options for item randomization.
  • Added application settings with some time-saving options.

1.1.0 2018/01/12

  • Fixed Power Bomb placement when "Obtain unknown items" is selected.
  • Settings aren't reset after randomizing.
  • Added option to skip suitless sequence.
  • Fixed requirements for Long Beam's item.
  • Added automatic conversion for older settings.

1.0.0 2017/12/21

  • Initial release.

External links

Advertising: