The message you selected is no longer available for viewing.
Some encounter mechanics.
- Topic Archived
- Page 1 of 2
Your chance of encounter varies not only from dungeon to dungeon, but also from screen to screen within a single dungeon. Every half second (roughly), your chance of encounter will increase by a value dedicated to the particular screen you're on. That's a half second of directional movement... running in-place against a wall won't count. Your chance of encounter is then divided by eight and put against a random number between 0 and 255. If your chance is greater than the random number, you enter a battle.
Burmecia now, then.
Burmecia / Suburb: 64
Burmecia / Suburb: 40
Burmeica / Residence: 24
Burmeica / Residence: 40
Burmecia / Residence: 72 (area you pass through towards the balcony)
Burmecia / Suburb: 88
Burmecia / Pathway: 0
Burmecia / Uptown Area: 48
Burmecia / Uptown Area: 0 (statue room)
Burmecia / Uptown Area: 32
Burmecia / Square: 64
Burmecia / Armory: 0
Burmecia / Vault: 0
Burmecia / Palace: 0
...A lot of screens share names, so this is in the logical path you take through Burmecia your first time. The check does happen even when the chance of encounter is limited to 0, not that that's important. Just interesting, kind of. I figure the encounter values are changed from screen to screen to compensate for perspective and area, probably to make the encounter rate feel balanced throughout the dungeon. I haven't gone too far in testing world map encounters, but there is slight variance from place to place, though the most I've seen so far is 16. The encounter check takes place a little more often on the world map, three ticks under half a second.
So this is why some areas suck for random encounters. Also, walking through mist areas like there are in the Ice Cavern are an auto-battle. The check doesn't happen then, you just enter a battle.
Very interesting. I'm wondering how that helps explain the stop/run method - does the game constantly generate new random numbers even when you're not moving, but only checks against the encounter-counter when you're moving? Also in places with a rate of 64 for example, does that mean after about 32 seconds of movement on that screen it becomes impossible to avoid an encounter?
It'd be around 16 seconds. +64 roughly twice per second over 16 seconds, divided by 8. That's 256. S'actually every 34 ticks, so every 34/60 second. There must be some sort of movement tracker because I've had Zidane move, stop, then have the check performed near instantaneously when I pressed a directional button again. Guess I have to test the run/stop method now >_>;
The random number generator is a little beyond me at the moment, but it appears as though you have around 500 possible random numbers at any time, and the list is refreshed once its been run through. I know for sure that on the world map, the RNG list is constantly refreshed. But yeah, randoms are pulled whether they're needed or not. Pausing for a moment would give you a fresh random number... I knew that from savestate abuse before looking at the RNG directly. I've avoided random encounters and forced Stop, Steal, and Needle Fork petrification to work for me that way.
Stop & run isn't changing anything in the tests I'm doing. There's only so far Zidane can run before the check happens, taken in short sprints, tiny steps, or one long dash.
Well, it's good to know the stop run method is complete garbage.
I never felt it helped. Looks like it's another one of those things where the RNG > you, whatever you do. Maybe it gives the allusion of getting away with fewer encounters because more time will pass between them if you aren't trying to clear a screen in a continuous dash.
Also, gotta say I was wrong to apply time to the method, when it's evident that distance traveled initiates the check. 34 ticks would only apply in a continuous dash.
Well the reason I believe stop/run helps is because the RNG can be predictable to a degree. If you load the same save file multiple times and always run at the same speed, marking where an encounter happens each time, there seems to be a pattern that encounters are usually concentrated at a few spots. That suggests the RNG sequence has a few indexes where there's likely to be low numbers. If you pause and let those numbers go by, that effectively skips the encounter.
Not sure if the "pattern" is just an illusion though... I haven't done any real analysis. How does the game pick its random numbers? Is it in any way pre-determined?
It picks them FFVIII style, walking through a list by adding 1 to the address of the previously called random number. You're right that by remembering where an encounter took place on screen (which is remembering when the random wasn't in your favour), you can reset, wait a few moments, then try again against randoms that lie further down the line. It's the superstition of the stop / run method that I never really bought, as if frequent stops can manipulate the mechanics that decide when a battle will happen. For it to work at all, you'd first have to move through a screen and note where the encounters happened, then stagger your movements accordingly following a reset. I'd suggest charging through the first time, save yourself some time because you'll have to reset for encounters anyway.
I can't tell exactly how randoms are calculated or what the likelihood is that a particular section of the list will be high or low . XOR is used... I can track the list as it's refreshed and see how it's happening, but if there's a way to predict by XOR, I dunno how that is. I'm still a novice.
The random number generator is a little beyond me at the moment, but it appears as though you have around 500 possible random numbers at any time, and the list is refreshed once its been run through.
XOR is used... I can track the list as it's refreshed and see how it's happening, but if there's a way to predict by XOR, I dunno how that is.
Now that's interesting.
Can you tell me an (PSX RAM) address related to this (one of the slot's or the index') so I can take a quick look?
Also, does the card game use the same RNG?
"Naturally, I knows the hacker" - Kid, Ever17
0x0007b720 as a read / write breakpoint will get you started. Lemmee know what you find.
And I haven't done anything with Tetramaster yet.
Add user to Ignore List after reporting