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 * *

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
LYU9903 QoS Schemes in Wireless Networks Ho Pun Mo & Ng Maggie Supervised by Prof. Lyu R.T. Michael 6 December, 1999.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli University of Calif, Berkeley and Lawrence Berkeley National Laboratory SIGCOMM.
Distributed Multimedia Systems
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.
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)
Measurement and Estimation of Network QoS among Peer Xbox Game Players Youngki Lee, KAIST Sharad Agarwal, Microsoft Research Chris Butcher, Bungie Studio.
1 Modeling and Emulation of Internet Paths Pramod Sanaga, Jonathon Duerig, Robert Ricci, Jay Lepreau University of Utah.
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.
A Layered Hybrid ARQ Scheme for Scalable Video Multicast over Wireless Networks Zhengye Liu, Joint work with Zhenyu Wu.
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,
ICNP'061 Benefit-based Data Caching in Ad Hoc Networks Bin Tang, Himanshu Gupta and Samir Das Computer Science Department Stony Brook University.
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
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.
Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.
An Overlay Multicast Infrastructure for Live/Stored Video Streaming Visual Communication Laboratory Department of Computer Science National Tsing Hua University.
Colyseus: A Distributed Architecture for Online Multiplayer Games Ashwin Bharambe, Jeffrey Pang, Srini Seshan Carnegie Mellon University May 7,
Submission doc.: IEEE /1452r0 November 2014 Leif Wilhelmsson, EricssonSlide 1 Frequency selective scheduling in OFDMA Date: Authors:
Scaling Melees in Peer-to-Peer Games with Donnybrook Jeffrey Pang, Frank Uyeda, John Douceur, Jay Lorch.
TDC 461: Wide Area Network Services DePaul University 22 May, 2001.
1 Efficient Management of Data Center Resources for Massively Multiplayer Online Games V. Nae, A. Iosup, S. Podlipnig, R. Prodan, D. Epema, T. Fahringer,
PIC: Practical Internet Coordinates for Distance Estimation Manuel Costa joint work with Miguel Castro, Ant Rowstron, Peter Key Microsoft Research Cambridge.
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.
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,
Scanner Run Jared Wilkin Chris Good. A Children’s Game.
Armin Bahramshahry August  Background  Problem  Solution  Evaluation  Summary.
ONLINE GAME NETWORK TRAFFIC OPTIMIZATION Jaewoo kim Youngho yi Minsik cho.
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.
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.
A Bandwidth Estimation Method for IP Version 6 Networks Marshall Crocker Department of Electrical and Computer Engineering Mississippi State University.
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.
1 Network Tomography Using Passive End-to-End Measurements Venkata N. Padmanabhan Lili Qiu Helen J. Wang Microsoft Research DIMACS’2002.
CoopNet: Cooperative Networking
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.
Incrementally Improving Lookup Latency in Distributed Hash Table Systems Hui Zhang 1, Ashish Goel 2, Ramesh Govindan 1 1 University of Southern California.
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
SCOPE: Scalable Consistency in Structured P2P Systems
A benchmark for Minecraft-like services
Design and Implementation of OverLay Multicast Tree Protocol
Presentation transcript:

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 * *

2 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 large melees –A prototype illustrating these techniques Our user study shows we increase scalability while preserving fun* * to be more rigorously defined

3 Outline P2P Games Background Outbound Capacity Problem Guidable AI Evaluation Summary

4 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

5 Outline P2P Games Background Outbound Capacity Problem Guidable AI Evaluation Summary

6 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

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

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

9 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)

10 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

11 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 interaction –Attention-values are sent between peers periodically –Peers with the highest attention-values on me go in my FU Set

12 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 time of next expected update –Example: predict where a player will be at 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.

13 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

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

15 Outline P2P Games Background Outbound Capacity Problem Guidable AI Evaluation Summary

16 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”

17 Experimental Setup 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 a P2P 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.

18 Experimental Setup (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

19 Experimental Setup (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?

20 Player Departure Time

21 Total Player Stay Time

22 Self-Reported Playability

23 Self-Reported Preference

24 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 Future work: –FU Set isn’t sufficient if everyone is focused on the same player (e.g., the flag carrier) –Use an bounded-latency overlay multicast tree to deliver FU updates in this scenario

25 Expansion Pack Slides …

26 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]

27 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(); } }

28 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

29 Fairness Preservation