Multiplayer Online Games An-Cheng Huang Bruce Maggs.

Slides:



Advertisements
Similar presentations
Colyseus: A Distributed Architecture for Online Multiplayer Games
Advertisements

Multi-user Extensible Virtual Worlds Increasing complexity of objects and interactions with increasing world size, users, numbers of objects and types.
Multiplayer Online Games An-Cheng Huang Bruce Maggs.
Online Game Security - Quake III and its Hacks - (related paper: A Systematic Classification of Cheating in Online Games, Jeff Yanand and Brian Randell.
Networked Gaming Networking Bandwidth Security/Cheating Dynamics.
Cheat-Proof Playout for Centralized and Distributed Online Games IEEE InfoCom’01 Paper by Nathaniel E. Baughman and Brian Neil Levine CPSC 538A Presentation:
Cheat-Proof Playout for Centralized and Distributed Online Games By Nathaniel Baughman and Brian Levine (danny perry)
Comp763: Modern Computer Games Cheat-Proof Playout for Centralized and Distributed Online Games Nathaniel E. BaughmanBrian Neil Levine Irwin Chiu Hau Computer.
Video Game Security Brett Cobbs Matthew Boquist. ONLINE VIDEO GAMES controlled a majority of the computer world for sometime now and have never stopped.
Stopping cheaters since By: Tigran Gasparian.
Cheat-Proofing P2P Online-gaming Albert Lee Spring 2008 Comp 424.
Cheating at Multiplayer Online Games An-Cheng Huang Bruce Maggs.
Gameplay Networking Jacob Steinfort. Importance of Multiplayer Games If gamers had to choose either a single-player game or a multiplayer game, most people.
MV-3500 DoD Modeling & Simulation Network Protocols.
Network synchronization of Online Games Li, Zetan.
Server-Oriented Multiplayer Games Presented by: Eric Fesenmaier
On the Impact of Delay on Real-Time Multiplayer Games Authors: Lothar Pantel, Lars C. Wolf Presented by: Bryan Wong.
A Service Platform for On-Line Games DebanJan Saha, Dambit Sahu, Anees Shaikh (IBM TJ Watson Research Center, NY) Presented by Gary Huang March 17, 2004.
Peer-to-Peer Support for Massively Multiplayer Games Bjorn Knutsson, Honghui Lu, Wei Xu, Bryan Hopkins Presented by Mohammed Alam (Shahed)
Improving Online Gaming Quality using Detour Paths Cong Ly, Cheng-Hsin Hsu, and Mohamed Hefeeda Simon Fraser University, Canada Deutsche Telekom Labs,
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe, Sanjay Rao & Srinivasan Seshan Carnegie Mellon University.
Provisioning On-line Games: A Traffic Analysis of a Busy Counter- Strike Server Wu-chang Feng, Francis Chang, Wu-chi Feng, Jonathan Walpole Instructor:
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
1 IMPROVING RESPONSIVENESS BY LOCALITY IN DISTRIBUTED VIRTUAL ENVIRONMENTS Luca Genovali, Laura Ricci, Fabrizio Baiardi Lucca Institute for Advanced Studies.
Game Networking CSE 191A: Seminar on Video Game Programming Lecture 9: Networking UCSD, Spring, 2003 Instructor: Steve Rotenberg Guest Lecturer: Mark Rotenberg.
Title put our names here. General Problem Statement Ability to give customized information to a user based on the user’s current location, the current.
1 AINA 2006 Wien, April th 2006 DiVES: A DISTRIBUTED SUPPORT FOR NETWORKED VIRTUAL ENVIRONMENTS The IEEE 20th International Conference on Advanced.
School of Computer Science and Software Engineering A Networked Virtual Environment Communications Model using Priority Updating Monash University Yang-Wai.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
The Effects of Latency on User Performance in Warcraft III Nathan Sheldon, Eric Gerard, Seth Borg, Mark Claypool, Emmanuel Agu Computer Science Department.
Network Analysis of Counter-strike and Starcraft Mark Claypool, David LaPoint, Josh Winslow Worcester Polytechnic Institute Worcester, MA, USA
1 Efficient Management of Data Center Resources for Massively Multiplayer Online Games V. Nae, A. Iosup, S. Podlipnig, R. Prodan, D. Epema, T. Fahringer,
Applying Real-time Simulation to Real-time Collaboration Bart Miller.
Chapter 1 The Challenges of Networked Games. Online Gaming Desire for entertainment has pushed the frontiers of computing and networking technologies.
Internet GIS. A vast network connecting computers throughout the world Computers on the Internet are physically connected Computers on the Internet use.
Magda El Zarki Professor of CS Univ. of CA, Irvine
Revealed Presented by Jaysheel D Bhavsar Jaysheel D Bhavsar.
Daniel Korycinski CIS 487.  Developer: Valve Corporation  Game Type: First Person Shooter (FPS)  Rated for a mature audience  Price: $19.95.
Operating Systems Basic PC Maintenance, Upgrade and Repair Mods 1 & 2.
Networked Games - consistency and real-time Objectives – –Understand the problems associated with networked games. –Realize the importance of satisfying.
1 Network Gaming. History of Network Gaming MUD MUD –Multi-user Dungeons Modem Games Modem Games Match Makings Match Makings –Real-time strategy –FPS.
Introduction to Networked Graphics Part 3 of 5: Latency.
Warcraft III, by Blizzard CSE 381 – Advanced Game Programming Networked Gaming Issues.
The Video Game Industry Week 10. THE RISE OF THE VIDEO GAME INDUSTRY As with other industries there are three main themes associated with the video game.
Architectures of distributed systems Fundamental Models
ONLINE GAME NETWORK TRAFFIC OPTIMIZATION Jaewoo kim Youngho yi Minsik cho.
Latency Can Kill: Precision and Deadline in Online Games Mark Claypool Professor of CS Director of IMGD Worcester Polytechnic Institute Kajal Claypool.
Darkstar. Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively.
1 MMORPG Servers. 2 MMORPGs Features Avatar Avatar Levels Levels RPG Elements RPG Elements Mission Mission Chatting Chatting Society & Community Society.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
M ERCURY : A Scalable Publish-Subscribe System for Internet Games Ashwin R. Bharambe To appear in NetGames’02.
Multiplayer games on networks potential and tradeoffs.
Cheating at Multiplayer Online Games Bruce Maggs (with some slides from An-Cheng Huang)
Game Programming Patterns Game Loop From the book by Robert Nystrom
1991-current Games development and software production company.
Enterprise Network Systems Client/ Server Mark Clements.
CS 592: Security Practicum Lecture 2 On-line PC games and their cheats.
Predicting the Perceived Quality of a First Person Shooter Game The Team Fortress 2 T-Model David Dwyer Eric Finn Advisor: Mark Claypool 1.
The Effects of Latency on Player Performance in Cloud-based Games Mark Claypool and David Finkel Worcester Polytechnic Institute 1 In Proceedings of the.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
Identifying the Target Audience Part 2. Target Audience The target audience is the group of people for whom the game is meant. To develop an effective.
Cheating at Multiplayer Online Games

On Models for Game Input with Delay – Moving Target Selection with a Mouse Mark Claypool Mark Claypool. On Models for Game Input with Delay - Moving Target.
Virtual World Architecture II
Cheating at Multiplayer Online Games
Bandwidth Requirement
The PLATO Computer System and Cheating at Multiplayer Online Games
COMP755 Advanced Operating Systems
Presentation transcript:

Multiplayer Online Games An-Cheng Huang Bruce Maggs

Outline Overview of multiplayer online games (MOGs) Research issues Sample of recent papers A few observations

Types of MOG: Categorization by Genre First-Person Shooter (FPS) Role-Playing Game (RPG) Real-Time Strategy (RTS)

First-Person Shooter (FPS) Game world Player character Weapons Aim + shoot Call of Duty, Activision / Infinity Ward

FPS (cont.) Game world    

Role-Playing Game (RPG) Game world Player character “Weapons” Accomplish task, Improve (virtual) ability, accomplish harder task, etc. Diablo II, Blizzard Entertainment / Blizzard North (?)

Another RPG (Sort of) Game world Player character Accomplish task, Improve (virtual) ability, accomplish harder task, etc.

RPG (cont.) Game world     

Real-Time Strategy (RTS) Game world “Units” Explore, build, combat Rise of Nations, Microsoft

RTS (cont.) Game world             

Types of MOG: Categorization by Persistency No persistency Persistent player information Persistent game world Persistency –Local: e.g., run a persistent server for a few friends –Global: e.g., game company hosts servers for all

No Persistency    Before gaming session During After

Persistent Player Information       Before gaming session During After   

Persistent Game World        Before gaming session During After  

Scales of MOG n: Number of players in a game world n<=8 n<=64 n>1000  Massively Multiplayer (MMOG)

Interesting Combinations n<=64 (16-32 mostly), no persistency, FPS: e.g., CoD n<=8 (2-4 mostly), no persistency, RTS: RoN n<=8, persistent player information, RPG: Diablo II n>1000, persistent game world, RPG: EverQuest n>1000, persistent game world, FPS: PlanetSide

PLATO Computer System PLATO IV Developed by the University of Illinois and the Control Data Corporation 1961 timesharing PLATO II begins 1964 invention of plasma panel 1968 PLATO IV begins Spun off as “NovaNET” late 1980’s Revived at

Innovations first LARGE on-line community invention of the plasma panel multimedia “personal notes” – “group notes” – newsgroups “consulting mode” – like PC anywhere widely used “term talk” (like Unix talk) multiplayer graphical games IBM correctly attributes Lotus Notes to PLATO

Hardware Control Data mainframes designed by Seymour Cray Cyber 70, 176, CDC 6600, 7600 Magnetic core memory 60-bit words, 6-bit characters One’s-complement arithmetic Up to 1000 simultaneous users (NovaNET runs on Alpha today?)

PLATO V Terminal Plasma panel and CRT versions Same 512 x 512 display 8080 processor implemented all graphics

PLATO IV Terminal From

Multiplayer Games Dungeons and Dragons –orthanc, avatar Space –empire

Empire

Avatar

Research Issues (1) n=16-32, no persistency, FPS –Most sensitive to latency, jitter, and relative latency –Client/server architecture (anyone can run a server)    left button clicked render a rocket at (x1,y1) flying toward (x2,y2) How to find a (good) server? How to meet the performance requirements? Security (fairness/anti-cheating)?

Research Issues (2) n=2-4, no persistency, RTS –Each user control many units (e.g., >100s) Too many units! Security?              Player1 Player2 left button clicked on (xd,yd) next render u1: (x1,y1) u2: (x2,y2) … un: (xn,yn) next render u1: (x1,y1) u2: (x2,y2) … un: (xn,yn) next render u1: (x1,y1) u2: (x2,y2) … un: (xn,yn) next render u1: (x1,y1) u2: (x2,y2) … un: (xn,yn)

Research Issues (3) n<=8, persistent player information, RPG n>1000, persistent game world, RPG & FPS Persistency  Economy Virtual: Performance/Scalability Security, Security, Security Real life: 84 listings, $12 Subscription- based

Recent Papers Server discovery for FPS –[Bernier GDC00], [Henderson NG02] Too many units in RTS –[Bettner & Terrano GDC01] Performance requirements of FPS & RTS –[Bernier GDC01], [Pantel & Wolf NG02], [Sheldon et al. NG03] Security –[Guo et al. NG03], [Baughman & Levine INFOCOM01] Traffic modeling Architecture

Server Discovery for FPS ~50000 servers for Counter Strike [Feng NG03] [Bernier GDC00] How it’s done in Half-Life –“Master server” (server directory) Game servers send periodic keepalive messages to master Handle IP-spoofing DoS attacks with challenge/response Reduce bandwidth usage with batched requests –Client gets list from directory and polls each server

Server Discovery for FPS (2) [Henderson NG02] –Problems with centralized: single point of failure, stale/redundant info, client polling servers, etc. –A peer-to-peer approach Client  server  client  server  … Stop when a suitable server found –Potential problems Stale/inconsistent info Lack of scalable querying

Recent Papers Server discovery for FPS –[Bernier GDC00], [Henderson NG02] Too many units in RTS –[Bettner & Terrano GDC01] Performance requirements of FPS & RTS –[Bernier GDC01], [Pantel & Wolf NG02], [Sheldon et al. NG03] Security –[Guo et al. NG03], [Baughman & Levine INFOCOM01] Traffic modeling Architecture

1500 Archers on a 28.8 [Bettner & Terrano GDC01] Age of Empires Too many units to update individually!  Simultaneous simulations (tricky!)              Player1 Player2 left button clicked on (xd,yd) left button clicked on (xd,yd) next render u1: (x1,y1) u2: (x2,y2) … un: (xn,yn) next render u1: (x1,y1) u2: (x2,y2) … un: (xn,yn) “Turn-based”: in each turn, receive messages from others, process/simulate, and render

1500 Archers on a 28.8 (2) Problem: need very long turn to finish everything!  Pipelining              Player1 Player2 left button clicked on (xd,yd) left button clicked on (xd,yd) Turn 1 Turn 2 message received next render u1: (x1,y1) u2: (x2,y2) … un: (xn,yn) next render u1: (x1,y1) u2: (x2,y2) … un: (xn,yn) Turn 3 Problem: variations in latency/processing time

1500 Archers on a 28.8 (3) Solution: dynamic turn length 200 ms latency 50 ms proc/render 1000 ms latency 50 ms proc/render 200 ms latency 100 ms proc/render

Recent Papers Server discovery for FPS –[Bernier GDC00], [Henderson NG02] Too many units in RTS –[Bettner & Terrano GDC01] Performance requirements of FPS & RTS –[Bernier GDC01], [Pantel & Wolf NG02], [Sheldon et al. NG03] Security –[Guo et al. NG03], [Baughman & Levine INFOCOM01] Traffic modeling Architecture

Latency Compensation in Half-Life [Bernier GDC01] Naïve approach: dumb client    Player1 render player1 at (x1,y1) forward render player1 at (x1,y1) Response time for player: round-trip to server + server processing

Predicting Where I Am    Player1 render player1 at (x1,y1) forward render player1 at (x1,y1) render player1 at (x1,y1) render player1 at (x1,y1) render player1 at (x4,y4) forward

Predicting Where You Are Updates about other players’ locations not continuous Extrapolation (dead reckoning) –At last update, player2 is at (x1,y1) facing N with speed S  It should be at (x2,y2) now –Not good: in FPS, player movement very non-deterministic Interpolation –Impose an “interpolation delay” for rendering Update1 (x1,y1) Update2 (x2,y2) Update3 (x3,y3) Now Int. delay Now time

Lag Compensation Interpolation introduces a fixed lag (int. delay) –E.g., always see where you were 100 ms ago –Need to lead the target when aiming –Require players to extrapolate! Server-side lag compensation –Server uses the old location to compute hit/miss –Allows natural aiming/shooting –Possible weird experiences for players being fired upon  tradeoff for better game play

Effect of Latency in Warcraft 3 [Sheldon et al. NG03] Warcraft 3  RTS (most papers looked at FPS games) Methodology –Categorize RTS player activities: build, explore, combat –Create maps (game worlds) specifically for these activities –Two players compete on each map –One as server (no latency) –0 to 3500 ms for the other Results –Latency has some effect on exploration (0 to 1000 ms  25%) –Little effect on building and combat –Conclusion: little effect on game outcome, some effect on player gaming experience

Recent Papers Server discovery for FPS –[Bernier GDC00], [Henderson NG02] Too many units in RTS –[Bettner & Terrano GDC01] Performance requirements of FPS & RTS –[Bernier GDC01], [Pantel & Wolf NG02], [Sheldon et al. NG03] Security –[Guo et al. NG03], [Baughman & Levine INFOCOM01] Traffic modeling Architecture

   P1 P2 P3 Fair Message Exchange [Guo et al. NG03] Look at “fairness” in client-server games room    P1 P2 P3 (1 ms) P2 (3 ms) P1 (4 ms)

Fair Message Exchange (2) Different latencies can make the game “unfair” P1 P2 P3 Server time t=0 (RTT 5) (RTT 10) (RTT 15) 3 t=8 P2 1 t=11 P3 t=19 4 P1

Fair Message Exchange (3) Fair-ordering delivery without synchronized clocks (a simple case) P1 P2 P3 Server t=0 (RTT 5) (RTT 10) (RTT 15) 3 t=8 P2 1 t=11 P3 t=19 4 P1 P2,3,18 P3,1,16 P2,3,18 t=16 P2,3,18 P3 t=18 P2 Server waits (here 15) before performing action. Ordering based on response time.

Cheat-Proof Playout [Baughman & Levine INFOCOM01] Two types of cheats –“Suppress-correct cheat” under dead reckoning (extrapolation) –“Lookahead cheat”  P1  P2  ? predict  ? here  P2 here, actually

Cheat-Proof Playout [Baughman & Levine INFOCOM01] Two types of cheats –“Suppress-correct cheat” under dead reckoning (extrapolation) –“Lookahead cheat” game advances in frames  P1  P2 fire do nothing  P1  P2 fire duck

Cheat-Proof Playout (2) Suppress-correct undetectable under dead reckoning  P1  P2 H(fire) H(do nothing) Present lockstep protocol that prevents lookahead –Performance penalty  improved protocol (AS)  Don’t do dead reckoning

Outline Overview of multiplayer online games (MOGs) Research issues Sample of recent papers A few observations

Security How are cheaters actually cheating in reality? AA BB Exit & save Crash server (s.t. not saved) AA BB AA BB “Duping” in D2 (persistent player) Maphack for RTS (should only see occupied area)  modify game client to display everything

Security (2) Video card driver / texture, auto-aim / auto-shoot bots transparent

Casual & Wireless Games A lot of them in the GDCs: [Gordon GDC01], [Opas GDC01], [Collier GDC03], [Meretzky GDC03], [Oliver GDC03], [Trevett GDC03] Unique GamesUsers Solitaire46.7 M Freecell21.3 M Hearts6.6 M Minesweeper5.4 M Spider Solitaire4.6 M MS Ent. Pack 4.2 M 3D Pinball2.6 M The Sims 1.6 M Snood 1.5 M Slingo 1.5 M Casual gamesWireless games Cell phone or similar Taking off in Japan? [Collier GDC03] J2ME?