Honestly with a game with (mostly unstable) P2P connections like TU I think it’s best to trust the client more than the server when it comes to the gameworlds. I say that as there was a unit exploit recently down to the game trusting the client too much on gameworld payouts, you didn’t even need to touch to game to spawn units. With a proper anticheat in place I think it’ll work fine.
Please no. P2P is why there is latency issues and why for certain gamemodes there is host advantage. Better to just have dedicated servers for gamemodes as well and leave the peer to peer for condo’s.
Just wanted to point out that walking and looking around on plaza and condo already uses clientside predictions and lag compensation. It’s missing for guns, the jetpack, ballrace and minigolf. @Nomad I want dedicated gameworld servers aswell. But you should still be able to host your own gameworld server from within the game.
As much as I agree that dedicated servers would be much better than P2P, they currently have no plans on implementing dedicated server support for game worlds. I hope this is something they plan later on in the future but as of now it’s looking far off.
It’s lower priority than the stuff we’re working on right now, but once we have time we’ll be working on it I assure you.
Unreal already does latency compensation for movement, we just need to write a system for weapons.
The technique we plan to use is called “Backward Reconciliation”.
At a high level, this is the basic premise:
The client fires the weapon and FX are played back immediately on the client
The client sends a RPC call to the server noting the time the weapon was fired and the forward vector.
The timestamp is checked for validity ( can the user be where it claims to be at that time ).
The server rewinds all players back to the reported time.
A ray is cast from the reported forward vector ( at the interpolated position ) into all other players.
Hit-detection and damage takes place and the appropriate response is sent to all clients.
Please understand that this is by no means a simple feat and that it requires some major changes to the weapon code.
It will be implemented when we have time to implement it.