I’m in the same boat (no pun intended) here.
I’m creating a mini-game for Metal Heads which is perhaps the most complex mini-game yet, since it’s 8 players local OR online, on a train with multiple carriages, moving at great speed.
I have tried moving the whole world, but that is only good for one train carriage, and terrible for performance, especially with a splinemesh, it just destroys frame-rate, and the spline-mesh I would be creating will be rather long, since the mini-game goes for 3 minutes tops.
I have synchronized the server and client train almost exactly using lag compensation since the train moves at a predictable, pre-defined speed, and using delta-time so that even if one has a lower frame-rate, they will still be moving at the same rate.
The problem I have is that it seems like the client is being teleported ahead every tick, and then teleporting back to where they should be, thus creating this weird warping effect. This also happens for the client characters on the server, but the server character itself is perfectly fine.
This video is from the client’s perspective.
The character jumping is faked, that’s why I’m able to jump without being launched off the train. Technically the player is still standing on the train, just the character mesh is hopping up and down using a timeline.
I have tried a bunch of things now without getting into any C++ programming, and came across this thread.
I had a thought today that I could probably get away with this by using proxies or dummies, and actually spawning the players out of sight, on a non moving version of the train. The server then uses the character’s relative location from the proxy carriage they are standing on (the one out of sight), and moves the dummy/fake character on the on-screen train this way.
I hope that makes sense…
Alternatively, I see it has been suggested to use “Can be Base for Character”, but I can’t find that anywhere in blueprints, I can only find it in the source code. Is this now just “Can Character Step Up On”?
Am I over-complicating this?
I am also using 4.23 github source. Is this issue resolved in the current version of UE4? If so, it might be the one big reason for me to actually take the plunge and convert the project to the new version (I HATE updating to a new version).
I have to wonder how Sea of Thieves got it working with their ships…hmmm
I also think I remember seeing a video a while ago for Assassins Creed Black Flag on how they got the character to walk around on the boat without issues. I know it’s a singleplayer game, but still relevant.