Client-side prediction as a next big feature?

For those unaware, Workshop is only able to function on the game server, which is why games can feel laggy, especially if abilities or weapon functions are modified. Client-side prediction has the code functioning on the client, which makes the experience feel a lot smoother on higher latencies.

The only real downside is that there would be a (insignificantly tiny) download required for every Workshop game, at least as far as I know. I’m not an OW dev, I don’t know how these systems are set up.

2 Likes

If it means less crashes.

I’m not an OW dev either so this is just a guess. The major issue here with client-side execution would be synchronizing your client state with the player state of every single player in the game. That would be a nightmare to do and most likely INCREASE the amount of lag in the game.

for example, if player A triggers a condition that sets a player variable for player B, a message would have to be sent from player A’s client to the server, and the server has to forward that message to player B’s client. What if player A’s client state conflicts with player B’s client state? how will the server decide which is the most accurate state from both player’s perspective?

Multiply that by every single possible interaction every client and the problem compounds exponentially. It’s just simpler to have every action handled by the server because then there’s only one possible state configuration for every single player.

So while technically not impossible, the implementation would be so unnecessarily complex that no developer would even bother attempting it in a workshop context.

4 Likes

As a workshop “developer” you can reduce the amount of server stress aswell. For example, the game devs recently stated that effect/text reevaluation is done on client side, so instead of creating and destroying effects over and over, it has a better server side performance to hide or reuse effects.