Title: Scaling PeertoPeer Multiplayer Games with Doppelgngers
1Scaling Peer-to-Peer Multiplayer Games with
Doppelgängers Jeffrey Pang Frank Uyeda
Jacob R. Lorch John R. Douceur
Carnegie Mellon
UC San Diego
Microsoft Research
Donnybrook project goal Dramatically increase
the scale of peer-to-peer shooter games
Why massive-scale P2P games?
The outbound bandwidth problem
- In large games, players can see many others
- You send position updates to everyone who can see
you - Residential broadband is asymmetric
- Insufficient bandwidth to send updates at
preferred frequency
- Massively multiplayer games growing in popularity
- Leveraging participants machines has advantages
- Reduces subscription costs
- Reduces dependence on infrastructure
- Allows scaling to arbitrary numbers of clients
- Peer-to-peer attractive because using one peer as
a server limits game scale
Example (Quake III) Update rate
20 updates/sec Update size
100 bytes Bandwidth needed per peer 16
kb/s Supportable peers at 128 kbps Only 8!
128 Kb/s upstream, 1.5 Mb/s down
Donnybrook design principles
- Time-critical updates to a single peer
- Mechanism Pairwise rapid agreement
- When out-of-focus, realism trumps accuracy
- Mechanism Guidable AI
- Player attention bounded in a crowd
- Mechanism Focus set
- In Donnybrook, these principles are embodied in a
doppelgänger, which is a replica that implements
these mechanisms.
Pairwise rapid agreement
Focus set
Guidable AI
- Limited B/W for peers not in focus set
- Focus set uses most bandwidth, so others updated
only once per 1 sec - Dead reckoning doesnt look realistic at such low
update rates - Our leverage players not very interested in
these objects - Realism is important, not exactness
- If not focused on an object, a player only will
notice if its acting oddly - Our approach Guidable AI
- Players send predictions of where theyll likely
be at time of next update - Their Doppelgängers use a local AI, which follows
natural-looking paths to accommodate predicted
behavior - Prediction also encompasses behavior, such as how
shooty and jumpy the AI should act - Implementation can leverage existing AI code
written for bots
- Scenario Object A modifies object B
- Alice damages Bob
- Alice dies, increasing Bobs score
- Alice picks up an item
- Alice opens a door
- Goal Prompt consistency
- If Alice brags about hitting Bob on voice chat,
he should know what shes talking about - Our approach Asynchronous RPC
- Peer managing object A sends update to peer
managing object B - Doppelgänger of affected object updated
immediately - Scalable 1-to-1 communication, not 1-to-n
- When inconsistency is apparent, infrequent
updates are bad - Alice intently watching, following, and/or
shooting Bob - Bob driving a vehicle Alice is riding in
- Each peer reserves some upload B/W to send rapid
updates to its focus set - Focus set is the n players most interested in its
avatars state - n is constant (4 or 5), so bandwidth is
constrained - How focus set works
- Each peer A computes attention value heuristic
for each other peer B, estimating As interest in
Bs state - Peer B selects n highest such values for its
focus set - Each peer sends updates to its focus set every
frame - Doppelgänger may receive frequent or infrequent
updates
Implementation and evaluation
- Implemented Donnybrook techniques on P2P Quake
III - Evaluated fun with user study
- Compared three versions
- LowBW Current state-of-the art in low-bandwidth
setting - LowBWDonny Donnybrook in low-bandwidth setting
- HighBW Quake III in LAN setting
- Conclusions
- Donnybrook significantly better than
state-of-the-art bandwidth compensation
techniques - Donnybrook makes low-bandwidth game almost as
much fun as if bandwidth were unconstrained - Donnybrook techniques dramatically increase
scalability
Player ratings of game fun
Time until a player wanted to switch versions
Theoretical scalability
Which version players preferred
With Donnybrook
Without Donnybrook
Form your own opinion by playing our demo!