How to make character movement smoother in GDevelop?

I’m working on a 2D platformer in GDevelop, but I’m struggling with smooth character movement. Sometimes the jump feels unresponsive, and collision detection with platforms isn’t perfect. I’ve tried tweaking the physics settings, but it’s still not right. Any tips on how to make movement feel more natural?

2 Likes

The following modifications will ensure smoother character movement on GDevelop:

  • Change Acceleration & Deceleration — For quicker response make acceleration smoother and increase deceleration for an instant stop.

  • Adjust Jump Responsiveness – Enable variable jump height, add Coyote Time (jumping briefly after walking off a platform), and alter jump speed.

  • Handle Collision Masks – Realign the collision box to make sure it stays rectangular.

  • Modify Gravity and Jump Control – Allow for sustaining the jump button to reach greater heights and reducing gravity for smoother jumps.

  • Betters Collisions with the Slope of the Platform – Handle slopes properly and prevent downward force from getting stuck by adjusting it properly.

  • Implement TimeDelta() – Movement remains fluid regardless of the frame rate.

  • Allow Automatic Collision Detection – Avoid colliding with platforms when moving upwards at higher speeds.

Make as many attempts and adjustments as needed until the controls feel the way they should!

1 Like

So, you asked ChatGPT and posted the response.

@jakemiller01, why are you using physics when there’s platform behaviour available?

1 Like

@seonayan8 Thanks for the detailed suggestions! I’ll definitely experiment with acceleration, deceleration, and collision masks to fine-tune the movement. Implementing TimeDelta() also sounds like a great way to keep things smooth across different frame rates.

@MrMen Yeah, I did use ChatGPT for some initial insights, but I’m also looking for real-world experiences from developers who’ve tackled similar issues. I originally went with physics because I wanted more control over movement, but maybe switching to platform behavior is a better approach. Do you think it would solve the unresponsiveness and collision issues more effectively?

That Chat GPT point was aimed at seonayan8, not you.


Physics is more for simulating real life movement and body interactions. I would consider it a bit overkill for a platform game.


Most likely, because the platformer behaviour is designed for that game genre. Your issues could also be due to how you’ve implemented the movement and collision. There shouldn’t be any unresponsiveness, so it could well be your events that are the cause.

But I would suggest you have a go with the platform behaviour and see if it does what you’re after.

You’re most welcome! I’m really happy to helping you