TASVideos

Tool-assisted game movies
When human skills are just not enough

Submission #7092: Shima33's PSX Digimon World "Glitch Shop" in 16:47.51

Console: Sony PlayStation
Game name: Digimon World
Game version: USA
ROM filename: Digimon World (USA).bin
Branch: Glitch Shop
Emulator: Bizhawk 2.6.1
Movie length: 16:47.51
FrameCount: 60390
Re-record count: 32276
Author's real name: James Harrison
Author's nickname: Shima33
Submitter: Shima33
Submitted at: 2021-04-08 13:16:46
Text last edited at: 2021-04-10 00:48:03
Text last edited by: Shima33
Download: Download (23377 bytes)
Status: new
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:
Temporary Encode:


(Link to video)

Digimon World is a game about the Digimon virtual pets, introduced at the height of the Tamagotchi craze in the Late 90's. The game focuses on a human brought to the Digimon's island by Jijimon, and was followed by various sequels that vary wildly from one game to the next.

Jijimon wants you to save the Digimon, but our protagonist, F, is far too busy glitching the memory flags by buying corrupted items to do that - eventually glitching his way all the way to the end boss, and beating him in 14:51.92.

Game objectives

  • Emulator used: Bizhawk 2.6.1
  • BIOS: SCPH5501.bin
  • Any% Completion
  • Uses Death to Save Time
  • Abuses Programming Errors
  • Major Sequence Breaking
  • Heavy RNG Manipulation
  • Glitched Player Inventory / Shop / Bank

Comments

Back at it again at Krispy Kreme! Haven't done a TAS in over two years, so it feels good to be back at this. This game caught my eye after I saw this Glitch Shop being achieved RTA, and I just knew that I had to convert it over to a TAS format. I'll explain that when I get to it, but before that, I need to explain the most crucial thing to the run-

The RNG

0x009010 is the RNG value for this game - 4 bytes unsigned determines all the game's RNG, and this game is heavily dependent on RNG. The RNG value can be forcibly changed by the player via several techniques - having your Digimon catch up to you, throwing an item to the Digimon while it is in battle, feeding the Digimon, praising or scolding the Digimon, taking the Digimon to the toilet, letting the Digimon rest, and having the Digimon digivolve. Of these methods, two are used most often: A) letting the Digimon catch up to you is most often used because it allows you to shuffle the RNG without opening the menu, and B) throwing an item to your Digimon while it is in battle, as battles usually take a long time regardless, and as exemplified in the final boss fight with Machinedramon at the end of this run, are, in battle, the only way to manipulate RNG.

Stage by stage comments

Opening / File City

Skip through the opening text as quickly as possible. No memory card, select "Day" on the day/night question. Character and Digimon names do not influence RNG, and the respective names chosen in this TAS were chosen because they were the closest letters that were not "A". "A" is boring!

Skip through opening cinematic and run straight to Green Gym.

Green Gym

The first spot of RNG Manipulation is here - I do a catch-up as the screen fades in, the interact with the training sign for "Offense" before Agumon can catch up to me again. Offense training is chosen because, when you train your Digimon, you can either train them normally, or with a "Bonus Try", which is basically a rigged slot machine that has a 1/10 chance of making the EXP gained X10. From here I do 6 rounds of training, letting Agumon catch up or not catch up to me depending on if the RNG value needs to be flipped, to secure the Bonus Try victory on the final round. Each round of training skips the in-game timer forward an hour, and 6 hours of training is needed to get a certain Digimon to appear later on in the game. Then, we leave Green Gym.

Agumon Fight

Several catchups chained together as well as precise character placement to ensure this battle goes as quickly as possible. Because we got the Bonus Try victory, our Agumon defeats the opposing Agumon in 4 cycles instead of 5 - quicker than that this early in the run would be slower because of the time wasted on RNG manips. We collect the Small Recovery dropped by the opponent Agumon, and run to Coela Point, which now has Coelamon on it's shores due to our 6-hour time advance.

Tropical Jungle

Direct path to Betamon - Betamon is important because he'll allow us to access the Glitch Shop later on. Next, we run to Overdell Cemetery, via Grand Canyon Entrance.

Overdell Cemetery

