Jump to content

A suggestion for the game's movement system


Recommended Posts

I would like to give insight on some ways to make movement in the game more fluid and responsive.

Recently I've seen the Alpha #5 update video by the developer in youtube. The trial implementation of the controller made me think of the old movement system in the game. The way you used to move in the old game was click to move, and the movement input needs to be registered and processed to the server side. In my opinion, there are 2 changes that can be made to improve the movement.

The first one is to process movement input within the client side (or similarly, to prevent exploits), so that you can move as soon as you click the ground. I believe by doing this, the old movement delay will be eliminated, thus allowing a wide variety of movement systems to be implemented.

The second improvement is to allow movement using the WASD,QE buttons (or manually keybind by the player). with the new movement input process, the WASDQE movement type will be feasible. This can open up to a more fluid combat, closer to that of a modern combat system (such as moving while using skill, etc.)

An issue i can think of with this kind of system where movement is processed in client side, is you can abuse this movement to never take AoE damage. To solve this, I would suggest to add a "movement snapshot" instead, so that every attack will snapshot players/enemies, and deal damage even when the player moves outside the AoE range (when the AoE is cast, the player's position is snapshot, so player will have to pre-move instead). 

*Attached an image of example of snapshot to give an idea as to what i meant by "snapshot" (credits to joonbob on youtube)

These are my ideas of ways to work on the movement system, mostly coming from experience playing World of Warcraft and Final Fantasy 14. I hope that ROSE movement system will be even better than before. Cheers!


Link to comment
Share on other sites

Nowadays there are great solutions to server input lag, but it is a terrible practise to let the client be responsible for input processing and it's guaranteed to be abused.

A better alternative and best practise nowadays is server authoritative movement with client-side prediction. In this case the client will predict how the server is processing the input, and if both align, nothing weird happens. If someone tries to abuse their position the server is still aware of their actual location and resets the client position. 

This way the server is still responsible for processing the input, and the client responds immediately.

Link to comment
Share on other sites

  • Create New...