Talk Gatech Game 2000
Transcript of Talk Gatech Game 2000
-
8/6/2019 Talk Gatech Game 2000
1/12
-
8/6/2019 Talk Gatech Game 2000
2/12
Multi-Player Game --- Motivation
It is interesting.
It is hard and challenging. Some difficulties are,
lack technology to achieve global synchronization
long network latency
high packet loss rate
inconsistency of state view among participants
-
8/6/2019 Talk Gatech Game 2000
3/12
Multi-Player Game --- Term
Entity
Participant
Player
Entity Server
Entities Entities
Participant A Participant B
NetworkPlayer 1
control
Player 2
control
-
8/6/2019 Talk Gatech Game 2000
4/12
Why do we care about synchronization and consistency?
Multi-Player Game --- Motivation
Synchronization preserves temporal and causal
relationships among events happening at geographically
distributed sites.
Participant C
Participant B
Entity1
Entity2
Entity3
Entity 1 shoots at entity 2
at time 100ms. The
message travels 50ms to
reach entity 2 and 100ms
to reach entity 3.
Entity 2 shoots at entity 3at time 90ms. The message
travels 70ms to reach
entity1 and 40ms to reach
entity 1.
Who is dead?
Wild Wild West
Participant A
-
8/6/2019 Talk Gatech Game 2000
5/12
Multi-Player Game --- Related Work
Distributed Computing and Simulation
MiMaze (a simple multi-player game based onIP/UDP/RTP protocol stack on the Mbone)
DIS Standard (IEEE distributed interactive simulation)
HAL
Games
-
8/6/2019 Talk Gatech Game 2000
6/12
Multi-Player Game --- Related Work
Client-server Architecture
Advantage
Disadvantage
It is easy to achieve consistency. Each
participant can have the same state
view by receiving the same data
from the server.
Server may become bottleneck.Nobody can play if server crashes.
Participants are treated as dumb
terminals.
Participant Participant Participant
Participants sendactions to the server
and the server sends updated entity
states back for display.
-
8/6/2019 Talk Gatech Game 2000
7/12
Multi-Player Game --- Related Work
Fully Distributed Architecture
Advantage
Disadvantage
It is easy to scale. No server
bottleneck.
Synchronization and consistency.
Participant
Participant
Participant
Participant
Participants talk with each other
directly (not through the server). Entity
states are updated in distributed places.
-
8/6/2019 Talk Gatech Game 2000
8/12
Multi-Player Game --- Proposed Work
Three Observations
Require global reference to resolve conflict of stateupdate.
Continuous entity states are transmitted repeatedly. Only the most
recent ones matter. No retransmission of lost entity states (similarto real time audio/video).
High reliability and strong consistency are not required forcontinuous entity states.
However, global reference does not have to reside in a
centralized place.
Continuous game play should not be disruptedby player joining and leaving.
-
8/6/2019 Talk Gatech Game 2000
9/12
Multi-Player Game --- Proposed Work
High speed LAN, multicast
Master serverConnection Servers
Entity server running
entities automatically
by using AI engine
TCPTCP
TCP TCPTCP
UDP
UDPUDP
UDP
12
3
4
1
2
3
4
A new player joins in a session by contacting the master server. The master server
finds a less busy server for the new participant to connect.
The new participant connects with the server. The server transfer game state and
entity control to the new participant.
Participant sends interacting events to the involved participant via unreliable
unicast.
Participant sends state updates of local entities to other participants via unreliable
unicast or multicast.
Each entity has a owner. Only the
owner of an entity can change its
state. Every other participant
updates the entity state by
receiving information from its
owner (subscribe and publish).
Only participants (entity server is
a special kind of participant) own
entities.
Master server performs session
management.
Connection server assigns entity
control to a participant. It is also
responsible for reassigning
entities after their owner leaves a
session.
-
8/6/2019 Talk Gatech Game 2000
10/12
Multi-Player Game --- Proposed Work
Dead reckoning
Dead reckoning reduces traffic and deals with loss of continuous
entity state messages. The technique computes an entitys state based
on its most recently received state.
-
8/6/2019 Talk Gatech Game 2000
11/12
Multi-Player Game --- Proposed Work
Latency tolerance
Latency tolerance is used to hide network delay. A fixed amount
of delay is added to participants action.
Issue stop
command
at 200ms
Issue stop
command
at 230ms
300ms 330ms
transmission
A fixed delay 100ms is added to every action. Assume that
max one way transmission time + process overhead < 100ms
Participant
Participant
-
8/6/2019 Talk Gatech Game 2000
12/12
Multi-Player Game --- Proposed Work
Dynamic entity subscribe and publish
P1
P2P3 P4
12
1
2
3
4
P3 subscribes to some entity controlled by P1.
P2 sends an interaction event involving entity controlled by P1.
P1 updates entity state based on the received interaction event.
P1 sends new entity state to other subscribers.
3
4