Make physics interactions clientside (fans, trampolines, etc.)


#1

I get that this is a very small change that’d probably take more time than it’s worth, but it’d make the game feel much smoother, and for my purposes, it’d make obstacle courses smoother and more fun.

[This obstacle course I’ve been working on] is what the fan propulsion mechanic is supposed to look like. I made it before realizing that other players, even with about 30 ping, can’t even do the first jump because it lurches them off of the fan before it can even propel them upwards. This might be a design flaw on my part, but the fact that I can do it perfectly while other people have trouble just because of latency is a bit of an annoying problem. I can resort to replacing everything with trampolines, but that isn’t nearly as fun as the feeling of momentum the fans give you. Even the trampolines, however, take time to respond to the player and actually launch them if they have higher ping.

I don’t know how hard it would be to make player-physics interactions clientside, or if that would cause problems that are greater than its solutions, but at least for this niche use, it would fix my problem. I really want to keep working on this project by adding more jumps and decorating each one. I’ll have to reimagine it or maybe even drop it if it isn’t fun for other people. Thanks for watching/reading if you made it this far.


#2

damn thats sick


#3

Well, ideally, you want the movements and the physics to be predicted on the client to simulate what the server is seeing. This way, the motions are simulated incredibly smooth on the client side, but still synced well with the server. This is easier said than done, but a decade-old Source Engine was able to do this which popularized some movement-based maps like bhopping, course, and deathrun, so it should be fairly doable with Unreal.

I would love to see this fixed on Tower Unite. This could not only solve desync issues while using the jetpack (repeatedly pressing space at an interval should get you an idea), but also make TU feel like a polished game when running around.

Maybe we’ll see some improvements once the the new movement system is implemented.


#4

I wanted to clear some things up.

Unreal does do prediction with movement, but the fan probably doesn’t use this properly (it’s kinda an old item and the fan pushing players was just a small feature). The trampoline does the jump correctly.

Unfortunately, Unreal is very different from GoldSrc (which is based on Quake and what Source engine was based on) and its movement is completely different. Epic didn’t give us a lot for most prediction stuff (we had to code our own weapon prediction).

Jetpack is predicted. The problem you are describing is a different issue, but I can assure you that the jetpack is predicted. We had a version of the jetpack when it was not predicted and it was a complete nightmare to use.

The “new” movement system is not a complete rewrite of the movement system. It changes the way air strafing works and bhopping to be similar to GoldSrc , but the rest is still Unreal’s movement system.