Crystalis (or "God Slayer" in Japan) is a classic post-apocalyptic action
RPG/adventure game for the NES released by SNK in 1990. It is widely praised as
an underrated gem of a video game.
Randomizers are tools that take an existing ROM dump and rearrange bits of it to
produce a fresh, new experience and challenge. Note, in particular, that these
tools are unusable without bringing your own legally-obtained ROM dump of the
original game.
Please visit our discord for more information and discussion.
Shuffle all item locations, including Alarm Flute which is now a key item
Shuffle shop items and prices, with normalization
TODO - Randomize the location of some item-giving NPCs (particularly Akahana)
Monster Adjustments
Monster stats grow over time to ensure that monsters in every location
remain relevant throughout the game (this is important when players are
traversing the game in an arbitrary order); each key item that is gained
increases the difficulty level (which is currently visible in the status bar
to the right of the player level)
Monsters are no longer completely immune to anything: when the "ping" sound
happens, the monster will take a minimum (nonzero) amount of damage
Sword Adjustments
Sword damage is normalized: all swords have the same base damage, which
increases by getting upgrades (ball and bracelet) rather than by switching
to a better sword
Stab damage is decreased slightly relative to charge shots (a fixed amount
of damage is added for stabs, rather than doubling the sword's base level)
TODO - Charge shot damage needs to be normalized across swords (sword of wind shots
are still significantly weaker than other swords)
Item Adjustments
Power Ring doubles the sword's base damage, rather than the player's level,
making it slightly less game-breaking
Deo's Pendant increases MP even when moving, making it more relevant in a
game with constant movement
Leather Boots are now Speed Boots: movement speed is noticeably faster, in
addition to the normal effect of preventing terrain damage
Rabbit Boots allow sword charging while moving
Armor Adjustments
Armors are rebalanced to be less game-breaking if a powerful armor is
found early in the game
Enhancements
Orbs and bracelets are automatically equipped when switching swords,
significantly reducing the need for menuing (note that this makes it
impossible to intentionally select a lower level)
Balls and bracelets are true upgrades, rather than individual items: the
first found item will give the ball and the second will give the bracelet,
regardless of which chest is opened first (the message will be inaccurate
if items are acquired in reverse, and this is relevant for e.g. triggering
Tornel to teach Teleport dependent on finding Tornado Bracelet, which is
based on opening the particular chest, rather than what's in inventory)
Some NPCs no longer despawn in response to story progression:
* Zebu remains in his cave all game, ensuring access to Windmill Key
* Asina remains in her room all game, ensuring access to Recover
* Akahana remains in the waterfall cave all game, ensuring access to
Shield Ring
* The first Flute of Lime will be found in the room behind Rage if it was
not given by the Queen (i.e. if the statues were glitched past)
Warping/teleporting out of the tower is allowed; enemies do not give EXP in
the tower, so if you enter under-leveled it is now possible to leave, grind,
and return at a higher level (or with more items) to try again
Barrier can only be learned by actually calming the sea: so-called "ghetto
flight" will allow access to Swan, but will not provide the magic
Bug Fixes
Fix the screen shaking issue that happens when the message box appears
Fix the visible "seams" that show up on (vertically) large maps on certain
emulators
Allow blank spaces in the "Sword" and "Power" row of the inventory, which
prevents swords acquired out-of-order from clobbering each other
Known Issues
Projectiles are sometimes rendered incorrectly.
Monster shuffling fails to populate levels as fully as it should be able to
The Team
steve_hacks: programming, design
Mattrick_: development, playtesting
jroweboy: programming
Dragondarch: playtesting
crossproduct: playtesting, tracker graphics
2.0.0
Revamped the flagset system:
Many more options are now standard, significantly reducing the length of
typical flag strings.
Removed some customization for categories of items to shuffle together:
full shuffle is now standard, with "easy mode" flags Et to keep vanilla
mimic locations and Eu to not shuffle consumables in with unique items.
Support for flag modifiers (e.g. !).
Merged the F and G groups together. By default, all glitches are
fixed (when possible). The Gx flags reenable the glitch but also add
them to the logic. The G!x flags enable them outside of logic.
Grouped a handful of options to make the game more like vanilla into a new
V group.
Support for optional flags that don't affect the checksum (e.g. As to
turn off the background music). Note that some A flags are only
optional without the ! modifier.
Add "mystery flags" (? modifier) that are randomly either on or off, but
the player does not know which.
Adds a new "GBC Cave" inspired by the cave on the east edge of Wind Valley in
the GBC version. This cave has two checks and and two additional exits, one
of which is blocked by a (by default) rock wall.
This introduces a 13th mimic into the game.
Setting Vm or V!m will disable adding this map, in favor of either
adding no additional routes out of Leaf, or restoring the older version
of just a direct passage to Lime Tree Valley.
Various logic changes:
Entering Evil Spirit Island requires you to be riding the dolphin (flight
will trigger a message and reject entry, unless trigger skip is used).
Added a new guard NPC in the Portoa throne room. When Portoa Queen leaves
the throne room permanently (to go to Asina's back room), the guard will
have her item, instead of Asina.
Statue of Gold is now added to the shuffle as a potential item that can
be found from any check. Combining Glowing Lamp and Broken Statue now
provides a random item.
Deo now always requires Telepathy (in addition to Change).
Fixes to dolphin logic.
In particular, the Rd flag selects between vanilla dolphin interactions
(where healing the dolphin and having the Shell Flute is required to spawn
the boat owner, and talking to Kensu in the beach house is required to
make the Shell Flute work) or "standard" dolphin interactions (where only
the Shell Flute is required to ride the dolphin, but trading in the Fog
Lamp is required to spawn Kensu in the beach house, who holds an item.
Riding the dolphin is now required to get into Evil Spirit Island. If
you're flying, you'll get a message that you can't get into the cave.
Riding the dolphin is also required to find the underwater item in the
channel behind Portoa.
Tinking no longer damages enemies at all.
Ns enables "tink mode", but will also potentially add tinking to logic.
New randomization options:
Wh shuffles house entrances in towns.
Wa shuffles connections between the various areas in the game. This
also adds two chests to Mezame Shrine, in order to guarantee there are
sufficient "sphere zero" checks. In this mode, Zebu's student again no
longer gives any item (though he's still required to talk to to spawn
sleeping in the cave), and the initial $100 cash is in the inventory from
the start.
Wg shuffles the order of the floors in Goa fortress.
New glitch options:
Gr allows skipping Rage via a damage boost to go directly to the
answering machine. Whether the skip is disabled can be determined by the
shape of the land (there's no space to damage-boost into when it's off).
Gg allows flight to be used to sneak past shooting statues.
Adds Rb "no bow mode", which provides a direct portal from Mezame to
Draygon 2, who no longer needs the Bow of Truth to fight.
Note that this is independent from Rs (story mode), which would still
require swords and bosses for Draygon to spawn.
Improved map randomization some (but it's still incomplete).
Added a handful of "missing" screens for several tilesets (swamp and river
cave).
Tracker no longer available (use EmoTracker instead).
Add presets for the 2022 tournament rounds.
Revamp the HUD:
These changes can be optionally disabled with Vh, or force-disabled with V!h.
Some text is compressed into smaller icons.
EXP no longer shows a target. Instead, experience counts down and the
next level happens when you reach zero.
Two levels can be gained at the same time now, if scaling is high enough.
Enemy HP and name are displayed at the bottom of the HUD.
Simple sprite swapping to allow playing as Mesia or other custom sprites.
Stat tracking.
Results are displayed at end of the credits.
Pressing Start during the credits will skip the movie and jump straight
to the stats.
Various known issues: the checks count is inaccurate, and stats can be
corrupted when restarting or using save/load (rather than checkpoint).
Sword is now colored based on the element, making it easy to follow on stream.
Wall elements can now optionally provide audible cues (optional Qw flag).
Flyers now spawn in a different random off-screen location every time.
Warp points are activated immediately upon loading an area, rather than
stepping on a specific trigger tile.
Increase pity MP to 2 (to ensure flight is always possible).
Add some unidentified and misspelled names.
Many of these "community jokes" can be disabled with the Ec flag.
Mt Sabre North blocking triggers now indicate what they want.
Minor bug fixes:
Fixed some graphical glitches.
Fixed glitchy vampire dialog caused by Kensu beach house changes.
Fixed an issue with Angry Sea Wild Warp logic.
Fixed issues from entrance order being switched (mixing up wild warp,
among other things).
Fixed some issues around using the tower escalators to skip floors.
Fixed bug allowing player to get free sword charge glitch from quick swap.
Fixed an issue where seeds that rerolled in the middle could have some
communication from earlier attempts, making (for example) Akahana require
being Changed into a woman, rather than Aryllis.
Fixed monster placement to not be inside walls.
Improve handling of overdumped input roms.
White robots will no longer spawn directly underneath the player.
Tomatoes and other non-flyers now respect the terrain.
Fixed internal flag allocation bug to not reuse flags on multiple maps.
Don't place enemies on the same screen as a seamless exit.
Fixed the waterfall cave hint to traverse chests in correct order.
Fixed Crystalis sword power to not decrease after opening the menu.
Fixed vanilla bug where a second round of blizzard shots despawn if fired
too soon after an earlier round.
Fixed vanilla bug where you need an extra MP to use sword magic.
Fixed Sabera 2 to not delay before starting the fight.
Shooting statue skip (via flight) can no longer require going south
through statues, since that direction is not RTA viable.
Internal cleanups:
Rearrange passes into a strict order of (1) read bytes from ROM into an
internal data structure, (2) shuffle the internal data structure,
(3) write bytes from the internal representation back to the ROM image.
Implemented a relocating/patching macro assembler/linker to better utilize
free space in the ROM.
Significantly more changes are now done programmatically, rather than
through assembly.
Remove a handful of redundant flags and triggers.
Improve test infrastructure.
Factored out metalocation, metascreen, metatileset (etc) types for dealing
with map edits more easily.
Moved a number of screens' data into the expanded PRG ROM.
The npm package crystalis-randomizer receives a total of 11 weekly downloads. As such, crystalis-randomizer popularity was classified as not popular.
We found that crystalis-randomizer demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 1 open source maintainer collaborating on the project.
Package last updated on 03 Apr 2025
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.