The camera and character slowing is horrible. It’s negative feedback. it feels (and is) sluggish, and I constantly second-guess whether I’m walking through mud or something, but no, it’s just the way the game works.
I can get wanting to make it so you can’t get places too fast, but there is no excuse for traveling 5 tiles up and 5 tiles right to take the same amount of time as walking diagonally across the same area. It is really bad. It feels terrible.
EDIT: MOST PEOPLE AGAINST THE IDEA OF SAME-SPEED DIAGONALS ARE ARGUING THAT IT WOULD MAKE THE PLAYER MOVE TOO FAST FOR GAME BALANCE.
But moving diagonal is provably slower than normal movement. This means that on average, if you go diagonal half the time, you’re going slower than if you only ever went up, down, left, and right. How is that not also bad for game balance? ANY player can go faster by never going diagonal and EVERY player accidentally goes slower by going diagonal when something is diagonally away from them.
This is not a game where your time traveling around place to place is particularly balance-heavy.. yeah, a horse makes it faster. Yeah, coffee makes it faster. But diagonal speed is not a dependant factor, it is not necessary for the game to function properly, it does not make any sense to lower it. This is not an SRPG where tile movement is key to the game’s balance and it would be patently and completely unfair to move diagonally at the same speed as other directions (unit has 5 move, unit can move 5 tiles, moving diagonally 5 tiles is equivalent to two turns moving at cardinal directions, for example), in this kind of game THAT DOES NOT MATTER, and movement speed does not need to suffer at diagonals. The game would not be broken if you weren’t arbitrarily slowed when moving at angles, and that argument is stupid.
Ok so I noticed this as well when I was playing, and saw all of the arguing going on here about whether you’re actually going slower or not or whether it just feels slower because they’ve made you move at the same overall speed but you don’t look like you’re moving as quickly in any one direction.
So like a good scientist, I decided to do a quick experiment. I found a spot in my yard where there was a triangle of ground plants/rocks laid out in a 5×5 triangle, and I timed myself running either diagonally across it or using only cardinal directions.
The results I got were very interesting. But first, let me list my sources of error:
- Even though the game is tile based, your character is not locked onto those tiles for movement, and so there is a chance that every run will start and end in slightly different spots, resulting in longer or shorter overall travel times.
- I timed it by hand with a stopwatch, so the timings are dependant on my reaction times.
- I am not a robot. So there will be variance between my runs, and I may not have perfectly executed the movements.
- 5 tiles may not have been enough distance to really make a noticeable effect
- I excluded any runs where I know I messed up, or the game stuttered, or some other thing happened that interfered with the trial.
I did each run 5 times and averaged the data for each. So let me go over the results. First of all, it IS faster to run diagonally across the 5 tiles than it is to run left 5 and then up 5. My average times for these trials was 1.43s for the diagonal and 1.82s for the cardinal directions in a 5×5 run.
HOWEVER… When you calculate the SPEED at which the player moves, by taking the total distance travelled (sqrt(52 + 52)=7.07units for the diagonal and 5+5=10 units for the cardinal directions) and dividing it by those times, it turns out that the player DOES move SLOWER when walking diagonally. The diagonal movement speed is 4.94units/s whereas the lateral movement speed is 5.49 units/s.
You move over half a unit per second (or ~10%) slower when you are walking diagonally than when you walk in straight lines. The only reason you can still cover a 5×5 diagonal faster is because the distance is 30% shorter, but you’re only moving 10% slower, so you still arrive 20% quicker.
If you’re interested, here is an image of my excel spreadsheet if you want to check my work.
I had a crack at my own test using a slightly larger area, 12 by 12 instead of 5 by 5, and these were my results:
- 3.9s to go diagonally
- 2.32s to go straight
- 11.66 to go diagonally walking
- 5.88 to go straight walking
So this gives:
- Running diagonally: 3.99 units/s
- Running straight: 4.74 units/s
- Walking diagonally: 1.33 units/s
- Walking straight: 1.87 units/s
What’s interesting is that our numbers don’t match, but the result is in effect the same. Interestingly, the slowdown appears greater while walking.
Edit: Made an error, corrected.
In this instance, say if we have a speed for the character, if we want to maintain that going diagonally what we would do is divide the speed in each direction by the square root of two, and as such when the velocities are added in game it would come back to the intended speed. What happens in game is consistent with it being given as being a factor of the square root of 3 for running, and square root of 4 for walking. Very odd.
What’s interesting is that by my numbers what we see is that:
- Running diagonally is 84% the speed of running straight
- Walking diagonally is 71% the speed of walking straight
What is interesting about this is that if there was an error, say the value to slow each direction by was something other than 2, say 3 or 4, what you would get is the percentage coming out as Sqrt(2)/Sqrt(3) or Sqrt(2)/Sqrt(4).
Compare the above values to:
- Sqrt(2)/Sqrt(3) = 82%
- Sqrt(2)/Sqrt(4) = 71%
Original Link – Continuation of discussion