FINAL FANTASY IX

FINAL FANTASY IX

View Stats:
Ptival May 4, 2016 @ 12:38am
Let's dissect how Ragtime Mouse encounters ACTUALLY work!
Yet another Ragtime Mouse thread.

I got very tired of running around in circles not rustling leaves and not finding a single encounter (disc 3), so I decided to see what the code has to say.

So far my findings are modest but here it is:

The game uses (at least) two bytes to track your map location. Assuming no ASLR, they are the following:

0x191624A0 tracks the environment you are in (plain, forest, beach, ocean, etc.)
0x191624A1 tracks the location you are in (the name at the bottom on the pause screen)

AFAICT, the location has no significance on Ragtime showing up or not.

There are quite a few locations that look at the environment regularly when you are on the world map and the game is unpaused. I have not examined further yet.

I found out there are at least 3 types of forest:
- The forests at ground level on the Mist continent and in the Forgotten Continent archipelago have value 148 (0x94).
- The forests on plateaux of the Mist continent (Lindblum, Treno, Alexandria) have value 144 (0x90).
- The forests on the Outer and Lost continents have value 152 (0x98).

I have not found evidence that individual forests are tracked down to a finer extent, though I have not looked for that yet.
I don't have access to the Forgotten Continent so I can't check the forests there.

The hope here is to demistify the theories behind Ragtime's appearances. Of interest would be:
- evidence of the "no rustling leaves" theory
- evidence of the importance of the choice of forest (and the granularity of this choice)

Ideally, the exact algorithm behind the decision of a Ragtime encounter! :)

I will now try to look for a memory location that determines which kind of encounter you find yourself into, and will proceed to track down how this value is set.
Last edited by Ptival; May 4, 2016 @ 2:06am
< >
Showing 1-12 of 12 comments
Cress May 4, 2016 @ 2:30am 
I don't understand any of that technical stuff, but I encountered him five times in a row in the forest that surrounds black mage village. I was almost shocked at my luck.
Spec May 4, 2016 @ 4:28am 
An easy trick to encounter Ragtimer is to go to a forest and then "flick" the movement stick briefly to move (or tap the key). If done correctly, you'll move around very slightly, but you won't encounter anything except Ragtimer. Also works for friendly creatures.
Whilst grinding Mandrgoras around Treno I ran into him 3 times in a fairly short amount of time.
Snaeng May 4, 2016 @ 8:30am 
I have encountered Ragtime in the forest around the BMV without moving at all. I just let the speed-hack run (F1).
I don't have any evidence except personal experience, but:

1- The most important thing, the Ragtimer appears a limited (but cumulative) number of numbers per disc. It will show up 4 times in disc 1, and 6 times in disc 2, or 10 times in disc 2 if you never met it in disc 1. Depending on how many encounters you've had and the point you are in the game, you might have simply hit the scheduled max of appearances. The final encounter will only be available in disc 4.

2- The game does seem to track individual patches of forest, as I have never been able to find the Ragtimer twice in the same area. Not to say it doesn't happen, as it did happen to others, but there's definitely a smaller chance to spawn it than switching forests.

3- The "no rustling leaves" theory works and has been sorely tested by many, many people back in the day. It still works with this PC port. It's not so much as not rustling leaves, it's just that the game does not register quick movement flicks for random encounter purposes, and friendly enemies and the Ragtimer seem to work independently of that, so you can "filter" the battles. It was a common speedrunning technique used by people in the psone as well, hence why it's been confirmed beyond any doubt.

4- Another thing that I have been able to confirm myself says Ragtimer is more likely to spawn in your first open world battle. I ignored it completely until disc 4, and then found the 17 encounters in a row, simply by entering the Invincible and going back to the world after every encounter, plus using the quick tapping thing to filter out bad things.

5- I have always looked for it in the forests of Mist Continent because everything else looks too gloomy, and never had any problem finding it. I did accidentally run into it while looking for friendly monsters in the other continents though. But I'm not confident enough to say with absolute sure that the forest's location has no effect at all in its appearances.
Ptival May 4, 2016 @ 9:22am 
Eri:

1. I believe this. I don't have evidence for it.

2. I don't believe this. I have encountered Ragtime multiple times in the same area, but every time, it was within the same time frame (like, 5 encounters in a row)

