rrealmuto / OoT-Randomizer

A randomizer for Ocarina of Time.
Other
9 stars 5 forks source link

OoTRandomizer

This is a randomizer for The Legend of Zelda: Ocarina of Time for the Nintendo 64.

WARNING: This branch is a modified version of the randomizer. It is not officially supported and may be very unstable. Please refrain from asking questions and from reporting issues in the main Randomizer Discord when using this branch. Instead, you can open an issue on this fork here or contact me directly on discord (RealRob) for any help, report or request.

This branch is based of of Roman971's fork of the randomizer and usually kept up to date with the latest changes in the main Dev fork, with the addition of the following developmental features:

Enemy Drop Shuffle - All (almost) of the enemies in the game will give a shuffled item when killed. Wonderitem Shuffle - Shuffles wonderitems - which include invisible rupees and invisible hit markers. Gossip Stone Shuffle - Play Song of Time to a gossip stone to receive a shuffled item. Enemy Soul Shuffle - Shuffles enemy "souls" into the item pool. Enemies will not spawn into the world until their souls have been collected. Grass Shuffle - Shuffles grass Fishing Game Shuffle - Shuffle the fish from the fishing game. The fish in the pond become items that you will collect upon catching. The fish themselves are shuffled as items that must be collected throughout the world. . Finding a 10 lb (child) 16 lb (adult) and a hylian loach may be turned in to the pond owner for a reward. The fishing rod becomes an item shuffled into the world which must be found before you can fish in the pond.

Index

RealRob Changelog

v117

v116

v115

v114

v113

v111

v110

v109

v108

v107

v106

v105

v104

v103

v102

v101

v100

v99

v98

v97

v96

v95

v94

v93

v92

v91

v90

v89

v88

v87

v86

v85

v84

v83

v82

v81

v80

v79

v78

v77

v76

v75

v74

v72

v71

v70

v68

v67

v66

v65

v64

v63

v62

v61

v60

v59

v58

v57

v56

v55

v54

v53

v52

v51

v50

v49

v48

v47

v46

v45

v44

v43

v42

v41

v40

v39

v38

v37

v36

v35

v34

v33

v32

v31

v30

v29

v28

v27

v26

v25

v24

v23

v22

v21

v20

v19

v18

v17

v16

v15

v14

Installation

It is strongly suggested users use the web generator from here:

https://ootrandomizer.com

If you wish to run the script raw, clone this repository and either run Gui.py for a graphical interface or OoTRandomizer.py for the command line version. They both require Python 3.8+. To use the GUI, NodeJS (v20 LTS, with npm) will additionally need to be installed. NodeJS v14.14.0 and earlier are no longer supported. The first time Gui.py is run it will need to install necessary components, which could take a few minutes. Subsequent instances will run much quicker. Supported output formats are .z64 (N64/Emulator), .wad (Wii VC, channel IDs NICE/NRKE recommended), Uncompressed ROM (for developmental purposes, offline build only) and .zpf/.zpfz (patch files, for sharing seeds with others).

This randomizer requires The Legend of Zelda: Ocarina of Time version 1.0 NTSC-US. This randomizer includes an in-built decompressor, but if the user wishes a pre-decompressed ROM may be supplied as input. Please be sure your input ROM filename is either a .n64 or .z64 file. For users playing via any means other than on real N64 hardware, the use of the "Compress patched ROM" flag is strongly encouraged as uncompressed ROMs are impossible to inject for the Virtual Console and have random crashing problems on all emulators.

For general use, there are four recommended emulators: Project64 (v3.0+), Bizhawk, RetroArch and Dolphin (latest beta). All are race-legal when configured appropriately. In a nutshell the differences are:

Please follow the guides on our wiki carefully to ensure a stable game experience and that the settings requirements for races are met. OoTR can also be run on an N64 using an EverDrive, or on Wii Virtual Console. For questions and tech support we kindly refer you to our Discord.

