Dash forward in a Top-Down game

I’ve been battling a problem with dash ability for some time now, and I’m about to give up, but I hope someone here can help me solve it.
To summarize:
I’m developing a Top-Down game project (Diablo or PoE like style) and I want to implement a dash ability that would move my character in the direction it is facing. Most popular way, from what i’ve seen is launching character. but whenever I try to dash down the stairs, the character is iliterally launched into space, and there is nothing i can think of to fix it.
I would appreciate any help regarding this issue :slight_smile:

PS: this is a work in progress template

Hello there! Instead of getting the forward vector off the actor’s rotation try just the Get Actor ForwardVector node (might have to wire in your root component), then Break the resulting vector, re-connect it to a new Make Vector node but do not plug the Z value, just the X and Y, finally connect this to your Launch function. Let me know if it works :slight_smile:

I followed your instructions, and it seems to be working fine anywhere aside from stairs, when i try to dash down the stairs, this happens:

the problem with launch character is its just that a launch, it has no regard for navigation, elevation change, etc. in many cases its much simpler to use a timeline or something similar to move a actor from point a to b and have the destination determined by line tracing or by getting a path to target location. course thats not always the simplest either, ive done it but its not perfect.

for your case you seem to have clearly defined walkable area without dropoffs and you havent mentioned in air dash. if thats the case then you could probably just work with the normal navigation but increase needed values to a point where the normal run becomes a dash. for this you would need to change the max walk speed and the max acceleration of the character. then you would need to determine the kind of dash behavior that you want. for example do you want your character to dash for time? or distance? or to a specific location?

below is a example of the method i mentioned and its setup to move the character in its forward direction for 1 second, this results in about a 2400uu dash with these settings. now this may not be a perfect method but it gives you another option to consider and more ideas to work with.

1 Like

Thanks a lot, I think I got it figured out thanks to your tips :smiley: