Users browsing this thread: 1 Guest(s)
Patch: Doggy Miss Bugfix

#1
Posts: 4
Threads: 2
Thanks Received: 10
Thanks Given: 0
Joined: May 2019
Reputation: 0
Status
None
FF3 US - Doggy Miss Mod
version 2 (updated)
released on 11/10/2019
author: Bropedio
download

I'm not sure if this bug has been addressed before, but it seems Interceptor and Golem appear up to 80% less often than they are meant to. This patch rewrites the miss animation selection subroutine to ensure that Interceptor and Golem always appear when they successfully block an attack. From the readme:

--------------------------------------------------------------------------------
This patch fixes a bug that randomly prevents Interceptor and Golem
from blocking attacks, even after they cause the attack to miss.

After reaching the miss routine (due to Dog Block or Golem), the game
selects a miss animation at random from the combination of all available
equipment and Interceptor or Golem. If an equipment block is selected,
the miss proceeds as though it had been caused by regular evasion.

The end result of this bug is that Interceptor will appear less frequently
when Shadow's equipment enables various block animations: dagger parry,
sword parry, shield, and cape. If all 4 equipment animations are available,
the chance of Interceptor appearing is reduced from 50% to 10%, though he
will still trigger misses 50% of the time.

Additionally, this patch routes Dog/Golem past the check for
Vanish/M-Tek/Zombie status that similarly causes Interceptor or Golem to be
silently replaced with a basic "miss" animation.
  Find
Quote  
[-] The following 3 users say Thank You to Bropedio for this post:
  • Gi Nattak (11-09-2019), madsiur (11-09-2019), seibaby (11-08-2019)

#2
Posts: 3,661
Threads: 267
Thanks Received: 696
Thanks Given: 294
Joined: Oct 2011
Reputation: 60
Status
Faith
Nice catch and nice fix!
  Find
Quote  

#3
Posts: 124
Threads: 1
Thanks Received: 42
Thanks Given: 3
Joined: Oct 2015
Reputation: 14
Status
None
i never considered this a bug, but rather Square's way of accounting for what is an arbitrary order of operations, so as to not lopsidedly "credit" the dog for an overwhelming and unfair number of blocks.

that is, if Protection A can randomly block 25% of attacks, and Protection B can randomly block 25% of attacks, somebody with both protections in place actually has four categories of dodges (or lack thereof):
i. Nothing blocks the attack (9/16)
ii. Only Protection A blocks the attack (3/16)
iii. Only Protection B blocks the attack (3/16)
iv. Both Protection A and B would've blocked the attack (1/16)

the question becomes: how do we divvy up credit for the overlapping Category (iv)?  the game can't well test Protection A's and Protection B's blocking of the attack simultaneously; it has to test ONE of those things first.  maybe we decide the first check alphabetically, by dice roll, by drawing straws, zodiac sign, etc.  whatever the method, it's a bit arbitrary as to who or what goes first.  and yet because the game's code is _fixed_, that entity is going to be checked first for EVERY applicable attack on that target!  so when an attack gets blocked -- by ANY means -- that first-checked entity gets a lion's share of the credit, even though other methods of protection were just as deserving.

Square attempts to more equitably distribute the credit for blockage by putting all blocking methods with animations into an eligible "pool", then randomly choosing between these animations.  the math may not be precise, but at least they're spreading the credit around.

from what i'm reading, your patch says that equipment/relics should never be in the "pool" with Dog/Golem, and always apportions credit to whichever would-be blocker of the attack has the good fortune of being checked first.

that happens to be the dog.  but what inherently makes Interceptor more worthy of credit for Category (iv) than a big, shiny shield or a three-foot (3-centimeter actual size; objects in Match.com profile are further than they appear) broadsword?  don't some enemy attacks come in above the waist?  is a pooch truly the first line of defense against all physical threats, or would it vary with their placement or the flow of battle?  again, Square's coders had to pick *some* Protection Method to check first; it just as easily could have been the character's evasion.  in that case, would it be fair to credit gear for the many attacks the dog might have blocked?

with a fixed order of operations, somebody's a' getting snubbed -- until a random "pool" or some method of accounting for overlapping block chances is introduced.  and that's what Square does!  the merging of weapon/equipment/relic and dog/Golem block animations into the eligible pool at C2/23CB seems pretty deliberate to me, so it's hard to call a bug.

