Diagonal Movement Speed

Do you prefer the fast (current) or the normal (/debug Diagonal) speed?

  • I prefer it as it is (fast)!

    Votes: 9 56.3%
  • I prefer the new speed!

    Votes: 4 25.0%
  • I don't really care either way!

    Votes: 3 18.8%

  • Total voters
    16

Teddy

Developer
Staff member
Hey boys and girls!

Please do not vote without actually testing this in-game!

A few patches back, I introduced a chat command that most people probably didn't notice. The command is /debug Diagonal and it will make the game handle diagonal movement differently.

Right now, when running diagonally the game will move you as fast in both directions as if you were only holding down one direction. This causes your actual velocity to be ~40 % faster when running diagonally. With the debug command, you can make the game normalize the direction to run at a mathematically correct speed.

Here's a short visual aid for the 2 people interested

The current behavior is not a bug as such, but simply a movement method that I personally prefer. Strangely enough, sometimes not everyone agrees with me! Therefore I would like to ask the community to go into the game, type "/debug Diagonal" (without quotes) in the chat and try playing that way for a while!

If it turns out that a majority of people actually prefer this kind of movement, we'll likely change it up at some point in the (not super far) future. If that happens, we'll naturally also do minor changes on certain mechanics in the game, since some stuff will become more difficult. I'm looking at you, Giga Slime spin!

So, get into the game and try it out, and then vote in the poll! Feel free to post below if you want some more verbose discussion.
 

HexZyle

Boar
It basically means that currently when you are moving a diagonal direction, your vertical position is changing by 100% of your movespeed, and your horizontal position is changing by 100% of your movespeed, which causes you to actually move at a speed of 141% (people who are familiar with Pythagoras theory or vectors will understand the math behind this)

With the current method, you can kite mobs far faster by moving in a diamond-shaped loop as opposed to a square-shaped loop, while the new system makes them both the same.

To give you an idea of what's wack about the current system, I did some video comparisons of moving cardinally and moving diagonally in the current system:

Attracting items diagonally
Attracting items cardinally
Kiting mobs diagonally
Kiting mobs cardinally

You can test this yourself by entering a building that has a fixed camera and moving around diagonally and cardinally to see the immense difference in speed.

