Talk Gatech Game 2000

download Talk Gatech Game 2000

of 12

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