Presentation is loading. Please wait.

Presentation is loading. Please wait.

Virtual World Architecture II

Similar presentations


Presentation on theme: "Virtual World Architecture II"— Presentation transcript:

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

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

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

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

7 Peer to Peer Pros/Cons Good when Bad 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 Client/Server Starcraft + other RTS’s
Croquet virtual world Gnutella Client/Server Xwing vs Tie fighter Doom and Quake Unreal Tournament Half Life / Garry’s 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 Peer to Peer (8 players)
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 Peer to peer (8-16 peers per room)
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 > # 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 Peer to Peer (30,000+ peers)
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 MMORPG’s work Need-to-know Client/Server (300 players)
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 server:client relationships client client client client server server server client client server server client

36 Massive Virtual Worlds:Current Efforts
Shards World of Warcraft Instances as well Everquest Unified World MUDs EVE Second life

37 Dead Reckoning Final Location 4 seconds Sent 00:28 Received 00:04 Lag
00:24

38 Where Dead Reckoning fails
4 seconds Path Final Location 4 seconds 00:25 Sent 00:29 Received 00:04 Lag Sent 00:28 Received 00:04 Lag 00:24

39 How to patch dead reckoning
4 seconds Final Location 4 seconds path Rewind Simulation To 25 00:25 Sent 00:29 Received 00:04 Lag Sent 00:28 Received 00:04 Lag 00:24

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


Download ppt "Virtual World Architecture II"

Similar presentations


Ads by Google