Feedback on player movement

Hey, I’ve been working a bit on the movement system in the ocean game I’m working on, and I’m looking for some feedback on the overall feel of it, as well as the mechanics for jumping out of the water and beaching. As of now, it allows for movement in all directions, with the ability to change speed not being implemented yet. You ascend with E and descend with Q.

Personally, I think movement is in a decent state, but I’m worried I’m a bit biased.

The first time I played the game, my character didn’t seem to spawn in correctly. I wasn’t able to move or see my character.

This was the log:


The VectorVelocity error appeared whenever I tried to press Q or E.


After that, I tried joining a couple more times and it worked. As for the movement, it didn’t jump out at me as awkward, but it might be worth trying coding a system of movement based on the direction of your camera and testing which one feels more natural.

1 Like

I appreciate the feedback. The intended sequence of events when a normal character spawns is for the character to be moved to game.Lighting, followed by the species selection GUI becoming visible. The errors related to the Swim script are due to it being in StarterCharacterScripts, whereas the LinearVelocity is part of the HumanoidRootPart in the morphs. I haven’t seen any issues other than the error messages from it before, but could change it to be cloned into PlayerScripts on species selection instead.

I did initially try to make movement based on camera direction, which I almost got to work, with the issue being that movement couldn’t be stopped after starting. Since I’ve been improving my scripting with this project, I decided to revisit it, and I’ve managed to get it to work properly now. I’m linking a fork with the updated movement below:

I do think I’ll switch to this version, but I’d like some feedback one it before I fully commit to it.

Edited to add: You can press K to anchor your character while underwater so that you can actually look at the character.

1 Like

I do like the new movement system a lot better; it’s way more natural than the old system.

I did find one minor issue though. When you collide with a wall, you’ll get stuck inside it until you back out by holding S. It might fit the game better to tweak the collisions so that you can ride along walls and floors rather than simply being lodged inside them.

1 Like

Thanks, from what I’ve been able to find, the only way to prevent that issue is to enable RigidityEnabled for the AlignOrientation in the HumanoidRootPart, which results in forced instant responsiveness, which makes the movement feel less natural. It seems like I will have to either make a choice between realism and convenience, or figure out a way to only enable RigidityEnabled when needed to stop the issue when it arises.

Have you considered adding A and D so you can rotate without moving the camera? other than that this is awesome, great work!