In the code: forest denotes a wooded area with a low density of trees.
The units can't move across a forest which is impenetrable.
Marsh : 50% isn't really fast... around 1.6km/h for an infantry unit...
Artillery unit can move across a marsh... always a bit complex to choose the good design... the question : if the cannons can't move with this penality, they have to choose an other way.. no always easy... AI tries to do the best... Probably I'll work on that when all run fine.
The slope increases the fatigue, so the speed also decreases with the slope.
JMM