There really isn’t a limit on movement speed in development. A game character’s position is really just a few numbers. If the character is at (156, 0, 150) this frame and I change that to (156, 0, 10150) between frames, I’ve moved 10,000 units along the Z-axis in a single frame. That move distance could easily be 100,000 units, or a million units as long as the map itself supports it. What that looks like reflected on screen is an instant teleport. Most games have debug commands to allow us to teleport anywhere on the map we want to go so we can get to where we need to so we don’t waste time traveling unless we have to. The upper limit on player speed we allow in game tends to be the intersection of two factors - hardware constraints and human reaction time constraints.
Hardware constraints are things like maintaining frame rate and the speed at which we can stream data off of either the hard drive or the optical disc. Transferring data from disk is much slower than transferring data from memory, and we need to load things into memory from disk like models, environmental geometry, textures, animation data, and so on. The faster the player moves, the more things tend to need loading and unloading. Since we have frame rate requirements, we have upper bound caps on speed such that the loading time of new assets doesn’t cause significant pop in or sacrifice frame rate.
The other (and much more common) constraint is just human reaction time. Our brains and our reactions can only process information so quickly before we get overwhelmed. Players moving at a speed beyond that comfort zone feels bad - it can cause frustration and anxiety because you’re literally out of control - you can’t move where you want because things go too fast. We want to keep it within the band of fast enough to get players where they want to go, but not so fast that the players don’t feel comfortable anymore.
[Join us on Discord] and/or [Support us on Patreon]
Got a burning question you want answered?
- Short questions: Ask a Game Dev on Twitter
- Long questions: Ask a Game Dev on Tumblr
- Frequent Questions: The FAQ