Opened 17 years ago

Closed 7 years ago

Last modified 7 years ago

#69 closed enhancement (fixed)

Enhance Multiplayer Experience

Reported by: Stuart Walpole Owned by:
Priority: Must Have Milestone: Alpha 19
Component: Network Keywords:
Cc: Patch:

Description (last modified by fcxSanya)

Latency Adjustment (moved to #3752)

Currently the networking code is hard-coded to a 200ms turn length, with commands scheduled for execution 2 turns ahead. This causes jerky motion if the RTT for any player is >200ms.

We ought to do some combination of dynamically adjusting the turn length (which allows fine-tuning and reduces simulation CPU load, but large values will result in very variable responsiveness depending on whether the player clicks near the start or end of a turn), and dynamically adjusting the number of turns ahead (which allows more consistent responsiveness, but is a coarse adjustment).

Player disconnections

I believe if a non-host player is disconnected, it'll display a message already, saying the player left?

However, if a client does not hear from a host for ~5 seconds, it should display a "waiting for host" message to the player (with an "exit game" button on it), and then either go back to normal or go to the "connection lost" message on network timeout. (Will be done in #3264)


If a player is kicked, allow them to try to reconnect via a button (in the case where their (the players) internet was cut off, but the host is still running the game, and the player rejoins the same I.P. and takes control of their units).

Observer Mode

Players who can join a game, but don't have a civ to play (full or doesn't want to play), can just watch (like a real-time Replay).

They get full view of the map (no SoD or FoW). Sometimes called 'God Mode'.

Change History (22)

comment:1 by (none), 12 years ago

Milestone: Advanced Multiplayer Demo

Milestone Advanced Multiplayer Demo deleted

comment:2 by Andrew, 12 years ago

Milestone: Backlog
Owner: set to Andrew

comment:3 by Сергей, 12 years ago

Milestone: BacklogAlpha 4

comment:4 by historic_bruno, 12 years ago

Owner: Andrew removed

comment:5 by Kieran P, 12 years ago

Description: modified (diff)
Priority: majorcritical
Summary: Network - AdvancedEnhance Multiplayer Experience
Type: taskenhancement

comment:6 by Kieran P, 12 years ago

Milestone: Alpha 4Alpha 5

comment:7 by Kieran P, 12 years ago

Milestone: Alpha 5Alpha 6

comment:8 by Kieran P, 12 years ago

Milestone: Alpha 6Alpha 7

comment:9 by Kieran P, 12 years ago

Milestone: Alpha 7Backlog

comment:10 by historic_bruno, 11 years ago

How about ping/latency indicator in setup and also in-game, to help identify slow connections and players.

comment:11 by Cruz, 11 years ago


Or how about having the last IP automatically filled when going into multiplayer mode, or even the ability to 'bookmark' different IPs?

comment:12 by historic_bruno, 11 years ago

Description: modified (diff)

comment:13 by FeXoR, 10 years ago

If an observer mode is added all players have to see that it is enabled (like all other game settings) and confirm on them befor the game starts (because a user in observer mode can tell one of the players what's going on on the map).

Otherwise I like this.

comment:14 by Erik Johansson, 10 years ago

Only if they are able to chat ;) (Of course they could use some other kind of communication though, which we never can stop, so it might be a good idea to make sure the players are aware of it in either case :) )

comment:15 by JoshuaJB, 9 years ago

In 14849:

Implement a basic observer mode. Any player which joins a multiplayer game but is not assigned a player slot automatically becomes an observer. Refs #69

comment:16 by Josh, 9 years ago

Description: modified (diff)

comment:17 by elexis, 8 years ago

Description: modified (diff)

comment:18 by Stan`, 7 years ago

Description: modified (diff)

Fixed the second part with #1949

Last edited 7 years ago by Stan` (previous) (diff)

comment:19 by fcxSanya, 7 years ago

Description: modified (diff)

comment:20 by fcxSanya, 7 years ago

Resolution: fixed
Status: newclosed

"Latency Adjustment" section was moved to a separate ticket (#3752), everything else is done

comment:21 by mimo, 7 years ago

Milestone: BacklogAlpha 19

comment:22 by elexis, 7 years ago

Component: Core engineNetwork

(changed component to network)

Note: See TracTickets for help on using tickets.