Hi folks,
the hosting player is at an advantage over everyone who joins, especially over those with high pings. I experience this every time as I connect from Germany to the devs' games hosted in Canada, with a ping of around 200 ms.
The goal of this thread is to discuss whether this is an issue worth fixing, and if so, what solution to go for.
Current implementation: Skill assignments are delayed according to the ping to the server. Thus, the host's assignments trigger instantly, whereas the joiner's assignments take some time until they trigger. This is true both for regular assignments as it is for queued ones.
However, validity of the assignment is checked immediately, whereas the assignment itself (queue or direct) will be delayed as just explained.
There are maneuvers that can't be carried out by a joiner with a somewhat high ping. Imagine two walls close to each other, and you wish to gulp-up through them. The distance between the walls will cancel the gulper, and the walk time is shorter than the ping. With a higher ping, you cannot reassign gulper quickly enough. You can't even queue it ahead of the time, since you can't queue gulper to gulper (which is checked immediately without delay), not even when you do it late enough so that the assignment would be delayed to the proper time!
Besides all this, it's obvious that the host is at an advantage just for getting more time to react. This issue gets more severe when players get stronger, since there are much more events that need attention and quick reaction.
Solution with latency: All players' assignments get delayed by the same time, which is the maximum of all pings of the active players. Also, the validation of assignments should occur at the same time as the actual assignment, not at the instant of pressing the morph key. IIRC this is how Starcraft 1 works.
Solution with backtracking: All assignments are carried out immediately, and other players have to go back in time and recalculate. This makes the assigned clone jump a bit on their screen. I use this in Lix (L++), where pixel precision is perceived to be even more important than in Clones. Players felt that this was a major advantage over previous methods to play Lemmings over the net, which are Snes and Genesis emulators. Obvious cosmetic disadvantage: The jump of the assigned lix is noticable, but it's not that large, except when the given skill was Jumper.
-- Simon