Improving Multiplayer Platforming: Replication of Based Character Positions

Dear Friends at Epic,

Platforming is a huge part of my game, and not just any kind of platforming, Multiplayer platforming!

I’ve never seen a modern game do complex 3d multiplayer moving platforming very well

I want to do it!

I’ve spent a lot of time on this endeavor already, and several threads on the forum.

From my observations I would like to request that all you awesome Epic Devs work with the Character Static Mesh Actor Basing code to see if there’s any way to make it look better especially in multiplayer.

#Video on Youtube

Here’s a video demonstrating my concern, in a not so obvious way (the video is a happy demonstration, not a bug demonstration)

Around 6:10 or so

I actually stopped demonstrating this part of the video pretty quickly because I didnt want the errors to look so obvious on camera.

So I am saying the current state of multiplayer replication of based characters is heavily in need of polishing to the point I didnt really want to demo it too much to the public.


Could you all please work with me on this matter to make UE4 the game engine that handles multiplayer 3d moving platforming really awesomely?


Issues Visible in the Video

The left screen is the server in the video, right screen is client :slight_smile:

  1. Server side the platform jitters periodically, I’ve determined that this only happens when the character is based on the platform.
  2. Server side, the character’s feet do not always stay firmly planted on the surface of the platform as it moves, perhaps this is due to the way the based code works in storing the basing offset?
  3. Client side, the server looks extremely jittery
  4. Server side, the client looks equally jittery and does not even stay on the platform at times.

#How My Code Works

In the video, the platform is having its location set every tick using SetActorLocation()

All the Basing code is coming from the fact that the moving platform is a Static Mesh Actor, and so I’ve not changed any of the basing coding.

I am not regulating the characters’ positions at all, the only thing I am doing is setting the Static Mesh Actor’s position every tick, server side only.

In other words, I am doing very little in the code to regulate what is seen in the video in terms of replication, I am leaving all of that to the UE4 engine, except the SMA’s position every tick.

#I am in this for the Long Haul With All of You

I am very eager to see Complex Moving 3D Multiplayer platforming working!

You just let me know what I can do to facilitate the polishing of this aspect of the UE4 engine :slight_smile:

I’ve created several similar threads to this one, but this thread is about a new video I’ve just created.

Additionally, the specific focus of this thread is the multiplayer side of things, and the fact that I am doing very little on my side, most of the effect in question is coming from the Character Basing / Character Location Replication code

Let me know how I can help out!

Rama

Hi Rama,

The investigation and report that I have written for your other post (https://rocket.unrealengine.com/questions/7844/creating-complex-rotating-skeletal-mesh-platform-r.html)
should also address the core issues that are affecting you here.

I have logged information from both posts with the report. Hopefully there is a fix in time for the next Beta release (no promises) :wink:

Cheers!

wooohooooo!

You’re awesome Stephen!

Rama