Virtual World Architecture II - PowerPoint PPT Presentation

About This Presentation
Title:

Virtual World Architecture II

Description:

Virtual World Architecture II Network Architecture Styles of Networking Architecture Peer to Peer Client - Server Broadcast Peer to Peer Client - Server ... – PowerPoint PPT presentation

Number of Views:160
Avg rating:3.0/5.0
Slides: 41
Provided by: dani88
Category:

less

Transcript and Presenter's Notes

Title: Virtual World Architecture II


1
Virtual World Architecture II
  • Network Architecture

2
Styles of Networking Architecture
  • Peer to Peer Client - Server

client
client
client
client
server
client
client
client
client
client
client
3
Broadcast
  • Peer to Peer Client - Server

client
client
client
client
server
client
client
client
client
client
client
4
Broadcast
  • Peer to Peer Client - Server

client
client
client
client
server
client
client
client
client
client
client
5
Direct Message
  • Peer to Peer Client - Server

client
client
client
client
server
client
client
client
client
client
client
6
Direct Message
  • Peer to Peer Client - Server

client
client
client
client
server
client
client
client
client
client
client
7
Peer to Peer Pros/Cons
  • Good when
  • 2 x latency btw client and server too high for
    interactivity
  • No one trusted to be central relay
  • Bad when
  • Server has far more bandwidth than others
  • peer-peer links cannot be established everywhere
  • one slow peer-peer link slows down progression of
    simulation

8
Client/Server Pros/Cons
  • Good when
  • Server faster or better distributed than clients
  • Clients behind firewalls
  • Insulation
  • Bad when
  • Many peer to peer messages must be relayed
  • Untrusted server
  • Round trip time too high for application

9
Examples
  • Peer to Peer
  • Starcraft other RTSs
  • Croquet virtual world
  • Gnutella
  • Client/Server
  • Xwing vs Tie fighter
  • Doom and Quake
  • Unreal Tournament
  • Half Life / Garrys Mod
  • World of Warcraft MMORPGs

10
Another way to slice the cake
  • Full Disclosure
  • All input events relayed to all clients
  • Each client simulates the world using inputs from
    all players
  • Need-to-know
  • All input events sent to server
  • Server updates each client with only information
    relevant to that client

11
In practice who uses what
Full Disclosure Need-to-know
Peer to Peer Star Craft, Croquet Gnutella
Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft
12
In practice who uses what
Full Disclosure Need-to-know
Peer to Peer Star Craft, Croquet Gnutella
Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft
13
Star Craft
14
How Star Craft works
  • Full Disclosure
  • Each clients sends mouse clicks and timestamp to
    all other clients
  • If everyone acknowledges receipt in sufficient
    time, action performed
  • Otherwise game halted until all can perform
    action
  • AI players are deterministic and react to world
    state
  • Peer to Peer (8 players)
  • Once Star Craft game started, all clients are
    equal
  • If someone is cheating, they only cheat themselves

15
In practice who uses what
Full Disclosure Need-to-know
Peer to Peer Star Craft, Croquet Gnutella
Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft
16
Croquet
17
How Croquet works
  • Full disclosure
  • Clients only send input events to each other
  • Complex worlds with few actors are simulated in
    full by each client
  • Peer to peer (8-16 peers per room)
  • Save round trip time by sending data directly to
    each other

18
In practice who uses what
Full Disclosure Need-to-know
Peer to Peer Star Craft, Croquet Gnutella
Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft
19
X-wing vs Tie Fighter
20
How X-wing vs Tie Fighter works
  • Full disclosure
  • Clients only send input events to each other
  • Most (95) of the craft are AI
  • simulated on each client
  • Client/Server (8 players)
  • If one player acts as host
  • Can reduce burden of other players
  • Slightly increase burden of host
  • Broadband server can host 7 modem players

21
Full Disclosure Pros/Cons
  • Good when
  • objects predictable w/ full game state gt
    unpredictable objects
  • No one is trusted with game state
  • Total transparency/information awareness
  • Bad when
  • num unpredictable objects large
  • one slow link slows down updates for everyone
  • Full world state can lead to cheating
  • Star Craft map hack

22
In practice who uses what
Full Disclosure Need-to-know
Peer to Peer Star Craft, Croquet Gnutella
Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft
23
Gnutella
24
How Gnutella Works
  • Need To Know
  • Only file requests are relayed around
  • Full sharing data of network is not available
  • Peer to Peer (30,000 peers)
  • No central server to demand file list from (like
    napster had)
  • If a host is inaccessible a pull command can be
    sent
  • Malicious (RIAA) hosts can disrupt network
    effectiveness by relaying false world state

25
In practice who uses what
Full Disclosure Need-to-know
Peer to Peer Star Craft, Croquet Gnutella
Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft
26
Doom First Person Shooters
27
How First Person Shooters Work
  • Need-to-Know
  • Portal/Room based maps
  • Only people in your or adjacent rooms relevant
  • Server only updates relevant clients
  • Event timestamps still important
  • Keep dead folks from shooting
  • Client/Server (32 players)
  • Host has high bandwidth, can make relevancy
    decisions easier
  • Central connecting point for late-joiners

28
In practice who uses what
Full Disclosure Need-to-know
Peer to Peer Star Craft, Croquet Gnutella
Client/Server X-wing vs Tie Fighter Doom, Quake, Unreal,Half life, World of Warcraft
29
World of Warcraft
30
How MMORPGs work
  • Need-to-know
  • Impossible to update everyone about goings on in
    a large world
  • Designers wish to keep some information secret
  • Treasure locations
  • Monster health
  • Locations of players
  • Client/Server (300 players)
  • Trusted server(s) with high bandwidth
  • Everyone connects to a server, some anonymity
    provided

31
Need-to-know Pros/Cons
  • Good when
  • unpredictable objects too large for all clients
    to keep up with changes
  • Server faster or better distributed than clients
  • clients behind firewalls
  • Bad when
  • Untrusted server/relay
  • Round trip time too high for application

32
Analogy to government types
  • Full Disclosure Democracy
  • Pure democracy -- town hall style
  • Everyone talks to everyone else
  • Education critical
  • Everyone should be informed of all actions
  • Otherwise can be duped by clients
  • Check balance system possible, but not easy
  • Need-To-Know Dictatorship
  • ministry of information
  • Keeps true world state
  • Broadcasts only needed info
  • Clients trust the server for world state

33
Managing large commercial systems
  • Divide servers into shards

client
client
client
client
US West
US East
client
client
client
client
client
client
34
Managing large commercial systems
  • Divide shards into instances

client
client
US West
client
client
Instance server
client
35
Managing large commercial systems
  • Many-to-many serverclient relationships

client
client
client
client
server
server
server
client
client
server
server
client
36
Massive Virtual WorldsCurrent Efforts
  • Shards
  • World of Warcraft
  • Instances as well
  • Everquest
  • Unified World
  • MUDs
  • EVE
  • Second life

37
Dead Reckoning
Sent
0024
38
Where Dead Reckoning fails
Path
Sent
0024
39
How to patch dead reckoning
path
Rewind Simulation To 25
Sent
0024
40
Conclusion
  • Many solution exist to put folks together in a
    virtual world
  • Usually tailored to the specification of the
    world
  • No one size fits all solution
  • Networking architectures are only going to get
    more complex in the future
Write a Comment
User Comments (0)
About PowerShow.com