this post was submitted on 23 Aug 2023
2 points (100.0% liked)

Emulation

5 readers
1 users here now

Emulation across the ages

founded 1 year ago
 

I thought I would share an app for use with a fairly niche game in the Monster Taming/Sim/Raising genre, Monster Rancher on the Playstation (1). I don't expect many to know what this game is, but there might be a few that remember it. It frequently is called Pokemon ripoff or clone, but it's really a pet (monster) raising sim where you raise a monster up from a baby through it's life all the way through it's death. You can also cross-breed monsters (fuse them; parents are consumed in the process) to create new breeds or new babies with significant advantages over 1st gen monsters.

Monster Rancher had an interesting gimmick in that, while playing the game you could visit the Shrine, where part of the lore allows found "Disc Stones" (CDs) to be used at the shrine to create monsters. The game would prompt you to pop open the lid and put in any Music CD or other PSX game, it would read the meta data of the disc, then prompt you to re-insert Monster Rancher back into the PSX, at which point your new baby monster would be born.

In 2001 we discovered what data was being read and how to extract it from a disc so that the meta data could be shared without passing around copies of games and CDs themselves, then you could burn a blank disc with the meta data and use this to get special monsters that might be hard to get (or without having to buy hundreds of CDs/Games just to get a monster.).

In 2019 we fully reverse engineered the CD Read Process and how the game interprets the track data to create the monsters which allowed us to create an app to generate any monster on-demand and on the fly via the Make-a-Monster app. This process not only allows you to pick any monster on demand, but also any of the "random" stat offsets monsters can be born with.

With the Make-A-Monster files you can still burn physical media to play on console, or generate just the files for download to use directly in emulation where no optical drive is present and the app supports Duckstation, ePSXe (2.0.5), PSX, PCSX-R, CloneCD, ImgBurn

Monster Rancher 1 & 2 DX was released which is a remaster released in 2021 and includes a baked in CD Database to search and look for albums and songs, but for anyone still playing the original version of the game on Emulation, there's options for the CD Swapping gimmick for MR1 and MR2. One of the Monster Rancher community members has a ticket open with PCSX2 to try and get more emulator support for the Playstation2 versions of the later games but at the moment that's a bust.

Anyway, hopefully there's some ranchers here that will appreciate the research over the years that have lead to creating this :)

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (2 children)

Well, the 1999 NTSC version of MR2 has 391 playable breeds (factoring in all mixed, pures and rares).

  • There's a very small handful of additional non-rare breeds that are hard coded, I can't recall off the top of my head but roughly 10.
  • There's 58 Rare breeds (Special skins) that have no offset adjustments
  • There's 333 monsters that can have born-with stat offsets and there's 60 offset ranges x 2 offset parameters to determine final born-with offset stats.

I think this means there's roughly 1,198,868 total variations of the 333 breeds that can have offsets plus the ~68 rares/special spawns that don't have offsets.
This may not be exact, but it's a close ballpark.

There's several other apps on LegendCup that are amazing for playing the original or the new DX version if you are into Monster Rancher, but those aren't really emulation specific, and didn't want to risk being off-topic discussing them.
However, the Make-A-Monster app is for the 1999 NTSC and PAL versions for original console or through Emulation, so I thought i'd risk posting about it :)

Glad even 1 person knows what Monster Rancher is tbh!

[–] [email protected] 1 points 1 year ago (1 children)

My sister was even more into it. We had Monster Rancher 2. But I remember thinking the disc swap feature was like black magic. It honestly still seems like it. Even then, I wished more games would do the same. Can you imagine?

[–] [email protected] 2 points 1 year ago

The newest game "Ultra Kaiju Monster Rancher" on the Nintendo Switch (A cross over between Ultraman and the Monster Rancher franchise) has a feature for reading NFC (basically anything except amiibos -- probably a licensing thing).

I'm not sure how one would read NFCs using a Switch emulator, but that's kind of a next evolution of it I suppose.
There's also a Keyword system (type in any word in 2 input fields) to generate the monsters as well. The Keyword system has been fully cracked, and some mechanics of NFC has been cracked (for NTAG215 anyway).

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Small, but huge correction. I forgot to include (omit) replacements in my napkin math above. There are 60 indices and two index fields that are summed to the offset result. so index 0 & 5 produce the same result as index 5 & 0 etc.

  • Offsets can be a combination of 60 indices. Each breed with offsets is a choice of 2 indices from a set of 60 with replacement (1 & 5, and 5 & 1 are the same result), so (60-1+2)!/((60-1)!x2!) = 61x60/2 = 1,830
  • 1,830 x 333 (breeds that offsets can be applied to) = 609,390 spawns total
  • There are 60 ??? spawns in NTSC and 19 special spawns that aren't ???
  • There are 70 ??? spawns on PAL and 19 special spawns that aren't ???
  • There are 6 different monsters in the market and those spawn with base stats
  • 609,390 + 60 + 19 + 6 = 609,475 total monster spawns on NTSC
  • 609,390 + 70 + 19 + 6 = 609,485 total monster spawns on PAL

In MR2DX, the Indices work almost the same, except each index value has a range that it is randomly rolled, so if 2 same indices are together they can still be different. I'm not even sure how to math the possible value range for those but since the original game are static indices, it's much easier.