12.07.2015 Views

Implementation of a Peer-to-Peer Multiplayer Game with ... - DVS

Implementation of a Peer-to-Peer Multiplayer Game with ... - DVS

Implementation of a Peer-to-Peer Multiplayer Game with ... - DVS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.4.1 Low-Latency Information DisseminationOne <strong>of</strong> the most specific requirements for fast-paced peer-<strong>to</strong>-peer multiplayer games is a low-latency informationpropagation <strong>to</strong> interested receivers (interest management [24]). The most important interestfac<strong>to</strong>r is locality (closeness in the game world), as the games discussed here are games in which playershave a very limited vision range (and thus area <strong>of</strong> interest) compared <strong>to</strong> the size <strong>of</strong> the game world.Examples <strong>of</strong> those games are first person shooters or role-playing games. This does not apply <strong>to</strong> e.g.,real-time strategy games where the player is able <strong>to</strong> see large parts <strong>of</strong> the game world. The typical informationthat is <strong>to</strong> be disseminated quickly are position updates. While most other information exchangeis only necessary <strong>with</strong>in small groups (mostly 2 players) interacting <strong>with</strong> each other, there may be otherinformation that everyone around is interested in. But assuming a simplistic game, position updates aresufficient, and other types <strong>of</strong> information can be handled the same way.The probably most obvious (and in fact most common) approach is spatial multicast, i.e., informationis multicast <strong>to</strong> all participants <strong>with</strong>in a certain range in the game world. There have been approachesusing IP multicast for NVEs [22, 11], but they have shown <strong>to</strong> be practically infeasible because <strong>of</strong> basicallytwo problems. First, the spatial structure needs <strong>to</strong> be mapped <strong>to</strong> multicast groups which are inflexibleand only available in very limited numbers. Second, and more importantly, IP multicast is not widelysupported in the Internet, limiting the area <strong>of</strong> application <strong>to</strong> small networks. Instead, all recent approachesdo application layer multicast which is flexible and less network-dependent. But they have thedownside <strong>of</strong> being less (upstream) bandwidth efficient.The easiest way <strong>of</strong> doing spatial multicast is through a server. The server collects all (position update)messages from the players, assigns each update <strong>to</strong> those players that are interested according <strong>to</strong> theinterest management rules, and sends them <strong>to</strong> the the corresponding players in an aggregated form.This has the advantage that the players have minimal bandwidth requirements as they only have <strong>to</strong> sendtheir updates <strong>to</strong> one server and receive perfectly cus<strong>to</strong>mized and aggregated data. The downside, <strong>of</strong>course, are the server requirements. The server does not necessarily need <strong>to</strong> be one central dedicatedserver; instead in a peer-<strong>to</strong>-peer game, for each region a server may be elected among the peers. But inany case, the server has <strong>to</strong> cope <strong>with</strong> a high load, needing <strong>to</strong> communicate <strong>with</strong> all players (in its region)and performing interest management.To avoid bottlenecks at machines managing the whole region, several approaches completely decentralizethe position update dissemination. Position updates usually account for a large part (if not largest)<strong>of</strong> the traffic in multiplayer games. Thus, other types <strong>of</strong> information may still be managed by central instances(see below). Decentralized approaches usually do not rely on fixed regions. Although this optionis also available using generic application layer multicast techniques [2, 10], e.g., <strong>with</strong> one multicastgroup per region, dynamic approaches have several advantages. First, using regions <strong>with</strong> a continuousgame world, there is always the necessity <strong>of</strong> (smooth) region crossing and visibility across regions. Onesolution for these problems would be having overlapping regions or multiple interleaved region grids,so that the player is always member <strong>of</strong> (at least) two multicast groups. Second, statically sized regionsmay become overloaded in crowded places. Smaller regions allow for a higher player density but causehigher overhead due <strong>to</strong> more frequent region switches.In the unstructured approaches (i.e., those <strong>with</strong>out fixed regions), each node keeps a neighbor list <strong>of</strong>nearby nodes. Typically, every node is in direct contact <strong>with</strong> all nodes in its vision range (and/or nodes inwhose vision range it is; this is the same in simple cases <strong>with</strong> equally sized and undirected vision ranges).The challenge for these approaches is <strong>to</strong> quickly and efficiently detect new neighbors approaching thevision range. Late detections will cause other players (or generally objects) <strong>to</strong> suddenly appear in thevision <strong>of</strong> a player who will certainly be annoyed about that happening.The techniques for neighbor detection vary between the different approaches. VON builds voronoidiagrams <strong>to</strong> find the boundary neighbors who are responsible for introducing approaching nodes. pSenseuses sensing nodes which are neighbors outside the vision range pointing like antennas in differentdirections. In Donnybrook instead, low fidelity updates are cast <strong>to</strong> all nodes in the game (for large game28 2.4 Design Space for <strong>Peer</strong>-<strong>to</strong>-<strong>Peer</strong> <strong>Game</strong>s

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!