General Description

This program takes The Legend of Zelda: Ocarina of Time and randomizes the locations of the items for a new, more dynamic play experience. Proper logic is used to ensure every seed is possible to complete without the use of glitches and will be safe from the possibility of softlocks with any possible usage of keys in dungeons.

The randomizer will ensure a glitchless path through the seed will exist, but the randomizer will not prevent the use of glitches for those players who enjoy that sort of thing, though we offer no guarantees that all glitches will have identical behavior to the original game. Glitchless can still mean that clever or unintuitive strategies may be required involving the use of things like Hover Boots, the Hookshot, or other items that may not have been as important in the original game.

Each major dungeon will earn you a random Spiritual Stone or Medallion once completed. The particular dungeons where these can be found, as well as other relevant dungeon information can be viewed in the pause menu by holding the D-Pad buttons on the C-Item Menu. Note, however, that the unlock conditions for dungeon information are settings-dependent.

As a service to the player in this very long game, many cutscenes have been greatly shortened or removed, and text is as often as possible either omitted or sped up. It is likely that someone somewhere will miss the owl's interjections; to that person, I'm sorry I guess?

Getting Stuck

With a game the size of Ocarina of Time, it's quite easy for new Randomizer players to get stuck in certain situations with no apparent path to progressing. Before reporting an issue, please make sure to check out our Logic wiki page. We also have many community members who can help out in our Discord.

Settings

The OoT Randomizer offers many different settings to customize your play experience. A comprehensive list can be found here.

Plandomizer

"Plan"-domizer is a feature that gives some additional control over the seed generation using a separate distribution file. In such a file you can:

Caveat: Plandomizer settings will override most settings in the main OoTR generator settings, particularly list-based settings like enabled tricks or starting inventory. For example, if the Plandomizer distribution file contains an empty list of starting items, and the generator settings include additional starting equipment, the player will start with none of them instead. You will have to edit the Plandomizer file to change such settings, or delete completely the line in the Plandomizer file with the given setting to allow the main generator to alter the setting.

See the Plandomizer wiki page for full details.

Custom Models

Save the .ZOBJ file of the desired model in data/Models/Adult or data/Models/Child. The file must be in .ZOBJ format (the compressed .PAK files are not compatible), but most Modloader64 models will work. Exceptions are models which are larger than the base Link models (the randomizer will give an error message) and those created on the new pipeline (technically load but the textures get wonky). Please see notes regarding known model files that are floating around in this spreadsheet before asking why a model doesn't work.

Once the models are saved, the program may be opened and the model(s) selected under the Cosmetics tab.

If the model's skeleton is similar enough to Link, the randomizer will use Link's skeleton. If it is substantially different, then a note will be placed on the pause screen to make it clear that the skeleton was changed.

Known issues

Unfortunately, a few known issues exist. These will hopefully be addressed in future versions.

Changelog

Dev

New Settings and Options

Other New Features

Bug Fixes

New Speedups

Other Changes

8.1

New Features

Bug Fixes

Other Changes

8.0

New Features

Bug Fixes

Other Changes

New Speedups

Plandomizer

7.1

Bug Fixes

GUI

Other Changes

Plandomizer

7.0

New Features

Bug fixes

Other changes

6.2

Bug fixes

Other changes

6.1

New Features

Bug Fixes

Other Changes

6.0

New Features

Gameplay
'ROM Options' settings
New 'Main Rules' settings and options
'Other' settings
Cosmetics/SFX

Updated Settings/Tricks

Bug Fixes

Other Changes

5.2

New Features

Updated Settings

Other Changes

Bug Fixes

5.1

New Features

Updated Settings

Bug Fixes

5.0

New Features

Major Changes

Updated Settings

Bug Fixes

4.0

New Features

New Options

Updated Features

Updated Options

Bug Fixes

Multiworld Changes

Development Version Changes