ChaoticBrave / VagrantStoryRandomizer

A tool which will randomize a copy of Vagrant Story.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vagrant Story Randomizer

A tool which will randomize a copy of Vagrant Story. Right now, it will randomize the enemies, their drops and chest items.

A randomized game has been proven to work with both Beetle PSX and DuckStation.

Releases

If you want the latest build, use the Latest folder.

Both old stable and experimental builds can be found here:

https://mega.nz/folder/wFV3CTzQ#NPZK8E4Wy-c_98T4n2DMTQ

Updates

  • A bug has been fixed where the "Keep Item Stats" parameter produces half-finished Gems in Weapons and Shields.

To Do

  • Make the enemy drops randomizer independent from the enemy randomizer.
  • Randomize enemy stats.
  • Randomize Ashley's starting data.
  • Find a way to randomize enemy models.
  • Last-ditch effort to change which models Ashley uses.

If you wish to keep up-to-date with this project and what will be updated short-term, a link to the Trello can be found below: https://trello.com/b/BZRfh8ht/vagrant-story-randomizer

Using this GitHub project

Many can find these GitHubs tedious, myself included. The "Releases" section exists for those who just want to extract the ZIP and get into the action. For those who wish to make their own alterations, the C++ files have been included.

If you make any alterations to the source code and you want to bring your project to life, make sure that your exe is in the same directory as the ZONES and MAPS directories, as well as a psxinject exe file and its necessary dll files after conversion in order for it to work.

What are the parameters available?

  • Enemies: Randomizes the enemy placements within an area.
  • Chests: Randomizes the contents of a chest.
  • Drops: Randomizes what each enemy drops. This will only apply to the random drops of an enemy. Guaranteed drops are unaltered to prevent softlocks.
  • Balance Item Stats: Makes the randomized stats of weapons, blades, grips, gems, shields, and armour in chests less extreme.
  • Area Progression: Randomizes where you go next depending on the area you're in.
  • Keep Item Stats: Prevents the stats of weapons, blades, grips, gems, shields, and armour in chests from being randomized.

Limitations

Enemies can also only be changed to those which can be found within the same area. For example, Snowfly Forest opponents can only be swapped with other Snowfly Forest opponents.

Player character randomization was previously in the To Do list. Upon further testing, this will not be possible for the foreseeable future. If only because randomized characters are glitchy outside of battle mode. Should anyone still be interested though, this will be added in a later experimental build.

Certain locations are randomized rather than being on a room-by-room basis due to issues with how coordinates are translated from the ROM to the RAM. Because of this, only a selected few areas can be warped to with the locations randomizer. Locations which end with a door locked by a key, sigil, or have a cutscene transition won't be randomized as the game will not register the changes made by the tool.

Contact

If you queries about the project, the best places to contact me are either one of my two Discord servers or my Twitter DMs.

Discord:

Twitter:

https://twitter.com/ChaoticBrave

Tumblr:

https://www.tumblr.com/chaoticbraves-workshop

Ko-fi:

https://ko-fi.com/chaoticbrave

Credits

  • ChaoticBrave: For making the randomizer of course!
  • Valendian: For the extensive knowledge in Vagrant Story's file systems, as well as creating the superb VSTOOLS and GodHands packages.
  • Christo: For the idea of creating a randomizer in the first place. Also provided masses of feedback regarding how Blades and Grips are handled.
  • CUE: For the psx-mode2 tool in the earlier builds. The project would've been lost without it.
  • gingerbeardman: For letting me use his translation of psx-mode2 for the earlier builds.
  • cebix: Creator of psximager, which is used for mpd file replacement in builds starting from v0.3.0.0.
  • NoharOSP: For being at hand to test this locally.
  • The Xenogears Perfect Works Build team: For very kindly providing the patcher code which is used in the GUI.
  • mayaktheunholy: For discovering several errors with pre-0.5.1.0 builds.
  • OddKara: Inspired me to do location-based randomizing rather than a room-by-room direction.
  • benjamin champion: Discovered that grips can be randomized in chests.
  • Taterz: Discovered the Ghost crashes in the Catacombs, as well as several other bugs.
  • Optrin: For discovering dll dependency errors and several other bugs.
  • Another_Bloody_Wolf: For discovering the "untitled", enemy drop and Time Trial boss bugs, as well for suggesting the stat balance idea.
  • Overlord Kego: For suggesting the option to keep randomized equipment stats.
  • vagrant18: For suggesting the equipment consistency option.

About

A tool which will randomize a copy of Vagrant Story.


Languages

Language:C++ 98.8%Language:C 1.2%