dissociated multiplayer option for high latency players

Ideas that are too old (too many things have changed since) and ones which won't be implemented for certain reasons or if there are obviously better suggestions.

Moderator: ickputzdirwech

Post Reply
roax206
Burner Inserter
Burner Inserter
Posts: 12
Joined: Tue Apr 10, 2018 3:37 am
Contact:

dissociated multiplayer option for high latency players

Post by roax206 »

NOTICE: I will no longer be attending this post due to lack of productive discussion and the offensiveness of certain community members and moderators.

TLDR: there should be a multiplayer option to reduce the interaction with the server to make multiplayer playable for isolated/high latency players


What (same base functionality as multiplayer but different implementation):
A client specific multiplayer option where players primarily interact with a single player copy of the server which is then merged with the server through change requests from the client and primarily building and player information updates from the server (ie only player locations, enemy counts, building updates and in world item locations need correspondence from the server).

Definitions:
  • Server: The player/device that is hosting the game for the multiplayer session.
  • Client: A player/device connected to the server.
  • Update: The server sends a packet (or set of packets) at a relatively infrequent interval (probably between 0.5-2 seconds) to the client containing the information required to sync the client to the state of the server when the packet was created.
  • Request: A packet containing a request for an item or building to be added or a removed from a building or the world. if sent to the server, these requests can be ignored and reversed on the client.
Enemies:
  • Enemies are spawned by server and controlled locally and then kills for mobile enemies are added to server and numbers updated to client.
  • Bases, and worms are treated as buildings (ie kills sent in update request).
Players/vehicles:
  • The local player interacts directly with a single player world (there is no influence on movement due to updates from the server).
  • Other player's locations are shared with the client as allowed by ping (not really a concern).
  • If a player is controlling a vehicle, it acts locally, otherwise its coordinates are sent in each update from the server.
Buildings: (changes acts like automatically constructed blueprints shared with the client)
  • Buildings are built on the local world immediately and stored as build requests to be sent to the server (items removed from inventory on request success).
  • If there is an existing building in that position on the server, the request is ignored.
  • Information about buildings built on the server since the last update is provided to the client and thus any conflicting buildings are removed.
  • Buildings act according to server and items given to or remove from them are treated as requests
Items/inventories:
  • Inventories are handled locally and interactions are added as requests to the server.
  • picking up items is done locally and a request for an equivalent number of items to be removed is sent to the server (polished in return update).

Why:
Playing with poor latency (such as satellite internet for people living in remote areas) can make the game practically unplayable, with the player not being able to move properly, vehicle (car, tank, etc) control being a set and pray, waiting almost a second for any inventory input aspect to take affect and combat generally isn't viable at all.
Last edited by roax206 on Fri Oct 08, 2021 11:56 pm, edited 2 times in total.

Koub
Global Moderator
Global Moderator
Posts: 7175
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: dissociated multiplayer option for high latency players

Post by Koub »

You mean like the builtin latency hiding feature ? That's builtin and can't be turned off, so it's not an option.

There is an option related to latency in the hidden settings (Ctrl-Alt-Click settings => The rest), but I'm not sure what it's doing, and it's experimental.

It can't make miracles though.1 second latency is probably unplayable whatever the multi player game. Even a phone discussion with 1 second latency is horrible.
btw even for satellite users, internet providers with low earth orbit constellations are starting to appear, and their latency is very acceptable. It reduces typical 600ms latency (geosynchronous satellites) to a couple tens ms in LEO).
Koub - Please consider English is not my native language.

roax206
Burner Inserter
Burner Inserter
Posts: 12
Joined: Tue Apr 10, 2018 3:37 am
Contact:

Re: dissociated multiplayer option for high latency players

Post by roax206 »

Koub wrote:
Wed Oct 06, 2021 5:49 am
You mean like the builtin latency hiding feature ? That's builtin and can't be turned off, so it's not an option.

There is an option related to latency in the hidden settings (Ctrl-Alt-Click settings => The rest), but I'm not sure what it's doing, and it's experimental.

It can't make miracles though.1 second latency is probably unplayable whatever the multi player game. Even a phone discussion with 1 second latency is horrible.
btw even for satellite users, internet providers with low earth orbit constellations are starting to appear, and their latency is very acceptable. It reduces typical 600ms latency (geosynchronous satellites) to a couple tens ms in LEO).
edit: I have tried all normal settings, if there is something else I will look into it. I know the game does a bit to hide latency by default but this can cause more trouble than it fixes at the latency range mentioned.

The idea was to essentially move everything to a single player setup but sync it with the server at 0.5-2 second intervals (though player locations can be treated normally). Players typically don't directly react with each other (usually through the world) so its mainly a case of showing player locations on the map which can easily be shown and doesn't damaged game-play at poor latency.

the main focuses are:
being able to move unhindered by latency.
no teleporting biters/teleporting into biter bases.
responsive interfaces where interfaces are updated/synced only when the player is finished with them.
Last edited by roax206 on Thu Oct 07, 2021 11:14 pm, edited 1 time in total.

Koub
Global Moderator
Global Moderator
Posts: 7175
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: dissociated multiplayer option for high latency players

Post by Koub »

There's not much more I can tell, but there are limits to whatever mechanism is implemented tu help mitigate the latency, given enough latency, multi will get unplayable at some point.
Koub - Please consider English is not my native language.

Nidan
Fast Inserter
Fast Inserter
Posts: 225
Joined: Sat Nov 21, 2015 1:40 am
Contact:

Re: dissociated multiplayer option for high latency players

Post by Nidan »

