Strange deflections: Why they happen

Share

Sometimes, weird looking deflections happen in this game. In this recent Reddit video post, we saw the ball sort of bending around the keepers gloves. It sure looks strange, but is it EA scripting the outcome of the game?

It’s a fact that FIFA not always abides the laws of physics. I don’t think anyone in their right mind is going to dispute that. But why does this happen? Scripting believers prefer to believe that these events are put in on purpose to make them lose. But for those of us who still have our feet buried in reality, there are other explanations available.

Collision detection

One such explanation is glitches in the game’s 3D collision detection algorithm.

Earlier in life, I did a bit of game development, and I played around with 3D graphics. Therefore, I know many of the principles used to render the visual scenery showing in a game like FIFA. One of the challenges of 3D game design has always been collision detection. In a 3D games, all objects are made up of small polygons. A FIFA football player consists of thousands of small triangles, which need to be rendered 60 times per second.

In order to create a realistic representation of the save portrayed in the clip above, EA’s development team needs two things: The ability to detect whether objects collide and the ability to determine the angle of deflection. In principle, collision detection is done by determining whether the aforementioned triangles intersect. After having determined that there was a collision, you need to calculate the speed and angle of deflection.

In theory, this is easy, and a well-taught high school graduate can tell you how it’s done. In practice, there is a problem: Each object consists of thousands of polygons, and you need to render the scenery 60 timers per second. Given these circumstances, you theoretically need to check for millions of potential intersections every 1/60 second. This is not feasible in practice, as it would require too much computing power. Therefore, software developers invented a shortcut, which allows the software to generate 99 % of the realism for about 1 % of the price.

What game developers do instead

The shortcut implies that the developer wraps the visual objects into simpler, but invisible objects. Below, we see two skeletons wrapped in boxes. In the example on the left, each skeleton is wrapped into one, big rectangular box. The skeletons on the right are wrapped in multiple boxes, meaning that each limb has multiple “wrappers”.

 

Images courtesy of www.toymaker.info

 

As I stated above, the shortcut may generate 99 % of the realism. But then there is the remaining 1 %, where things end up appearing less realistic.

The skeleton-example on the left illustrates this problem: The collision detection happens, when the invisible wrappers collide. Therefore, the software sometimes will detect a collision which in terms of timing or direction was different from the visual representation.

With the ever improving hardware capability, developers are able to use more and more complex wrappers, meaning that collision detection will become increasingly realistic. But even if you wrap every limb in it’s own box, the basic problem remains: The collisions you see on the screen are not the same as the collisions detected by the software – namely the collisions between wrappers.

Let’s not jump to conclusions

We may not know with 110 % certainty that scripting doesn’t exist. But we do know that FIFA uses a collision detection approach similar to what I have explained above. All games do. Therefore, it’s inevitable that we will experience things like –

  • Deflections between objects, that didn’t seem to collide
  • Deflections, where the direction appears wrong
  • Objects passing through one another, because the invisible “wrappers” weren’t aligned with the visual objects.

Hence, we are talking about phenomena which should happen under natural circumstances. It would defy all logic to conclude that things, while under normal circumstances should happen, were the product of some sinister conspiracy just because they happened. This simply isn’t how logic works. And it doesn’t help the least bit that your gut feeling tells you that it happens more often than it should.

Unless you have hard evidence showing that these egents happen in excess of what they normally would, there is absolutely no basis for the conclusion that they can’t be explained by natural reasons.

I’m fully aware that collision detection glitches doesn’t explain all the oddities happening in this game. There is no doubt that the game has other bugs as well, including this example where the opponent appears to have an invisible player. The point is however the same: This could easily be a glitch. All software has glitches. The fact that a glitch impacts the result of a match doesn’t in itself change the fact that it could be a glitch.