i won't deny that Square's method is somewhat crude in how animation-possessing gear gets elevated above non-animated gear.  however, it's a bit of a shorthand: if gear can visually parry/block/dodge an attack, it can get credit for the missing.  if Square assigned a high Evade/MBlock rate to a piece of gear, they're likely to also attach an animation to it, and thus make it eligible for credit.  a more precise and nuanced way than a simple random roll would probably check the Evade stats of all gear that gets put into the block animations pool, and scale the occurrence of their animations accordingly.  however, such a function would be closer to 1200 bytes, and the source of many migraines. ;P

so Square went with lesser of the evils, and decided to randomly, evenly apportion credit between eligible blockers.  imperfect, but fairer than arbitrarily favoring whichever one was checked first in the ROM code.

Interceptor claiming credit for every last miss in Category (iv) turns him from a ninja's humble companion into one of those prancing AKC dogs with the lustrous coat of fur and the needlessly perfect posture.  that is, an insufferable twat who wouldn't last 2 minutes on an actual battlefield.  he'd go from Best in Show to First in Grave!

----

EDIT: but i spose that if one views the dog as a persistently earlier line of defense than any gear, it does make sense to have his animation prioritized over equipment's rather than considered side-by-side.

challenge implications are turning Shadow into a counterattack machine, yet having Golem get used up more quickly on attacks that weren't a threat to you to begin with.
Quote  

#4
Posts: 4
Threads: 2
Thanks Received: 10
Thanks Given: 0
Joined: May 2019
Reputation: 0
Status
None
You make a good case for this having been a deliberate decision by the developers, assassin -- I had not considered that possibility, and I think you may be right. Maybe it would be better to rename my patch from a "bugfix" to something else?

I personally think of Doggy/Golem more as part of the Bodyguard/TrueKnight category, which is why I thought of the animation handling as a bug. The change I've made will definitely be a nerf to Golem and a boost to Interceptor, so some additional balancing may be called for.

If we wanted to go the other direction, and make the existing animation selection routine more intuitive, I think I would lower Interceptor/Golem's evasion chance, and apply it directly to the target's Evade during the primary evasion calculation lower in the hit determination routine. That way, the pool of available evade sources would all be handled similarly, which would better explain why they are randomly interchangeable.

As a side note, one of the BNW beta testers, Cecil, just discovered a bug with this patch, so I will be uploading version 2 shortly. The current bug will cause misses against targets without any block animations to be converted into hits, followed by removal of statuses from the attack data, just as if DogBlock/Golem had intercepted. The cause is the `CPX` op assuming that X had been set by the block bit selection code.

Version 2

I've updated the patch to reflect assassin's point about whether the code constitutes a "bug", and to resolve a mistake that was causing non-equipment misses to be treated like DogBlock or Golem by accident. See the update readme.txt inside the zip file for more details.

The initial post has also been updated with the current version.
  Find
Quote  

#5
Posts: 242
Threads: 18
Thanks Received: 102
Thanks Given: 42
Joined: Mar 2014
Reputation: 8
Status
None
I disagree with Assassin's assessment. I don't consider Golem or Dog as a buff to evasion; I view them as separate mechanics because they are explicitly evaluated separately. They have priority over blocking so their animations should also take priority and not mix with evasion animations.

It's possible that they were meant to emulate an evasion buff and were just clumsily coded, but I don't think the way the animations are handled is enough evidence to suggest such a thing when the mechanics are so explicit.
  Find
Quote  

#6
Posts: 124
Threads: 1
Thanks Received: 42
Thanks Given: 3
Joined: Oct 2015
Reputation: 14
Status
None
to be sure, i recognize Golem and Dog to have their own algorithms (including a coin flip for block chance), and not be evasion buffs per se.  but i see their early evaluation as more of a result of Square having to test *something* first (quantum computing aside), as opposed to those inherently being a consistent first line of defense.  and then Square's random animation pooling as reflecting their awareness that they were giving too much credit to Interceptor/Golem and an attempt to mitigate this.

iow, i see the Esper and Dog as layers of protection that function outside of Evade proper, but exist side-by-side with equipment protection, as opposed to one group being strictly in front of or behind another.  conceptually, which entity catches an incoming attack first can depend on unstated things like attack height or angle, flow of battle, pure chance, etc.  the animation pooling is a nod to these variances, without trying to track or evaluate them with specificity.

admittedly, some of this boils down to assessing intelligence and nimbleness of the guardians.  how "eager" and "swift" are they to block -- i.e. does it always put them out "in front" of swords and shields?  also, regarding the other modified branch, are they "stupid" enough to bother protecting a character that's clearly Clear, or a rotting Zombie?  for instance, True Knight wearers won't try to protect Clear targets, but otherwise aren't so bright.
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite