Also in a lot of the old historical wargame tabletop systems, such as DBA, each unit type has a distance they can move, but if ANY of that move crosses 'rough terrain' then they use the lower value.
For example (move distance in open terrain and rough)
-Infantry = 2" and 2"
-Horse = 4" and 2"
-Cannon = 2" and impassable
And then infantry will get a bonus to defense in rough terrain, making them equal to horse. And also some rough terrain is also 'covering' which means they cannot be shot by cannon.
The other essential rule of a good Foot/Horse/Gun game is that infantry cannot charge horse, or if they do the horse simply back up without taking damage. It seems that historically there was never a recorded instance of an infantry charge on cavalry...seems strange but there it is.