github troyedwardsjr/z2rs v0.5.0
z2rs v0.5.0

6 hours ago

What's new in 0.5.0

Randomizer

z2rs can now build a randomized Zelda II from your own ROM. In the launcher, open the ROM randomizer tab, type a seed or press Random seed, pick a preset (Beginner, Standard or Max rando) or set the options yourself, and press Play. The flag string holds every option, so you can paste it to a friend, and with the same seed and version they get the same game. A six character hash on the file select screen confirms it. The browser build has the same seed and flag fields. Android does not have the randomizer yet.

The options follow the community Z2Randomizer by Digshake and Ellendar. The code is new and none of that project's data is used, so seeds are not compatible between the two. What you can randomize:

  • The overworld: shuffle locations on the original maps, or generate each continent from scratch in one of several biomes, with Death Mountain built from cave pockets and Maze Island as a real maze. Continent size, connections, hidden Palace 6 and New Kasuto, and encounter rates are options too.
  • Palaces: ten layout styles build new palaces from the rooms in your ROM, with options for length, item rooms, boss exits, Dark Link's distance, Thunderbird and colours.
  • Items: palace and overworld items, P-bag caves, small items and keys. Every seed is checked before you play it, so it can always be finished.
  • Starting items, spells, containers, lives and levels.
  • Enemies, enemy and boss health, experience, level caps, and the attack, magic and life tables.
  • Drops: the drop pools, how often enemies drop, and fixed drop rhythms.
  • Spells: which wizard teaches what, Fire linked to another spell or replaced by Dash, swapped up and down stabs, jump always on, permanent sword beam and random knockback.
  • Hints from townspeople and town signs, new townsfolk lines, visible false walls and hidden jars, the New Kasuto requirement and shorter wizard visits.
  • Faster text, fewer low health beeps, no death flashing, faster spell casting, and tunic, beam and palette colours. You can also apply your own Link sprite as an IPS patch.

A spoiler log is optional. Each seed keeps its own battery save and save states, and online co-op checks that both players have the same seed. A few options are not done yet and are marked that way in the launcher: spells and quest items in the item pool, flute warp, a harder Carock, the updated HUD, custom music and two continent links. guide/randomizer.md has the details.

Enhancements inspired by ZALiA

A new set of optional changes, many of them modelled on features of ZALiA, HoverBat's Zelda II remake. Everything is off by default. Set them in the launcher's new Enhancements tab, or press O in the game (LB+RB+Y on a gamepad) to open an options menu that pauses the game. Among them:

  • Faster dialogue, continuing from the last town or palace entrance, keeping some experience after a game over, entering towns from the side, and a softlock escape on the overworld.
  • Fixes for the level-up softlocks, crumbling floors, the shield hitbox and experience drain.
  • Changes to Iron Knuckles, Ra, Stalfos, Wizzrobes, Magos and several bosses.
  • Double jump, stab frenzy, longer sword reach, damage reduction, magic regeneration, faster running, a rescue fairy and flute warping between towns.
  • Starting loadouts, scaled enemy and experience values, palette randomization and a major item shuffle.
  • Cheats, a quest timer, screen shake, background flash colour, separate music and effect volumes, brightness and scanline effects, and developer overlays.

Online co-op players need matching gameplay options. These enhancements are desktop only for now. guide/enhancements.md lists every option.

Fixes from Discord and GitHub reports

  • The browser build stayed silent on 48 kHz audio devices, and over a long session the sound skipped about every 25 seconds. Both are fixed. Sound now starts from any click or key press on the page, a message on screen says when the browser is still holding it back, and a sound: line under Mute shows the audio state for bug reports.
  • Pressing Left before letting go of Right (or the other way round) could send Link sliding backwards at high speed. The most recent direction now wins, as on a real NES pad. allow_opposing_directions in the config turns this off.
  • Some Windows machines crashed at launch, including one inside AMD's OpenGL driver, and some crashed when an Xbox Series controller was used. The game now tries DirectX 12 and then Vulkan, skips a graphics backend that crashed it last time, and stops trying OpenGL by itself. gpu_backend in the config picks one by hand, gamepads_enabled can turn controllers off, and z2-native.log in the data directory shows how far startup got.
  • In 16:9 widescreen, thin strips flashed at the edges of the original picture on the overworld, and monsters vanished there a few pixels early. Both are fixed.
  • The Android app can now import an HD pack from a .zip file or a folder.

Downloads

Desktop and Android builds of z2rs. Download the archive for your system and unpack
it. Double-click z2rs-launcher (z2rs.app on macOS), pick your ROM,
and press Play. The game remembers the ROM, so later you can also start
z2rs directly. HOW-TO-PLAY.txt in the archive lists the controls and
where settings and saves are kept.

No ROM is included and none is uploaded anywhere. You need your own
Zelda II (USA) .nes file.

From a terminal, run the game directly:

./z2rs --rom /path/to/zelda2.nes [--scale 3] [--fullscreen]

./z2rs --help lists every flag. z2-signal is the signalling server
for online co-op, and you only need it if you host your own instead of
using the public one the launcher points at.

These builds are not code signed, so each system warns the first time:

  • macOS: right-click z2rs.app and choose Open. On newer macOS, if
    that does not offer Open, try once, then go to System Settings >
    Privacy & Security and click Open Anyway. If macOS still refuses, run
    xattr -dr com.apple.quarantine z2rs.app in the unpacked folder.
  • Windows: SmartScreen shows "Windows protected your PC". Click More
    info, then Run anyway.
  • Linux: if the files do not start, run
    chmod +x z2rs z2rs-launcher z2-signal.

On Android 8.0 or newer, download z2rs-0.5.0-android.apk on the
phone and open it. Android asks once to allow installs from your
browser or file manager. Open z2rs, pick your ROM and press Play. An
on-screen gamepad is shown until you connect a controller.
guide/android.md has the details.

SHA256SUMS lists the checksum of every archive and the APK.

Don't miss a new z2rs release

NewReleases is sending notifications on new releases.