What you're describing are solutions for a low bandwidth situation, but those won't help reducing latency. Just because you're sending less data, it won't magically arrive faster.
Also, the game already does what you're describing: It only distributes player actions, nothing else, every tick. I don't see how artificially delaying this distribution is going to help your latency problem.
There are a handful of FFF describing how the multiplayer works, consider reading them.

roax206
Burner Inserter
Burner Inserter
Posts: 12
Joined: Tue Apr 10, 2018 3:37 am
Contact:

Re: dissociated multiplayer option for high latency players

Post by roax206 »

Please read the original post! This is NOT about reducing latency, it is about reducing the impact of latency on the play-ability of a multiplayer session.

These are design suggestions for a system that gives a similar experience to true multiplayer but should not experience the issues that true multiplayer has (generally through having the player only directly interact with the server for things that wont cause severe detriment to game-play at the latency specified).

The issues mentioned are not already fixed as they are issues that I constantly experience in the current version of the game when trying to play with friends.

I have a University Degree in Computer Science, I know what latency is. I would prefer if people stopped acting like I am stupid because they don't have to deal with the issues I have to deal with.
Last edited by roax206 on Fri Oct 08, 2021 11:49 pm, edited 1 time in total.

Koub
Global Moderator
Global Moderator
Posts: 7175
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: dissociated multiplayer option for high latency players

Post by Koub »

roax206 wrote:
Fri Oct 08, 2021 1:10 pm
I have a University Degree in Computer Science, I know what latency is. I would prefer if people stopped acting like I am stupid because they don't have deal with the issues I have to deal with.
University degree in Computer science. Much impressed. Very computer. So wow. Waving your big, big diploma in front of people's face will definitely grant you their indefectible admiration.
[/troll]

You should acknowledge that at some point, if there is too much latency between the peers or one of the peers and the server, multi will be unplayable no matter the hiding or synchronization mechanisms.

It's very unfortunate - and I DO sympathize - that you want to play multi AND have such a high latency with your peers, but maybe you should quit trying to play multi and just play solo at some point.
Koub - Please consider English is not my native language.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: dissociated multiplayer option for high latency players

Post by ssilk »

roax206 wrote:
Wed Oct 06, 2021 4:00 am
NOTICE: I will no longer be attending this post due to lack of productive discussion and the offensiveness of certain community members and moderators.
I won’t let it stand like so. It had reasons, why the forum members reacted like so:

- a low latency cannot be seen as one-directional. Whenever two players come near together (and that will happen of course), the other player needs to wait for the actions of the low latency player. Because otherwise the low latency hiding cannot decide. You cannot place a building for example if there is a player.
- which means (and there is no way around this fact), the other player is in this low latency mode, too. He needs to wait for the actions of the dissociated player.
- which means, if all players come together, all of them are in low latency mode.
- which means, it would be simply easier to reduce the game speed, or increase allowed latency for the whole game, instead of having this mode.

Or in short: any game is based on interactions with other players. And if the rules of the game allow interaction of any player with any other players, the fastest speed this game could be played is directly dependent on the highest latency between two players. Pure physics.

Moving to won’t implement because of this pure physical constraints.

Hornwitser
Fast Inserter
Fast Inserter
Posts: 204
Joined: Fri Oct 05, 2018 4:34 pm
Contact:

Re: dissociated multiplayer option for high latency players

Post by Hornwitser »

I tried playing the game with a simulated 2 second latency link (120 ticks) and, well. I don't find it unplayable. Yes, inventory actions take 2 seconds to complete, but for most of the actions I could do the clicks and carry on knowing the action will be happen in 2 seconds. Walking around, placing buildings, mining rocks, chopping trees, and working with some of the interfaces had no delay. Combat with weapons was unplayable, but using automated turrets to do the shooting was a viable alternative. Cars were predictably completely undrivable. But stuttering was minimal, and overall the experience was okay given the latency.

So it seems to me like multiplayer is already playable for high latency players. Minus combat and cars, but neither of those things are necessary to play the game. If there's something to improve here it would be adding latency hiding for more actions.

I'm really curious as to how multiplayer combat is supposed to work if each client is simulating its own battle. Do the biters only target you, so that even if you're 10 players they'll just run straight through the other players and eat you in an instant? I guess I'll never know.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: dissociated multiplayer option for high latency players

Post by ssilk »

I think to give this more flesh it’s needed to define what a bad/slow internet-connection is.

For example I can work perfectly over a very slow connection (5 secs ping), but with nearly zero packet loss. It feels slow, but ok.

I can NOT work over a medium fast connection with 5% packet loss. Nearly impossible. Packets get lost and the redo-packets get also lost and then the packets begin to get really stuck.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

mrvn
Smart Inserter
Smart Inserter
Posts: 5682
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: dissociated multiplayer option for high latency players

Post by mrvn »

ssilk wrote:
Thu Oct 28, 2021 10:23 pm
I think to give this more flesh it’s needed to define what a bad/slow internet-connection is.

For example I can work perfectly over a very slow connection (5 secs ping), but with nearly zero packet loss. It feels slow, but ok.

I can NOT work over a medium fast connection with 5% packet loss. Nearly impossible. Packets get lost and the redo-packets get also lost and then the packets begin to get really stuck.
Remember the discussion about adding FEC - forward error correction - to the UDP layer? 5% packet loss is nothing for FEC to pretty much eliminate.

The worst is a slow connection with 5% loss. You can't compensate for the loss by sending more data because the connection can't carry it.

User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12888
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: dissociated multiplayer option for high latency players

Post by ssilk »

Seems to me pretty logical. :roll: 8-)
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Post Reply

Return to “Outdated/Not implemented”