Making A Sliding System Tutorial [Youtube]

I find the video format easier to work with, so apologies if folks might’ve preferred a text tutorial :pray: , but I hope you find some value in it!

Update (06/18/24):

I have remade my sliding tutorial, this time with some additional features. The place file is now public and it is linked below. For those who still want to reference the old video, it is now unlisted and linked in the description of the new one.

Features Added:

  • You can now cancel the slide
  • Being in the air for a short period of time does not take you out of slide
  • Better initial ground detection
  • Player can seamlessly transition from sliding to walking

Update (06/21/24):

I have added camera directional sliding. The character now turns slightly with the camera based on the degree of rotation. The place file has been updated to reflect.

Update (10/19/24):

Features Added

  • Better ground detection and response to drastic changes in slope from ramps to flats
  • Ability to jump during slide, this effectively cancels the slide.

Place file:
SlidingDemo.rbxl (124.9 KB)

58 Likes

Dude, I love this! From what I can see, I’ll really be able to learn from this, and judging from the fact that it’s an hour AND THREE PARTS, I’ll be learning a ton of other stuff too.

Barely anyone has problems with video tutorials, it’s mainly “tutorials” that just give you a model and show you how to set it up. A majority of people find visuals easier to learn from!

Since I doubt I’m watching the whole video right now, I kind of have a question about it that’s a little hard for me to see from the demonstration. Will it be like deepwoken sliding? Like, if you’re sliding down a slope will you gain more speed AND face the slope? (its hard to see in the video you showed)

Extra Explanation:

Basically, facing the direction you’re sliding in, even if slanted, but if going down a slope, there’s turning resistance/no turning.

Sliding down a downwards slope will make you face the direction of the slope at the incline.

3 Likes

I appreciate you appreciating the video format haha!

Yep! You will be aligned with the slope just like in Deepwoken, in fact the demo I show at the beginning is the more extreme case of sliding on terrains, but what I actually use in the tutorial is a flat ramp like your image. In the follow-up tutorial on directional sliding I discuss adding movement controls to veer left and right during sliding and discuss making it easier to veer depending on the steepness of slope, specifically, it would be harder to rotate about on flat ground than it would be on a slope, the friction force is stronger in the former case (the difference of skiing downhill vs on flat ground).

4 Likes

You don’t how much time you may be saving me because good lord have I been slaving a way at trying to make something like this. Thank you

2 Likes

So have I!

Also, is there a way we can get the modified module/Slide Hitboxes with attachments? I dunno the right way to set it up.

1 Like

Same I have been following the tutorial but I can’t seem to figure out how to put on the attachments the right way

1 Like

I’m gonna be honest, I didn’t even try. I just dont wanna keep trying to figure out what side to put them on, but im assuming the back face.

2 Likes

Where you want to put the attachments is where you want the rays to emit from. And in this particular case, the heel (or the backface as you call it) would be primarily ideal. If you look deeper into the video we use the visualizer feature on the hitbox module so we can visibly see these rays during play testing. I try my best to explain the WHY so that folks can fill in the gaps and improvise on their own. When you understand that, you can reuse bits and pieces of this in other contexts/systems as well. I have not done my job if I did not do that.

2 Likes

I understand, and I know it’s supposed to be the back, but trial and error isn’t the best thing you’d really want to have in the tutorial. We’d have to find the back face, since not everyone has plugins for it (i do, just saying some people dont)

which could take a few playtests, but people will still get bored regardless

1 Like

I would not consider this a trial and error process, nor do you need a plugin to do this. In the video I visibly show the hitbox model. I show that there are attachments hooked up on the back-face (you can see the attachments in the scene view). I believe I go as far as to show the position property of the attachments in the properties pane. Some basic knowledge of knowing how to position the attachments is assumed. I cannot hold your hand along the entire way, the video is long enough as it is, if we need to have a separate tutorial on how to position attachments in studio then that’s a different discussion (by this I mean no malice :pray:). This is partially why I had doubts about this format since these details are easier to specify in a text tutorial, that is again, a different discussion to be had.

2 Likes

I understand, it’s honestly just me being too lazy to set it up lol.

2 Likes

I do have question for the sliding system and it’s how to keep the player moving after I slide since changing states of the character makes you stay in place after sliding but I want so you could keep walking without having to press a movement key again to walk to make it more fluid

2 Likes

Good question, and you have to address it at the PlayerModule level. You have to ask yourself where is it that Roblox is determining my movement direction as a result of key presses to begin with. If I can find that, I could intercept the middleman and directly affect movement from there.

Adding the following code to the reset() function would do it. I am going to link a final version of the script later once I get the time and I’ll include that as part of it.

local activeController = ctrls:GetActiveController()
	
local rightHeld = UIS:IsKeyDown(Enum.KeyCode.D) and 1 or 0
local leftHeld = UIS:IsKeyDown(Enum.KeyCode.A) and -1 or 0
local upHeld = UIS:IsKeyDown(Enum.KeyCode.W) and -1 or 0
local downHeld = UIS:IsKeyDown(Enum.KeyCode.S) and 1 or 0
	
ctrls:Enable()
activeController.moveVector = Vector3.new(rightHeld + leftHeld, 0, upHeld + downHeld)
2 Likes

This isn’t a community resource… It’s a community tutorial…
You also shouldn’t be disappointed about that either way, as you can learn how it works and make your own tweaks now.

3 Likes

and also one more thing if I wanted to make it so the slide would continue the monument after the states change how would I do that? Like I kinda wanna make it like a slide hop kinda thing

2 Likes

Currently the slide cuts off when his velocity is close to zero. You could cut it off earlier and the velocity will carry over to whatever other movement you want to do after. Your imagination is the limit here.

1 Like

Player.Character:FindFirstChildOfClass(“Humanoid”).RootPart.Velocity *= 2

2 Likes

do you think I could make wall running out of this system by attaching some hitboxes to the arms/ torso and then have a ray point out that direction? I just feel like it could work with this really well I just don’t know how to execute it

1 Like

Super creative use of RaycastHitboxes, I just started using them for my weapons system and I love your explanation and showing of modification and results of everything. Thanks for taking the time to make this!

2 Likes

tysmmm!!!

2 Likes