Thanks to a programmer oversight, player interactions with the Bakemon in this Cemetery do not lock the player's controls, as do usual player/Digimon interactions. By pausebuffering to gain further time, we run over and collect the Digimushroom on the other end of the map at the same time as Bakemon's text box appears. By doing this we have triggered the "Text Storage Glitch" - basically a programmer oversight that allows certain lines of text to be stored and manipulated in interesting ways - it's this which allows us to access the Glitch Shop. From there we leave Overdell Cemetery and deliberately die to the Darkrizamons outside, doing several catchups as we leave to ensure that fight goes as quickly as it can as well.

Glitch Shop 1

With the Text Storage Glitch active, we can now access the Glitch Shop by buffer overflowing the shop menu data with the Tamer Menu data. Because the block of data loaded by the shop is much bigger than expected, it allows us to access all 255 items in the game, of which over 100 are in-game flags used to track progress. From here it's a matter of buying the right items in the right order to flag up certain memory addresses and cause the game to recognize the player as much further in his adventure than he actually is; the first item we buy buffer overflows the player's Bit count (the in-game currency), effectively giving us an infinite source of money to buy all the other glitch items. Then, we buy some in-game flags, and 99 Super Restores and MP Floppies - the game flags have already been explained, the Super Restores and MP Floppies are to help with RNG manipulation on the final boss.

One side effect of the Text Storage Glitch is that leaving the shop with the memory values in this state will crash the game. To get around this, we moved our Small Recovery we picked up earlier to the bottom-left slot in our inventory during the Darkrizamon fight - the value in the bottom-left of your inventory is the first value that's read whenever a menu with the player's inventory in it is opened, for some reason, and due to the busted nature of the Text Storage Glitch, the game reads this Small Recovery as the "close menu" command, meaning that, as soon as we go to the Sell menu, the game force-closes the shop for us without crashing. Huzzah!

From here we set up the glitch shop again and buy another in-game flag, before going to the Item Keeper.

Item Keeper

The Item Keeper is the shop that Agumon opens, and where the game actually reads the flags that you have bought in the Glitch Shop, and applies them to memory. By banking them, they then enter the game's RAM, and activate their corresponding flags. We then leave the Item Keeper and return to the Glitch Shop.

Glitch Shop 2

We set up the Glitch Shop again, and buy some more flags. Then, we open and close the shop several times over - for some reason the Glitch Shop can be opened 6 time before it resets the shop data to a non-corrupt state, and as we need the shop data to be stable to allow us to clear the Text Storage Glitch once we're done with it, we quickly rinse through 3 glitch shops here. Then, we move our inventory items around again, placing a glitched item, "△△", in the bottom-left spot in our Inventory - this item will give our Agumon 20,000 Offense, which is about 19,000 more than would be possible without this glitch item - this will allow us to one-shot the final boss. From there, we talk to Betamon to clear the Text Storage Glitch, go to the Item Keeper to bank our flags so they activate in RAM, and then go to the now-unlocked final boss area.

Mt. Infinity

Precise walking to get to the Final Boss as quickly as possible. Once I arrive at the final boss, I do one catch-up to influence the RNG. The cutscene of Machinedramon digivolving also serves to further scramble the RNG. Now, we throw Super Restores to our Agumon at specific times, A) to ensure that he gets up as quickly as possible from being one-shot, and B) to further manipulate the RNG. In this fight, we're manipulating the RNG so that Machinedramon blocks as many attacks that our Agumon does as possible - this is the quickest way to build the "FINISH" meter, which is what allows to use our special move, which, when coupled with our 20,000 Offense, allows us to one-shot Machinedramon! With Machinedramon slain, RTA ends, at a final time of 14:51.92.

Post-RTA

Menu'ing to the finish. Nothing special.

Other comments

Improvements

  • Entrance to Overdell Cemetery could be 24 frames quicker with better pathing - going above is quicker than going below.
  • Overdell Cemetery could be 1 1/2 seconds faster by opting to go with the bottom Digimushroom instead of the one on the left.
  • Darkrizamon could possibly be a second quicker with a different RNG seed.
  • Might be a few frames to save on general Menu'ing and Mt. Infinity pathing, but not much - a quarter-second at most?
  • Machinedramon could be, theoretically, up to 16 seconds faster with a perfect RNG seed - such a seed wasn't found during the making of this run, and the best that was quickly available was used instead.

Special thanks go out to...

Raikou for inspiring me to TAS this in the first place, Geta92 and Dragoonanime for great technical support during the making of this TAS, everyone in the Digimon Speedrunning community, and you, for watching!

Suggested Screenshots:

37197.

Similar submissions (by title and categories where applicable):