Author Topic: So, how does FF7's exception handling actually work?  (Read 4029 times)

Bosola

  • Fire hazard!
  • *
  • Posts: 1749
    • View Profile
    • My YouTube Channel
It's evident that FF7 has some kind of exception handling, or else we wouldn't get 'Data Errors' when actors attempted to use animations that the game couldn't look up. But exactly how does this handling work?


The 'data error' functionality doesn't seem particularly comprehensive - I've only ever reproduced instances where it captures animation problems (a code 32). Even then, I've noticed that it can't handle animation problems when the action is called as a 'follow-up' to another (called as the special effect 'call [Modifier] after completion', as per the second halves of Vincent's Satan Slam or Cloud's Finishing Touch) - the 'Scene: XX / Code: YY' message comes out as the nonsensical 'Scene: #$' (though it's not clear why).


I've heard others refer to a Scene 38, which appears to be linked to KERNEL character AI issues, but I've never reproduced this myself. I can find no references to any other error codes. Do we know where this logic - and the text for the


On a related note, why is the FF7 animation system so brittle? Why doesn't FF7 just degrade gracefully and let an actor without an animation to a spell or action just idle for a while?

xLostWingx

  • *
  • Posts: 801
  • No Comment
    • View Profile
    • FFVII Lost Wing Mod/Hacks
Re: So, how does FF7's exception handling actually work?
« Reply #1 on: 2011-12-30 16:55:35 »
I can't help to answer this, but I can tell you that when I was encountering the Scene 38 error, it disappeared as mysteriously as it appeared.  One minute everyone, including Barret are working fine...next minute Barret breaks battles...the next day everything worked fine.  I'm sure this only adds to the mystery, but at least it is another piece of info.

Aali

  • *
  • Posts: 1196
    • View Profile
Re: So, how does FF7's exception handling actually work?
« Reply #2 on: 2011-12-30 17:03:26 »
On a related note, why is the FF7 animation system so brittle? Why doesn't FF7 just degrade gracefully and let an actor without an animation to a spell or action just idle for a while?

Who in their right mind would allow programmers to focus on exception handling for a product with no user serviceable parts?

It's evident that FF7 has some kind of exception handling, or else we wouldn't get 'Data Errors' when actors attempted to use animations that the game couldn't look up. But exactly how does this handling work?


The 'data error' functionality doesn't seem particularly comprehensive - I've only ever reproduced instances where it captures animation problems (a code 32). Even then, I've noticed that it can't handle animation problems when the action is called as a 'follow-up' to another (called as the special effect 'call [Modifier] after completion', as per the second halves of Vincent's Satan Slam or Cloud's Finishing Touch) - the 'Scene: XX / Code: YY' message comes out as the nonsensical 'Scene: #$' (though it's not clear why).

Someone tripped that one enough times to piss of whoever was working on that code :) Or perhaps it was developed early on when the deadline wasn't looming around the corner.

I'm surprised that you're surprised about the lack of error handling, its difficult for any programmer to get it right, without the pressure of managers and deadlines and the I-dont-care-about-this-shit-I-just-want-to-get-it-out-the-door factor.

Only reason why modern games are (slightly) better is that the engine is usually not developed in-house and whichever company did write it has an interest in error handling so that it can tell its customers what they're doing wrong.

I expect FF7s system to be nothing but inconsistent kludges dealing with a particular situation that came up during development.

Bosola

  • Fire hazard!
  • *
  • Posts: 1749
    • View Profile
    • My YouTube Channel
Re: So, how does FF7's exception handling actually work?
« Reply #3 on: 2011-12-30 18:56:39 »
Who in their right mind would allow programmers to focus on exception handling for a product with no user serviceable parts?


Someone who guessed that bugs will inevitably find their way into Gold, and that graceful degradation would be good practice for managing this risk? Granted, that's someone who isn't under a lot of pressure to release, but certainly not someone 'out of their mind'.

Someone tripped that one enough times to piss of whoever was working on that code :?: Or perhaps it was developed early on when the deadline wasn't looming around the corner.

I'm surprised that you're surprised about the lack of error handling, its difficult for any programmer to get it right, without the pressure of managers and deadlines and the I-dont-care-about-this-shit-I-just-want-to-get-it-out-the-door factor.

Only reason why modern games are (slightly) better is that the engine is usually not developed in-house and whichever company did write it has an interest in error handling so that it can tell its customers what they're doing wrong.

I expect FF7s system to be nothing but inconsistent kludges dealing with a particular situation that came up during development.

It does feel this way sometimes. Lots of things don't feel particularly orthogonal. How much do we know about FF7's dev process? I've heard about the fiascos for the PC port, but not much about the original release.
« Last Edit: 2011-12-30 19:05:09 by Bosola »