Constraining player actions
One important consideration to make when adding enhanced capabilities to the player is the impact that the ability had on both the challenge and feel of the game experience. Recall that we added the ability for the player to sprint in the last chapter by holding down the Shift key. As it currently stands, holding down the Shift key while moving provides a significant increase in the speed at which the player can move. Without constraints applied to this ability, such as an enforced waiting period between uses, there would be nothing discouraging the player from holding down the Shift key at all times as they move.
This goes against the goal we set out to accomplish by adding sprint functionality, which was to provide more options to the player. If an option is so attractive that the player feels compelled to utilize it at all times, it doesn't actually increase the number of interesting choices available to the player. From the player's perspective...