What exactly do I need to learn to make a movement system like Mario 64?

Hello everyone.

Mario 64 has by far one of the best movement systems in history, from long jumps, dives, triple jumps and others, I wanted to create a similar system, maybe even add more ideas from other games, but I feel like there is a lack of posts about this that help me.
Help is appreciated.

Well creating custom movement systems seemingly from scratch is a truely impossible task unless you’re well skilled at roblox lua. Following simple tutorials won’t allow you to create such a complex system as the mario 64 system. Since its main praise is how well it intergrates the camera movement when its moving.

I rarely see custom movement systems in roblox games, most just being an extension of the default roblox system.

There was a roblox game that almost perfectly copied mario 64’s movement its called robot 64

Anyway from my limitted research I don’t think you’ll be able to find any resources that help your goal, it will just have to be down to your own experience. Whereas I’m pretty sure there are videos that help explain how to create double jump, lunges etc however these just add onto the roblox movement system and are quite basic.

1 Like

@Maximum_ADHD happend to have made a Super Mario 64 movement port to Roblox Luau a few months ago. You could check that out to get an idea on how it could work, or you could straight up use it as long as you give credits to him and the SM64 Decompilation Project that he took inspiration from. Just make sure to read the README.md file before doing anything with it.

1 Like

As I mention in the README, I do not recommend using this as a foundation.

1 Like

I feel like I should elaborate a bit more, I do not want to create a new movement from scratch, I know my limits in scripting. What I meant was more like the various moves from Mario games.
However, one thing I really wanted to have which I have a slight idea on how to do it is making the player’s speed rise as they keep W pressed until it reaches a limit, which happens in SM64

Ah well then that can be quite simple tbf.
I know mobile controls already allow it but it isn’t accessible on desktop which is quite annoying.

You could use UserInputService.InputBegan which fires when a key is pressed
This topic describes it well enough

1 Like

I was considering to include that part in my reply but I left it at “Read the README.md file” since they were going to check it out anyways

1 Like