What /debug Diagonal (That's case-sensitive for some reason) does is causes your speed to be correctly reduced to 100% when travelling diagonally (by reducing your horizontal and vertical speed to 71%)
 
Last edited:

Own

Moderator
I enjoy the fast, twitch-reflex based combat of SoG. The smooth, quick combat is what drew me to the game initially, testing this command out in game made me feel as if my character were moving underwater. Really uncomfortable and unpleasant, like they took the physics to Sonic the Hedgehog and tinkered with them. I like running around the screen, smashing into enemies and dodging away from them in the span of seconds. This feels like it would take a lot away from that.

The game mechanics are near enough perfect, for me (aside from the fact that perfect guarding from above seems 200% more difficult than shielding from the sides, and from below seems 125% more difficult). I'm not sure why anyone would have a problem with them?

If that happens, we'll naturally also do minor changes on certain mechanics in the game, since some stuff will become more difficult. I'm looking at you, Giga Slime spin!

I really like the Giga Slime's spin and kind of wish it were faster. :D Players really need it beaten into them early on "If you don't use your shield you won't get very far".
 

HexZyle

Boar
testing this command out in game made me feel as if my character were moving underwater. Really uncomfortable and unpleasant, like they took the physics to Sonic the Hedgehog and tinkered with them.

This is how I feel all the time whenever I'm not moving diagonally, like when I'm running from one end of the town to another. It feels so stupidly sluggish compared to when moving in combat.
In my opinion, and due to the mechanics of the game, there's simply no reason to ever move in only one direction in combat. There's no point in walking in a straight line when you can zig zag all over the place and be 40-100% harder to hit, practically running diamonds around your foes (like in the videos I linked above)

So perhaps what needs to be done is not reduce the diagonal movement speed as much, but to increase the cardinal movement speed?
 

ark626

Moderator
I also tested it and agree that it feels slugish and unresponsive.
Somehow the "underwater" feeling @Own had is really true...
Altough the math says its correct it feels less responsive in combat.

And i had the impression that the background is moving strangely due to the movement

But maybe im just to comforty with the current speed cause i have over 100 hours playtime :D

Also i don't recommend to increase the x or y axis movment because currently it is balanced as it is.
 

HexZyle

Boar
I also tested it and agree that it feels slugish and unresponsive.
Somehow the "underwater" feeling @Own had is really true...
Altough the math says its correct it feels less responsive in combat.

And i had the impression that the background is moving strangely due to the movement

But maybe im just to comforty with the current speed cause i have over 100 hours playtime :D

Also i don't recommend to increase the x or y axis movment because currently it is balanced as it is.

I don't understand this at all. So you think that moving cardinally is fine as is, but you admit that without the speed boost on the diagonals, you can't tolerate combat? Do you not use cardinal movement much in combat?

Just trying to pinpoint where people's idea of it being "sluggish" is coming from. Relying primarily on the cardinal movement, for me, is brutal when it comes to being chased down by jumpkins, and to a lesser degree, boars. (because the game has been balanced to suit players who are used to the increased speed of the diagonal movement) But as soon as I start abusing the diagonal glitch, I can outrun freaking everything like some tasteless speedhacker.

I want to watch some high level player's gameplay, and record the percentage of time that they spend moving diagonally compared to cardinally. That may shed some insight into how ingrained this is into people's playstyle, and could explain why people are uncomforable with the change.
 
Last edited:

ark626

Moderator
No what im saying is that the combat with the current diagonal movement feels fine while the combat with the debug diagonal movment feels slugish and laggy.
What im saying is that the movment diagonal feels less responsive on the debug setting.

The general idea of speeding up the one axis movment i don't recommend.

Or in general in my opinion the diagonal movment as it is is fine and the one axis movement is also fine as it is currently.
 

MrChocodemon

Handsome Moderator
I think the "laggynes" has nothing to do with how much you used what.
I can feel that the game slows the whole movement instead of using another speed. It just feels and looks a bit choppy.
Ok, when we, would like this and it gets implemented, then Teddy would not use such a hacked version of the speed, but rather a better one.
Maybe something where the speed is constant and you have a 360° movement which is limited to 8 directions, rather then the 4 directions with the diagonal crammed into it.

I have the feeling that some of the monsters are designed to accompany the "faster" movement we have right now and if the game switched, most enemies would need some tweaking.
Halloweed has the same cardinal movement speed as the player and the diagonal boost is the only way to gain some distance. That would change some grinding sessions.
General world traversion would take longer and arcade mode runs/challenges would take longer and need timing adjustments.

I don't like the slowed down "corrected" speed. And I don't see any benefit, but many downsides implementing it.
 

Teddy

Developer
Staff member
I wonder what the correlation between preferring the faster speed and using keyboard is. The slower speed feels more okay to me on a gamepad, but using the keyboard I do get the feeling of unresponsiveness as the character's movement isn't mapped 1:1 with the keys pressed. When using an analog stick the expectations from the brain are probably a bit different!

Or maybe there is no correlation at all - and regardless it isn't necessarily a super interesting point :D

@MrChocodemon the speed is mathematically accurate in the debug mode! The distance traveled is exactly the same as if you moved to the sides.

As for the background being choppy, that's an effect of the character moving through the subpixels. Normally the movement speed is 2 - that is, an integer. With the debug flag, the character moves ~1,414 pixels per frame while running diagonally, resulting in the following sequence:

1,414, -> 2,828 -> 4,242 -> 5,656 -> 7,07 ...

As you can see, rounded to the nearest integer, the sequence becomes 1 3 4 6 7, and culled 1 2 4 5 7.

This results in a constant stuttering as every third frame or so moves at a different speed from everything else. I might be able to rubberband this effect a bit by "buffering" the jumps as much as possible and only moving the camera that extra pixel when it really needs to catch up. The camera would need some serious tweaking for this not to be noticable, though.

As I said, I personally also prefer the fast version when it comes the character movement itself. I do very much acknowledge the fact that it interacts weirdly with certain enemies, though. The enemies use normalized directions, and as @HexZyle says, this makes them extra kiteable diagonally since the player will have an advantage. A really weird thing to try regarding this would be to un-normalize their movement, and have them gain the same diagonal boost as the player gets...

That would probably be a sight to behold :D
 

GarlicJelly

Friendly Moderator (Formerly known as GoodStuff)
I haven't touched the game in a while and the first thing I did when I started was to test with the debug command active. I couldn't feel the slower speed but I could see it with the snowflakes falling slower. I think the visual que is what's giving the sluggish and slow feeling. I don't really have a problem with either but then again, I played the game for over 80 hours without noticing the increased speed so... :p
 

MrChocodemon

Handsome Moderator
@MrChocodemon the speed is mathematically accurate in the debug mode! The distance traveled is exactly the same as if you moved to the sides.
I understand that, but the lagging comes from the way movement is programmed is what i wanted to say (with the integers), but you could reprogram the way the player moves entirely. If you disregard the pixels, it could be smooth but the player sprite would look ugly from time to time when standing at a floating point.
You could increase all speed to 2.
 

ark626

Moderator
Yeah floating points are really a huge issue at some point of gamedeveloping.
But as i know that movment thing, there are different possibilities,

=> changing the whole coordinates to floats and the movment also a float (would prevent most of the stuttering effects )
=> change the speed of the single axes movment so the diagonal movment is no double or float value
=> use some techniques like they use to prevent aliasing (its in principle the same pc problem)
=> change nothing at all

All of these posibilities have their own advantages, but i don't see any other options
 

Own

Moderator
I have to admit that I am pretty much constantly moving in a diamond around enemies.

But that's not to take advantage of the speed boost, I was only recently informed that was even there. It's because you never want to approach an enemy head on, especially in Arcade. Plus a lot of enemies have problems hitting players in their diagonals. :)
 

