Realistic PC movement in 1pv/3pv games
its time for me to make some improvements to the basic movement code in Caveman 3.0:
8 directions of movement (forward, back, left, right, and diagonals),
3 movement speeds (walk, run, sprint),
and 2 movement modes (normal and stealth mode),
what combos of the above are realistic?
note: left means sidestep left, right means sidestep right, back means walk / run / sprint backwards.
the actual speeds of walk, run, and sprint would be modified by things like fatigue, encumbrance, damage, slowing effects, etc.
while you can side step, its not as fast as walking forward. you can side step fast - about as fast as walking forward - but trying to sidestep even faster usually results in tripping. same idea for walking/jogging/running backwards (try it! but be careful!).
for non-stealth movement, i'm thinking:
* you can walk, run, or sprint forward.
* you can sidestep left and right or walk backwards at 1/2 your forward movement speed, but no sprinting.
* forward diagonal speed should be 3/4 of forward speed, and you can sprint.
* backward diagonal speed is 1/2 of normal speed, and you cant sprint.
i'm thinking that for stealth mode, you should only be able to move at 1/2 speed forward, 3/8 speed forward diagonal, and 1/4 speed in all other directions, no sprinting.
once all this is determined, then the slope of the ground in the direction of movement would be applied to speed up or slow down the PC some.
I already do this, but based on the slope ahead, not in the direction of movement.
modeling the players horizontal velocity and applying accel/decel for slope, movement, and drag/inertia would work even better. then you'd need some time to come to a stop when running down a big hill.
right now, i simply apply both left/right and forward/back movements, resulting in unrealistically fast diagonal speeds. fixing that, and speed based on slope in direction of travel, not direction of view, is what prompted me to update the movement code. so i figured that while i'm at it i ought to try to get it a realistic as possible.
so what seems most realistic?