Tip:
Highlight text to annotate it
X
Hey.
This is NEroNeRoNerON aka Nero
aka Neron aka Xero
aka Kynos aka XeroKynos
aka NxK aka Natham
and I am going to talk about and explain in-depth how random battles work in Final Fantasy 7.
In this game, one can get battles in basically two different "places".
On the world map, and on field maps.
It should be obvious what the world map is. So, any place, screen rather, that is not
on the world map is a field map.
Now, not only are there two distinct locations, the world map and field maps,
to get battles on, but also are there two kinds of battles,
random battles and scripted battles.
Both, the world map and field maps have random and scripted battles.
In general, it is very easy to discern them.
On fields, short for field maps, any boss battle is a scripted battle.
But not every scripted battle is a boss battle.
On the world map, for instance the Midgar Zolom is a scripted battle.
Scripted battles work almost the same on fields and on the world map.
Random battles, however, do not.
There is a difference both in "when" random battles
occur on fields and on the world map and in "which" random battle will occur.
As a rule of thumb, random battles on fields are not random at all.
Neither the "when" nor the "which" aspect is random.
Technically, random battles on the world map are not random either,
however, they appear to be random even upon closer inspection
and they are harder to manipulate.
Therefore, I will focus on field maps but I will also try to
elucidate the mechanics behind random world map battles later on.
Now, in Final Fantasy 7, some fields have random battles,
for instance any screen of the Ancient forest; some fields don't have random battles,
for instance any Fort Condor screen; and some fields temporarily have or don't
have random battles, for instance the Shinra Mansion after or during
the Kalm Flashback, respectively.
Let us call any field that has random battles a hostile field.
For as long as random battles are enabled on a field,
it is a hostile field. When random battles are disabled on a field,
either permanently or temporarily, it is a non-hostile field.
If you have ever watched a livestream of an FF7 speedrun,
chances are you have heard of the term step counter or step count.
The step counter is an in-game value that keeps track
of how many steps you have taken on hostile fields.
It is incremented for every step you take on a hostile field.
It is used only for hostile fields, it is not used for non-hostile fields or the
world map.
The step counter consists of a step ID and an offset.
At the beginning of the game, the step ID and the offset
are initialized as 0. Saving and resetting does not reset one's
step counter.
Every step one takes increases one's step ID by a value of two.
Once one's step ID reaches 256, it is reset to 0
and the offset is incremented by a value of 13.
The offset is considered modulo 256. Hence, the step counter is unique modulo 256
times 256. So, technically, after 65,536 step IDs, the
step counter is reset. In a speedrun, one does not even come close
to taking enough steps to reset one's step counter though.
Now, on fields, there are two modes of movement, walking and running.
1 step walking covers 1 fourth of the distance 1 step running does.
Even though it takes slightly less time to complete 1 step walking than 1 step running,
running is, distance-wise, by far the faster means of movement as one
needs to take 4 steps walking to pass the distance of 1 just step running.
In a speedrun, it is in certain cases still advisable to move by walking
instead of by running.
I am going to explain why.
After every step on hostile fields, a so-called battle check takes place.
A battle check determines whether one will get a random battle or not.
During the battle check, one's so-called danger value is compared against
a so-called battle check value. If one's danger value is less than or equal
to the battle check value, there will NOT be a random battle.
If one's danger value is greater than the battle check value,
there will be a random battle.
Even though the battle check value is supposed to be a random number,
it is actually taken from a look-up table. In fact, every battle check value is determined
by the step counter value of the step the battle check
is triggerd on. Therefore, by disassembling the game code,
one can know the respective battle check value for every single step counter value in the
game.
This allows one to know precisely what value one's danger value
must be less than or equal to on any given step
to not get a random battle.
What about the danger value then, you may ask.
The danger value is increased every time one takes a step
on a hostile field. The danger value is reset to 0 after any random
battle, as well as by saving and resetting.
Every hostile field has an encounter rate. 1 step running increases one's danger value
by the encounter rate of the hostile field.
So, the higher the encounter rate, the higher the increment of one's danger value.
Thus, on average, a higher encounter rate corresponds to a higher frequency of random
battles.
As I said, 1 step running increases one's danger value
by the encounter rate of the hostile field.
1 step walking, on the other hand, increases one's danger value
by only 1 fourth of the encounter rate of the hostile field.
In conclusion, 1 step walking increases one's danger value
by only 1 fourth of what 1 step running increases the danger value.
At the same time, as I mentioned earlier, 1 step walking covers only 1 fourth of the
distance of 1 step running.
This means that, in terms of distance, one can walk for 4 steps
or run for 1 step to cover the same distance. In terms of danger value increase,
1 step running will increase one's danger value
1 time for the encounter rate of the given hostile field,
whereas 4 steps walking will increase one's danger value
4 times each for 1 fourth of the encounter rate of the hostile field.
So, by 4 steps walking or 1 step running, one will have travelled the same distance
and increased one's danger value by the same amount.
Therefore, it might seem that it should not make a difference
if one moves by walking or by running.
Not quite at all.
Remember the battle check.
A battle check is triggered after every step on hostile fields.
Indeed, it does not matter if it is 1 step walking or 1 step running.
Consequently, walking for 4 steps will yield 4 battle checks,
while running for 1 step yields only 1 battle check.
Since random battles on fields occur if and only if,
during a battle check, one's danger value is greater than the battle
check value, it might seem that walking causes more random
battles than running because walking entails 4 times as many battle
checks as running does.
On average, this does hold true. If one wanted to get as many random battles
in as little time as possible, on average, one should walk all the time.
However, surprisingly, in certain cases, walking for a certain amount of steps
actually reduces the number of random battles one will get.
How so, you may ask.
Remember that every step counter value has a respective battle check value,
and it is possible to know those battle check values.
Even though walking causes more battle checks, at any of those battle checks,
as walking increases one's danger value by much less than running does,
one's danger value will be a much smaller number.
Consider the following example.
Imagine you load a save file on a hostile field with two save points.
You start in one save point and intend to reach the other one
in as little time as possible. Imagine also that you are aware of your step
counter and of the battle check values for any step counter
value. Assume that the distance between those two
save points is 42 running steps, which is equivalent to 168
walking steps.
Let us assume that, if you run for those 42 steps,
you get an encounter on the 8th step, which means that during the 8th battle check,
your danger value is greater than the respective battle check value.
Now, assume you walk for the first 8 steps. Then, during the 8th battle check, your danger
value will be only 1 fourth of what it was
when you ran for the first 8 steps.
Assume that at this point, because your danger value is lower than before,
you are able to pass the battle check.
Afterwards, having removed that random battle, you run for the remainder of the distance.
As you walked for the first 8 steps, you only covered
1 fourth of the distance that running would have covered.
Therefore, you need to run for 6 additonal steps.
Also, for all the remaining battle checks, your danger value will be higher than before
because you did not have that random battle which would have reset your danger value.
Still, depending on the respective battle check values,
it is perfectly possible to pass all those battle checks.
In that case, walking for a few steps in the beginning
allowed you to remove a random battle and save
quite some time on this.
This is exactly why in a speedrun of FF7, in certain cases, one can save time by walking
for a certain amount of seps.
These are the basics you need to be familiar with
to understand how random battles on fields work in Final Fantasy 7.
But there is even more.
In a tool assisted speedrun, one can employ a technique called stutter
walking.
As every step is made up of several step fractions, one can alternate between walking and running
in intervals much smaller than entire steps.
Interestingly, one's danger value increment is determined by the mode of movement
of the last step fraction of every step.
If one runs for all but the last step fraction and walks only for the last step fraction
of every step, one can cover a distance almost as high
as that of an entire step running but increase one's danger value by as little
as possible.
This is called stutter walking, and it allows one to greatly reduce the number
of random battles one will have.
Nonetheless, it only makes random battles much less frequent,
it does not remove them entirely.
A technique called Encounter Skipping, however, can.
If one opens the menu on the same frame one is to get a random battle on,
one will skip that random battle.
This is called Encounter Skipping.
While it can be used to remove literally every single random battle,
skipping random battles does NOT reset one's danger value.
So, after skipping a random battle, one is likely to get another random battle
very soon as one's danger value is not reset,
making it harder to pass battle checks.
Additionally, if the last random field map battle
before a scripted field map battle is skipped, one will trigger the so-called Repeating Boss
Glitch and get that scripted field map battle twice
in succession.
Pre-Emptive Attacks are a particularly interesting kind of random battle.
Every step counter value has or does not have a pre-emptive flag.
If one does not have any Pre-Emptive materia equipped,
on average 15 out of 256 steps have a pre-emptive flag.
Now, a random battle will be a pre-emtpive battle,
if and only if it is triggered on a step that has a pre-emptive
flag.
As random battles occur only if a battle check is not passed,
which means that one normally cannot get a random battle
on just any random step, one might find that pre-emptive flags are
often "wasted" on steps one does not even get a random battle
on in the first place.
Moreover, not all battle formations allow for pre-emptive attacks.
For example, one will never encounter Master Tonberry
in a pre-emptive attack.
Then again, quite some scripted field map battles,
among them 5 boss battles, can be turned into pre-emptive attacks.
For instance, Aps and Jenova-Birth can be encountered
in a pre-emptive battle.
In order to turn a scripted field map battle into a pre-emptive attack,
one needs to trigger it on a step that has a pre-emptive flag.
In contrast to random field map battles, which normally cannot occur on just any given
step, scripted battles can,
effectively making it easier to have pre-emptive scripted battles than pre-emptive
random battles.
So much about the "when" aspect of random field map battles.
What about the "which" part.
It turns out that which random battles one will get on fields
follows a very simple pattern.
Upon every hard reset, an in-game counter is initalized as 0
and incremented by 1 for every random battle one has,
or even skips, on a field. That counter is used globally for all save
files and NOT reset by soft resetting.
It is, however, reset once it reaches 65,536.
Whenever a random battle occurs on any field, that in-game counter determines which encounter
one will get. This means, that after a hard reset, the first,
second, third, an so forth, encounter on fields will always be the same.
For instance, immediately after a hard reset, one will always encounter a Master Tonberry
on any of the two split-up screens in the Northern Cave.
This concludes the field map section.
Onto the world map.
The world map uses its own step counter, danger value,
encounter rates and battle checks.
To start with, one is always running on the world map.
Whenever one enters the world map, either by leaving a field that leads to the
world map, by resurfacing via the submarine,
by loading a save file on the world map, or after any battle, random or scripted, on
the world map, one's step counter is reset
and takes the value of 116.
By disembarking any vehicle, for example the buggy,
one's step counter value is reset to 226.
In order to get a random battle on the world map,
one must not pass a battle check. A battle check on the world map, just as on
field maps, compares one's danger value against a certain
battle check value. If one's danger value is less than or equal
to the battle check value, there will NOT be a random battle.
If one's danger value is greater than the battle check value,
there will be a random battle.
To trigger a battle check on the world map, one's step counter, which has an initial value
of 116 or 226, first needs to reach 256.
At 256, it is reset to 0. From then on, every time one's step counter
reaches a value of 10, it is reset to 0 and a battle check takes place.
The step counter is incremented for every step,
either by foot or by buggy, one takes on the world map.
If one takes steps on a part of the world map that
does not have random battles, though, the step counter does not increase.
This means that one will not get random battles while travelling by the Highwind, the Tiny
Bronco or the submarine or while riding a chocobo.
Travelling by the buggy, however, does not remove or
reduce the number of random battles.
Still, if one continuously gets out of the buggy,
for doing so resets the step counter to 226, one can remove all random battles on the world
map.
Every type of terrain in every world map region has its specific encounter rate.
Generally, forests have higher encounter rates than
grasslands, which have a higher encounter rates than beaches.
Several parts of the world map do not have any random battles at all,
the marshes one can find the Midgar Zolom in,
any river one can pass by Buggy, any of the three wooden bridges before Wutai,
any forest in the Cosmo Area, around the Ancient forest,
any forest in the Icicle Area, and the patches of frozen soil around the
City of the Ancients.
Even though random battles on the world map and on field maps
are triggered in the same fashion, namely by not passing battle checks,
there is one distinct difference between world map and field map battle checks.
Whereas on fields, the battle check values used in the battle checks
correspond to the respective step counter values
of the steps the battle checks are triggered on,
this is not the case for the world map.
In addition thereto, whereas on fields, it is extremely easy to
predict which encounter one will get in a random battle,
this is not the case for the world map either.
In fact, upon entering the world map, by leaving a field that leads to the world
map, by resurfacing via the submarine,
by loading a save file on the world map, or after closing the final battle results
screen of any battle on the world map,
four things determine the battle check values and the encounter in case of a random battle.
Firstly, the in-game time, the exact seconds counter,
upon entering the world map.
Secondly, every time one has a battle check, regardless of whether it leads to a random
battle or not, the battle check values for the next battle
checks and the encounter in case of a random battle
are recalculated.
Thirdly, tapping left or right or using L1 or R1
to rotate the camera angle. It does not matter which of these buttons
one presses but every time one does,
the battle check values and the encounter in case of a random battle are affected.
Just running up or down, without any horizontal movement,
does not affect the battle check values or the encounters.
Finally, just being in a certain part of the world map,
let us call it the Zolom Square, affects the battle check values and the encounters.
Thus, being aware of one's in-game time, one can manipulate world map encounters
for instance by only moving up or down or by always holding left or right.
This concludes my random battle guide. I hope you found it enlightening.
Thank you BrutalAl, antd, NFITC1 and Erzfreund.
Thanks for watching.