HexZyle

Boar
I have to admit that I am pretty much constantly moving in a diamond around enemies.

But that's not to take advantage of the speed boost, I was only recently informed that was even there. It's because you never want to approach an enemy head on, especially in Arcade. Plus a lot of enemies have problems hitting players in their diagonals. :)

So is this a point in the favor of a diagonal movement nerf? Since you already have a defensive bonus from approaching from enemy diagonals, you don't also need a movement bonus?

I probably only noticed the increased diagonal speed because I am a hobbyist developer myself, and a math geek, so I pretty much immediately picked up on the amateur geometry mistake.

What I would like to see, is a bunch of people new to the game asked to play through the game with this enabled, to see if they also don't notice a difference.
 

ark626

Moderator
@HaxZyle Its not the only point, the point is also, that it would need a huge rebalancing for some enemies and in the feeling of the movment.

Altough it feels slow for the players, in terms of math it is exactly correct, but as gamedeveloping isn't about correctness, its about usability.
And for that one we need more players to test both settings and answering the question, so there will be a check.

Simple reason for this is the gameplay itself which is a keyvalue of this game.
Due to the fact, that movment is a critical part of this gameplay, this have to be changed carefully if it has to be changed.

I agree with ya idea that a couple of new people test this and check how things work but at first the lagging background has to be fixed, else they are biased towards the current system....

I like it how it is (fast) but since @Teddy already said he will change it somewhere in future i think it should use testing of betas.

Also the enemies are partly designed to be chased at the diagonals some times (you have to consider that fact, that the SoG Crew has testet it a lot with this settings and tweeked the enemies to this ones. even for hobby dev's this fact has to be considered, because it involves a LOT of tweeking and re-balancing)
 

Own

Moderator
I like it how it is (fast) but since @Teddy already said he will change it somewhere in future i think it should use testing of betas.

Where did he say that? There's a tiny, tiny, tiny vocal minority who want enemy or player movement change. I'd hope the physics aren't changed after years in development because a few people don't like them.
 

ark626

Moderator
@Own Here:
If it turns out that a majority of people actually prefer this kind of movement, we'll likely change it up at some point in the (not super far) future. If that happens, we'll naturally also do minor changes on certain mechanics in the game, since some stuff will become more difficult. I'm looking at you, Giga Slime spin!
 
Last edited:

Own

Moderator
'If it turns out that a majority...' :) Doesn't seem like there's a real big push for mechanics changes so far.
 
Top