Solution to player network lag?

(Im uncertain whether i should post this in game design support, or scripting support, but i chose game design support since this question has more to do with game design, than pure scripting)

Im making a robot fighting game, with melee and ranged weapons.

An issue i encountered was that when two players chase eachother, the one chasing is on their screen, much closer to the chased, than the chased sees on their screen. Basically, im having a issue with players lagging behind.

Ive got a few ideas:

  • Make the server handle player input. This fixes the issue, and provides a great anticheat. The con is that the players will experience input delay. Though that could be turned into a feature, since the robots are RC controlled, it would also make the pvp more interesting in my opinion.
  • Disable melee weapons when moving. This kind of fixes the issue, its a bit of a cheaty fix, and it would definitely not fix the issue entirely. And it would be hard to have it make sense lore wise, power consumption isnt a viable lore fix, as some weapons would realistically not consume any power.
  • Dont have melee weapons at all. The con here is pretty clear.

What do you think? Do you have any better solution? If not, which one of these alternatives is best?

  • Make the server handle player input
  • Disable melee weapons when moving
  • Dont have melee weapons at all
  • Other (Only if you got a better idea)

0 voters

Feel free to use the poll, but id prefer if you replied with your reasoning.

I think I have a creative solution to this: show each player their own “shadow” which lags behind them by about 300ms.
The shadow is purely cosmetic, serving only to show where other players would see you at the moment.
As a reminder, it is client side only and only attached to your character.

The lore reason for this is that other players’ weapons can damage your soul, not just your body. Only you can see your own soul.
The soul should also react (e.g. change color or glow momentarily) when locally hit by someone else’s weapon in anticipation of you taking damage.

Another idea is simply to eliminate situations where one player chases another with a sword.
Lock the melee combatants in a box or force-cage. (edit: tether them together with a short rope)
Or force their cameras to face each other, which might make one think twice about fleeing backwards.
Or call a player a coward if they get killed while obviously fleeing from a melee attacker.

3 Likes

The shadow is a great idea, though i think maybe having the player control the shadow directly, and then the actual robot being what is behind might be better though. As there is not really any soul to the character, they are just robots being controlled by the players. (Like the real steel movie, but more weapons, and large arenas with loads of players.) The shadow could serve as a marker of where you will be moving.

1 Like

you can’t really combat that type of thing except essentially banning the extremely laggy players from using melee (through server distance checks). The shadow type of idea would be cool I agree but it seems like a very drastic way of solving the solution. you could use stuff like stunning and cinematics to minimize the network lag though.

Having a delayed player input would hurt your game more than other solutions.

You can’t be certain about that, If it’s done properly, i think it would be pretty cool. It would be explained ingame as if it comes from the RC controller (the robots are RC). Especially with that shadow thing, it would turn out to be a pretty cool mechanic, and make PVP much more interesting.