possible improvements to movement

darker99 3 years ago updated by Tyler Owen (Lead Developer) 3 years ago 3

Although the movement system is good enough as it is, I thought of two areas where some small improvements are still possible:

- You can change direction when jumping / falling. Obviously this isn't possible IRL.

- You climb just as quickly as you walk on level terrain. Even though gravity on Mars is much lower than on Earth, it shouldn't be possible to run up a nearly vertical slope with a speed of many m/s. Right now there really isn't any reason not to walk to your destination in a straight line. IMO it would be more fun if walking would require a bit more planning with regards to the terrain, i.e. find the shallowest approach to get to your destination fastest. Perhaps something simple as (pseudocode) newPosition = oldPosition + Time.fixedDeltaTime * speed * direction * (1 - Vector3.Dot(direction, Vector3.Up)) would work? Even at a 45deg slope it would still be doable at a .707 speed factor, while at more extreme angles it would quickly slow you to a near stop.

I don't know how easy they're to implement, and I imagine you have higher priority suggestions, but perhaps you could 'fix' these in the future :)

I'm not sure if you actually climb as fast as you walk on even terrain, at least I feel there's a notable movement speed difference between differently sloped terrains. Making it more emphasized as the steepness increases could make sense tho.

Your horizontal speed changes, yes, but to me it seems your total speed (sqrt(horizontal^2 + vertical^2)) remains the same. Anyway, I tried moving up near-vertical slopes, and that happens at a speed that's much too high to be realistic (and at slopes that shouldn't even be walkable without some proper mountaineering tools). Hence my comment :)


I actually agree that it is a bit too forgiving right now, so I've changed the slope speed and jump movement similar to your recommendations. Will be in the next update.