3. I believe this as I have been able to:
- encounter Ragtime many times in a row with no monster battle by doing it
- walk a very very long time without any monster or Ragtime battle by doing it
I don't have evidence for it though.

4. Interesting, not sure I'd believe that but I might give it a try.

---

To be clear, my only hypothesis is that there seems to be a reason why the Ragtime Mouse would NOT appear in certain forests at certain times. I'd like to understand under which circumstances that is.

The reason I believe this to be true is that, using the no rustling leaves, I was able to circle around inside a forest for 5 minutes with no encounter at all.
slmorton May 8, 2016 @ 11:47am 
Have you encountered the Ragtime Mouse the max number of times in the first two discs? You also said that you haven't been to Forgotten Continent yet.

If so, I think I can save you some trouble. Play through the game until you clear Mt.Gulug and get the Airship, THEN go hunting.

I endured many hours of frustration before I cracked this nut.
Tirlititi May 8, 2016 @ 12:37pm 
This function runs every frames on the world map. If 1 is returned, the player encounters him.

if (FF9StateSystem.Settings.IsNoEncounter) { return 0; } long num3 = (long)Comn.random8(); long num4 = (long)Comn.random8(); long num5 = num3 << 8 | num4; long num6 = num5 % (long)(ff9.w_frameEventBattleProb + 1); int num = 0; if (ff9.w_frameEncountEnable && ff9.w_moveCHRControl_Move && ff9.m_GetIDTopograph(iDALL) >= 36 && ff9.m_GetIDTopograph(iDALL) <= 38 && ff9.w_frameCounter > 400 && num6 == 1L) { num = 1; } return num;

"w_moveCHRControl_Move" check if Zidane is currently moving.
"m_GetIDTopograph" is about the terrain type, most likely that 0x191624A0 variable.
"w_frameCounter" is a counter increasing each frame since you're on the World Map.
"w_frameEventBattleProb" is a number set to 231 (it doesn't seem to change).
Last edited by Tirlititi; May 8, 2016 @ 12:44pm
Ptival May 8, 2016 @ 3:27pm 
@Tirlititi: may I ask how you obtained this code? :o

That's exactly what I needed.

EDIT: Also, after having reloaded the game, the address locations change. They might be on the stack or somehow dynamically allocated.
Last edited by Ptival; May 8, 2016 @ 3:28pm
Tirlititi May 9, 2016 @ 12:28am 
That code is present in the game's .dll.
More specifically, you can use .NET Reflector or JetBrain's dotPeek programs to reverse the Assembly-CSharp.dll's code into C#.

This specific function is in the ff9.cs file, but to get where it comes from, you'd need to understand the EventEngine.cs system and moreover decompile the FF9 script files which are raw datas (my program Hades Workshop can partly decompile those of the PSX version).
Corban May 9, 2016 @ 2:43am 
Making ragtime appear is easy following this statements:

1 - Ragtime has a higher chance of spawn if it's your first time entering that forest.
2 - The chance is even higher if is your first encounter since you exited to the world map.
3 - Ragtime and friendly enemies don't follow the normal spawn rules, while in the forest just tap the movement so your step don't count for normal monters.

That known the fastest way (and the one I used) is:
With a dark blue or golden chocobo go to locations where you know that you haven't been (for example the higher forest near Alexandria and surroundings), enter the forest and start tapping the controller, if it happens to be a normal monster clear the battle, DON'T exit the forest, call the mog and save (this resets the battle count to 0) and look again.

Originally posted by Eri:
1- The most important thing, the Ragtimer appears a limited (but cumulative) number of numbers per disc. It will show up 4 times in disc 1, and 6 times in disc 2, or 10 times in disc 2 if you never met it in disc 1. Depending on how many encounters you've had and the point you are in the game, you might have simply hit the scheduled max of appearances. The final encounter will only be available in disc 4.

I made all the encounters, even the final one, just before going to Terra in Disc 3.
FFIX Steam version don't work with "CDs" despite FFVII and VIII did, so some things "CD" related I think that don't work this way anymore.
Ptival May 9, 2016 @ 8:47am 
The point of this topic was to have the actual rules the game uses, not rumors that seem to work.
< >
Showing 1-12 of 12 comments
Per page: 1530 50

Date Posted: May 4, 2016 @ 12:38am
Posts: 12