Wednesday, November 28, 2007

The wavedash is STILL not a glitch.

Apparently, the logic from my first attempt still confused several readers, so I will reiterate the logic here in a hopefully more understandable manner.

I have been doing software development for a long time. So, despite what many may think a glitch is, I will explain it here. Before software is released, it is tested to its greatest extent. Numbers and scenarios are fed through the system to ensure that it behaves correctly. Let us imagine a basic calculator as an example. Before releasing any kind of calculator software, we must make sure that it reacts appropriately to any given input. So, we test 1 + 1 and get 2. 3 + 5 = 8. 13 + 7 = 20. No matter how many times we run these tests, the results are identical. The software has structured limits on the results based on the input.

So now, the calculator is out in the wild. Like most non-graphing calculators, this one has a solar panel for power. In poorly lighted environments, my calculator starts to operate slowly. Eventually, it goes insane and stops cooperating (despite having power). The display works fun, but I punch in 1 + 1 and get 413 (I really have before). Despite the many tests done by the creators of this calculator, the math operation experienced a glitch. Something happened (most likely the low light conditions) to cause the software to behave irrationally but still believe it was operating correctly (hence the instant result displayed). By giving the calculator more light and restarting it, 1 + 1 once again yielded the expected result of 2.

In the world of Melee, the designers obviously knew about air dodging (since, well, they put it in there), so it probably did not take long for someone to ask the question: What happens when an air dodge comes in contact with a solid surface? Well, if it is anything besides a floor, it simply blocks the momentum. They could have left it that way and had the floor simply stop movement but allow the air dodge animation to continue. They chose instead to have the character slide along the ground (and sliding still exists in Brawl).

Now, there is another big controversy about the definitions of glitch and exploit. Some believe the two are identical. They both relate to intent, but they relate to entirely different intents. An exploit takes advantage of physics in a way the game creator never intended. A glitch violates the physics in a way the software never intended. In other words, while the creator's intent is mostly reflected in the software, a glitch happens when the system reacts contrary to the many tests run before release. Air dodge + contact with floor = slide. That is a natural occurrence in the game. Wavedashing is clearly an exploit because it is doubtful that the creators ever thought players would jump and air dodge so fast that the jump animations were essentially invisible to the point where characters appear to just slide along the ground. However, the software itself behaves 100% as it should.

Now, let us return to the Ice Climbers Freeze Glitch. Something happens in this process that leaves the victim in a grabbed state despite being released (and despite the Ice Climber losing his or her grip but not also freezing). Under all other circumstances, the victim simply breaks loose and is free to move afterward. Somehow, when the Ice Climbers get together, the circumstances become just right to where this system fault is made known.

I have seen Captain Falcon fall through the center of Corneria. I have also seen Fox fall through the center of Pokemon Stadium. The floors are supposed to be solid surfaces. Somewhere in the object collision algorithms, the system suddenly decides that the character ought to be relocated to below the stage. These are software glitches.

1 comment:

Anonymous said...

For the record, the match where Buzz saw Fox fall through Pokémon Stadium (Fire Stage) is between FoxTheStampede and myself (at UST7). And then a bunch of controversy started (BTW, MLG would not allow a match reset, and just continue the match, as it wasn't an intended or controllable glitch that I did to favor myself).
Oh, and later that year, I played Ganondorf versus a Falco, and I Thunder Dropped (D-Air) the Falco through the middle of the Fire stage on Pokémon Stadium. (Once again, it was that fire stage that had the glitch...coincidence?) It was through the dip that's to the right of the tree (this time), and not directly on the tree (for the UST7 incident).
And to get back on the subject matter; YES, exploits and glitches are different. If only those people that we argue with on the boards would read this blog (which they almost for sure DO NOT).