How to make a movement system like in Block Tales

Hey there, so I’m trying to make a movement system like in Block Tales.

Basically, when pressing W, A, S or D the character faces that direction, and when multiple buttons are pressed (WD, WA, DA, SA) the character faces the corresponding corner and moves in that direction.

I have an idea on how I would achieve that, but there are a few problems.

  1. I don’t know how to disable the roblox core script movement.
  2. I don’t know how to make the player move when I want them to move.
  3. I don’t know how I would make it compatible with mobile.

The project I’m working on requires a side-view camera like in Block tales too, and I have kind of got it working but I’d appreciate some help on that too, because I think it won’t work in a lot of scenarios.
Any help is appreciated!

1 Like

I’m pretty sure it’s already achievable. You just need to set the camera as a part on the side (that you have already got working) that will scroll along with the player and everything else will be set. Take this with a grain of salt though, because I have only worked with a camera-attached-part once.

block tales mostly used animations for the movements.
like alot of animations that the serverstorage is filled with animations.

Yes, but I’m talking about how they modified the movement to just be in 8 directions (Left right down up, then the corners) and I’m wondering how I could achieve that or atleast how I would playa round witht he player movement

There could be a better way but I guess you could just set the WalkSpeed property to be 0 or just anchor the character of every player

U could use inputBegan and then detect whether or not they have pressed a movement key

(WASD or Arrow Keys)

Then, you can use GetKeysPressed and just uh find out if they’re holding movement keybinds.

Then obviously use that info and correspond it to blah blah blah

You’d have to do some math to get whether the thumb stick is pointing NE, NW, SE, SW

Not good with math so you’ll have to do some research there.


And finally, just use Humanoid:MoveTo or just Character:PivotTo to move the player since letting them walk around would be weird

hope this helped :+1:

Ah sorry for the late reply, I’ll try this sometime soon thanks.

1 Like

There is.
In StarterPlayerScripts, put a blank module named “PlayerModule”.

Also put two disabled local scripts called “PlayerScriptsLoader” and “RbxCharacterSounds” In StarterPlayerScripts. This will entirely remove player movement, sounds, and loaders.

Setting walkspeed to 0 can have negative effects, as well as exploiters simply being able to change it to higher, thus re-enabling movement scripts.

Do not use :PivotTo(), it simply teleports the character to the specified CFrame. Use :MoveTo() instead.

3 Likes