Some of my favorite memories playing games were the GoldenEye tournaments my friends & I would host. We’d have three N64’s set up with four of us huddled around each one.
It’s still so vivid; the smell of pizza and the feel of sticky controllers from spilled pop, the cries of “No Oddjob!”, and the ocassional ‘tsk, tsk’ from my mother checking in on us and complaining how the game was too violent. Those were good times.
I was only reminded of those days because of the following snippet in the Haunted Jaunt tutorial:
Now you need to fix a small problem. The movement vector is made up of two numbers that can have a maximum value of 1. If they both have a value of 1, the length of the vector (known as its magnitude) will be greater than 1. This is the relation between sides of a triangle described by Pythagoras’ theorem. This means that your character will move faster diagonally than it will along a single axis. In order to make sure this doesn’t happen, you need to ensure the movement vector always has the same magnitude. You can do this by normalizing it. Normalizing a vector means keeping the vector’s direction the same, but changing its magnitude to 1.
Playing multiplayer GoldenEye, we had discovered that we could go faster by straffing diagonally than just foward or backward. I had always thought it was a glitch – and maybe FPS purists would classify it as one. It wasn’t until 20+ years later that I understood the math behind it.