Scaling Melees in Peer-to-Peer Games with Donnybrook Jeffrey Pang, Frank Uyeda, John Douceur, Jay Lorch.

Slides:



Advertisements
Similar presentations
Donnybrook: Enabling Large-Scale, High-Speed, Peer-to-Peer Games Ashwin Bharambe Jeffrey Pang Srinivasan Seshan Xinyu Zhuang John R. Douceur Jacob R. Lorch.
Advertisements

Colyseus: A Distributed Architecture for Online Multiplayer Games
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
MIS 2000 Class 20 System Development Process Updated 2014.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli University of Calif, Berkeley and Lawrence Berkeley National Laboratory SIGCOMM.
Distributed Multimedia Systems
Topics in Programming Reactive Systems Prof. Ronen Brafman and Dr. Gera Weiss.
Natural Selection in Peer-to-Peer Streaming: From the Cathedral to the Bazaar Vivek Shrivastava, Suman Banerjee University of Wisconsin-Madison, USA ACM.
Consensus Routing: The Internet as a Distributed System John P. John, Ethan Katz-Bassett, Arvind Krishnamurthy, and Thomas Anderson Presented.
Locality Aware Dynamic Load Management for Massively Multiplayer Games Written by Jin Chen 1, Baohua Wu 2, Margaret Delap 2, Bjorn Knutsson 2, Honghui.
Server-Oriented Multiplayer Games Presented by: Eric Fesenmaier
Resilient Peer-to-Peer Streaming Paper by: Venkata N. Padmanabhan Helen J. Wang Philip A. Chou Discussion Leader: Manfred Georg Presented by: Christoph.
1 Scaling Peer-to-Peer Games in Low Bandwidth Environments Jeff Pang Carnegie Mellon Frank Uyeda U.C. San Diego Jacob R. Lorch Microsoft Research.
1 “Multiplexing Live Video Streams & Voice with Data over a High Capacity Packet Switched Wireless Network” Spyros Psychis, Polychronis Koutsakis and Michael.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
Small-world Overlay P2P Network
Peer-to-Peer Support for Massively Multiplayer Games Bjorn Knutsson, Honghui Lu, Wei Xu, Bryan Hopkins Presented by Mohammed Alam (Shahed)
Introduction to Data-driven Animation Jinxiang Chai Computer Science and Engineering Texas A&M University.
Measurement and Estimation of Network QoS among Peer Xbox Game Players Youngki Lee, KAIST Sharad Agarwal, Microsoft Research Chris Butcher, Bungie Studio.
Project 4 U-Pick – A Project of Your Own Design Proposal Due: April 14 th (earlier ok) Project Due: April 25 th.
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
Service Differentiated Peer Selection An Incentive Mechanism for Peer-to-Peer Media Streaming Ahsan Habib, Member, IEEE, and John Chuang, Member, IEEE.
1 A Network Communication System for Large-Scale, High-Speed Games Ashwin Bharambe, Jeff Pang, Srini Seshan, Xinyu Zhang Carnegie Mellon John Douceur,
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Performance Modeling Computer Science Division Department of Electrical Engineering and Computer.
Scaling Peer-to-Peer Multiplayer Games with Doppelgängers Jeffrey Pang Frank Uyeda Jacob R. Lorch John R. Douceur Donnybrook project goal: Dramatically.
Issues in Offering Live P2P Streaming Service to Residential Users Nazanin Magharei, *Yang Guo, and Reza Rejaie Dept. of Computer and Information Science.
PROMISE: Peer-to-Peer Media Streaming Using CollectCast M. Hefeeda, A. Habib, B. Botev, D. Xu, and B. Bhargava ACM Multimedia 2003, November 2003.
Memory Management Virtual Memory Page replacement algorithms
Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.
1 Scaling Peer-to-Peer Games with Jeffrey Pang (that’s me) Frank Uyeda U.C. San Diego John Douceur Microsoft Research Jay Lorch Microsoft Research * *
Colyseus: A Distributed Architecture for Online Multiplayer Games Ashwin Bharambe, Jeffrey Pang, Srini Seshan Carnegie Mellon University May 7,
Impact of Different Mobility Models on Connectivity Probability of a Wireless Ad Hoc Network Tatiana K. Madsen, Frank H.P. Fitzek, Ramjee Prasad [tatiana.
1 Efficient Management of Data Center Resources for Massively Multiplayer Online Games V. Nae, A. Iosup, S. Podlipnig, R. Prodan, D. Epema, T. Fahringer,
University of Zagreb MMVE 2012 workshop1 Towards Reinterpretation of Interaction Complexity for Load Prediction in Cloud-based MMORPGs Mirko Sužnjević,
Overview Integration Testing Decomposition Based Integration
Networked Games - consistency and real-time Objectives – –Understand the problems associated with networked games. –Realize the importance of satisfying.
1 Scalable and transparent parallelization of multiplayer games Bogdan Simion MASc thesis Department of Electrical and Computer Engineering.
An Efficient and Secure Event Signature (EASES) Protocol for Peer-to-Peer Massively Multiplayer Online Games Mo-Che Chan, Shun-Yun Hu and Jehn-Ruey Jiang.
Peer-to-Peer Support for Massively Multiplayer Games Zone Federation of Game Servers : a Peer-to-Peer Approach to Scalable Multi-player Online Games [INFOCOM.
Introduction to Networked Graphics Part 3 of 5: Latency.
Peer-to-Peer AOI Voice Chatting for Massively Multiplayer Online Games (P2P-NVE 2007 workshop) Jehn-Ruey Jiang and Hung-Shiang Chen Adaptive Computing.
Distributing Layered Encoded Video through Caches Authors: Jussi Kangasharju Felix HartantoMartin Reisslein Keith W. Ross Proceedings of IEEE Infocom 2001,
Armin Bahramshahry August  Background  Problem  Solution  Evaluation  Summary.
ONLINE GAME NETWORK TRAFFIC OPTIMIZATION Jaewoo kim Youngho yi Minsik cho.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Locality Aware Dynamic Load Management for Massively Multiplayer Games Jin Chen, Baohua Wu, Margaret Delap, Bjorn Knutsson, Margaret Delap, Bjorn Knutsson,
Peer-to-Peer AOI Voice Chatting for Massively Multiplayer Online Games (P2P-NVE 2007 workshop) Jehn-Ruey Jiang and Hung-Shiang Chen Presenter: Shun-Yun.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
A Peer-to-Peer Approach to Resource Discovery in Grid Environments (in HPDC’02, by U of Chicago) Gisik Kwon Nov. 18, 2002.
Latency and Player Actions in Online Games Mark Claypool & Kajal Claypool Worcester Polytechnic Institute Communications of the ACM, Nov Presented.
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
On the Optimal Scheduling for Media Streaming in Data-driven Overlay Networks Meng ZHANG with Yongqiang XIONG, Qian ZHANG, Shiqiang YANG Globecom 2006.
Computational theory techniques in interactive video games.
MROrder: Flexible Job Ordering Optimization for Online MapReduce Workloads School of Computer Engineering Nanyang Technological University 30 th Aug 2013.
Efficient AOI-Cast for Peer-to-Peer Networked Virtual Environments.
Trust Me, I’m Partially Right: Incremental Visualization Lets Analysts Explore Large Datasets Faster Shengliang Dai.
Multiplayer games on networks potential and tradeoffs.
Network Computing Laboratory 1 Vivaldi: A Decentralized Network Coordinate System Authors: Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris MIT Published.
Patch Scheduling for On-line Games Chris Chambers Wu-chang Feng Portland State University.
COMPUTER NETWORKING 2 LECTURE 3: BROADBAND TECHNOLOGY & DSL.
Predicting the Perceived Quality of a First Person Shooter Game The Team Fortress 2 T-Model David Dwyer Eric Finn Advisor: Mark Claypool 1.
Artificial Intelligence in Game Design Lecture 20: Hill Climbing and N-Grams.
A Connectivity-Based Popularity Prediction Approach for Social Networks Huangmao Quan, Ana Milicic, Slobodan Vucetic, and Jie Wu Department of Computer.
Fast Precise Distributed Control for Energy Demand Management Jacob Beal, Jeff Berliner, Kevin Hunter IEEE SASO September, 2012.
Trading Timeliness and Accuracy in Geo-Distributed Streaming Analytics
Authors: Sajjad Rizvi, Xi Li, Bernard Wong, Fiodar Kazhamiaka
Virtual World Architecture II
EE 122: Network Applications
A benchmark for Minecraft-like services
Presentation transcript:

Scaling Melees in Peer-to-Peer Games with Donnybrook Jeffrey Pang, Frank Uyeda, John Douceur, Jay Lorch

Why P2P Games? Multiplayer games are popular –Some recent research: Colyseus [NSDI ‘06] SimMUD [INFOCOM ’04] Centralized First Person Shooter games scale poorly 1 million 2 million 3 million 4 million 5 million 6 million 7 million 8 million Number of subscribers World of Warcraft Final Fantasy XI Everquest Ultima Online Bandwidth (kbps) Quake II server Colyseus [NSDI ’06]

Overview Limited outbound network capacity constrains scale of peer-to-peer games –Home users with cable/DSL can’t send frequent game state updates to many others –Multiplayer melees don’t work – too many to send to Donnybrook contributions –Techniques to accommodate limited bandwidth, even in melees –A prototype illustrating these techniques Our user study shows we greatly increase scalability while preserving fun and fairness

Outline P2P Games Background Outbound Capacity Problem Guidable AI Evaluation Summary

Game Execution Model Game State: –Collection of distinct objects (players, missiles, items, etc.) Game Execution: –Each object has a Think function: Think() { ReadPlayerInput(); DoActions();... } –Execute each object once per frame: Each 50ms do { foreach object do { object->Think(); } }

P2P Object Model Primary object Replica objects Local Object Store Primary: –Execute Think function –Send state to all peers Replicas: –Receive state updates –Apply state update to replica updates for

Outline P2P Games Background Outbound Capacity Problem Guidable AI Evaluation Summary

The Outbound Capacity Problem Residential broadband is asymmetric In many games, players can see many others Insufficient capacity to send updates at preferred frequency  must send updates at lower frequency kbps up, 1.5-3Mbps down Cost per Peer in Quake III: Update rate = 20 updates/sec Update size = ~100 bytes  Bwidth per peer >= 16kbps  Supportable peers at 128kbps <= 8

The Outbound Capacity Problem P2P Quake on a LANP2P Quake on a Cable Modem

Outline P2P Games Background Outbound Capacity Problem Guidable AI Evaluation Future Work

Guidable AI Existing P2P game architectures –Updates are opaque (just state snapshots --- “blob of bytes”) –Secondary replicas can be as stale as the update interval –Update rate per peer is fixed Donnybrook’s Solution: Guidable AI –Updates aggregate information (predict continuous behavior) –Secondary replicas can think for themselves (they are “guided” by updates, rather than follow them strictly) –Update rate per peer is variable (quality of service)

Design Principles Timely and realistic interaction is most important –Example: When I shoot you, you should take damage immediately –Why: Multiplayer games are social; inconsistent interactions are jarring –Guidable AI Component: Pairwise Rapid Agreement Player attention is bounded even when in a crowd –Example: I focus on my current target or important players –Why: Human cognitive limitations –Guidable AI Component: Frequent Update Set For out-of-focus objects, value realism over accuracy –Example: “warping” to correct location is more jarring than walking –Why: if player is not focused on an object, should not draw attention –Guidable AI Component: Prediction/Replica AI

Pairwise Rapid Agreement Interaction: when player A modifies player B (i.e. A performs a write on B) Goal: modification is consistent and applied quickly Analogous to async RPC –Player A sends mod to Player B –Player B checks preconditions locally –Player B then applies mod –Optional: Player A gives a deadline to B by when the PRA should be applied (e.g., so B has time to make local preconditions hold) PRAs required in Quake III: –Damage, Death, Item Pickup, Door Opening

Frequent Update Set Each player divides other peers into two classes: –FU Set: peers get updates every frame –Best Effort: peers get updates when bandwidth is available (using round-robin)  bandwidth allocated to FU Set, (1-  ) to Best Effort Who goes in my FU Set? –Compute attention-value for how much I am focused on each player Attention based on distance, aiming angle, and PRAs –Attention-values are sent between peers periodically –Peers with the highest attention-values on me go in my FU Set

Prediction Motivation: state snapshots get stale fast –Example: players can traverse the entire diameter of a map in several seconds in Quake III –Goal: send prediction of state at the time of the next expected update –Example: predict the motion path of a player until the next update Predicted Properties: –Predict position: use in-game simulation to figure how where physics brings player in next second –Predict viewing angle: use view angles to estimate the target a player is aiming at –Predict Events: use number-of-shots-fired to estimate when a player is “shooty”, etc.

Replica AI Idea: Use AI to make transition between updates appear realistic Properties smoothed with AI –Position: use existing path finding code to make replica move smoothly –Angle: have AI turn smoothly toward predicted targets –Events: AI can not perform “non-undoable” events (death, etc.) Convergence –Motivation: Players in focus should be represented more accurately –Solution: Converge to actual state when receiving frequent updates Focus on player B  in player B’s FU Set  Error(replica of B, actual state of B) decreases with each update When Error() < , use player B’s update snapshots instead of AI Error() is function chosen so transition is smooth

Guidable AI in Action P2P Quake on a LANP2P Quake on a Cable Modem with Donnybrook Guidable AI

Outline P2P Games Background Outbound Capacity Problem Guidable AI Evaluation Summary

Evaluation Overview Goals –Determine how much Guidable AI improves playability of P2P Quake III –Determine how close Guidable AI gets to Quake III on a LAN (i.e., optimal) Methodology –User study to evaluate “funness” –Bot simulation to evaluate “fairness”

Evaluation Methodology Compare 3 versions of P2P Quake –S: Current state-of-the art in P2P setting –D: Donnybrook Guidable AI in P2P setting –Q: Quake III in LAN setting (optimal) Emulate P2P Game –15 min Quake III game –32 players 30 bots 2 real players –Focus on player-player interaction Player kills worth 10x more Winner gets MS Dining coupon Encourage trash talk Parameters: P2P: 108kbps LAN: 4Mbps FU Set  = 0.77  size = ~4  ~1 update per sec.

Evaluation Methodology (cont.) User Study Overview –Each pair of players told 2 Quake III “servers” exist (A and B) –Start playing on A, can vote to switch to B, and can vote to switch back and forth –When both players vote, game continues on other version –Analog to how players choose servers in existing games (if server is good, stay, otherwise leave and try another) –Play additional 5 min on least-used version so they can compare

Evaluation Methodology (cont.) User Study Stats –D vs. S: 12 pairs (1/2 start on each) –D vs. Q: 32 pairs (1/2 start on each) –98 total participants “Funness” Metrics –Departure Time: How long before a player wants to switch? –Total Stay Time: How long does a pair play on each version? –Self-Reported “Fun Score”: How fun was server A? Server B? –Self-Reported Preference: Do you prefer A or B?

Player Departure Time

Total Player Stay Time

Self-Reported Playability

Self-Reported Preference

Fairness Preservation

Outline P2P Games Background Outbound Capacity Problem Guidable AI Evaluation Summary

Guidable AIs enable large-scale P2P games in low bandwidth environments Three key components for Guidable AI –Pairwise Rapid Agreement –Frequent Update Set –Prediction/Replica AI Initial results are positive –Players clearly prefer Guidable AIs over existing update techniques –A low bandwidth game with Guidable AIs is almost as playable as an optimal LAN game