Multiplayer Online Games AnCheng Huang Bruce Maggs Outline
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. , Co. D • n<=8 (2 -4 mostly), no persistency, RTS: Ro. N • n<=8, persistent player information, RPG: Diablo II • n>1000, persistent game world, RPG: Ever. Quest • n>1000, persistent game world, FPS: Planet. Side
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 “Nova. NET” late 1980’s • Revived at www. cyber 1. org
Innovations • • • first LARGE on-line community invention of the plasma panel multimedia “personal notes” – email “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 • (Nova. NET 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 http: //plato. filmteknik. com/
Multiplayer Games • Dungeons and Dragons – orthanc, avatar • Space – empire
Empire
Empire
Avatar
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 (x 1, y 1) flying toward (x 2, y 2) • 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. , >100 s) next render u 1: (x 1, y 1) u 2: (x 2, y 2) u 2: … (x 2, y 2) … … … un: (xn, yn) Player 1 left button clicked on (xd, yd) Player 2 • Too many units! • Security?
Research Issues (3) • n<=8, persistent player information, RPG Subscription • n>1000, persistent game world, RPG & FPS based • Persistency Economy Virtual: Real life: • Performance/Scalability • Security, Security 84 listings, $12
Recent Papers • Server discovery for FPS – [Bernier GDC 00], [Henderson NG 02] • Too many units in RTS – [Bettner & Terrano GDC 01] • Performance requirements of FPS & RTS – [Bernier GDC 01], [Pantel & Wolf NG 02], [Sheldon et al. NG 03] • Security – [Guo et al. NG 03], [Baughman & Levine INFOCOM 01] • Traffic modeling • Architecture
Server Discovery for FPS • ~50000 servers for Counter Strike [Feng NG 03] • [Bernier GDC 00] How it’s done in Half-Life – “Master server” (server directory) • Game servers send periodic keepalive messages to master • Handle IP-spoofing Do. S 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 NG 02] – 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 GDC 00], [Henderson NG 02] • Too many units in RTS – [Bettner & Terrano GDC 01] • Performance requirements of FPS & RTS – [Bernier GDC 01], [Pantel & Wolf NG 02], [Sheldon et al. NG 03] • Security – [Guo et al. NG 03], [Baughman & Levine INFOCOM 01] • Traffic modeling • Architecture
1500 Archers on a 28. 8 • [Bettner & Terrano GDC 01] Age of Empires • Too many units to update individually! Simultaneous simulations (tricky!) next render u 1: (x 1, y 1) u 2: (x 2, y 2) … un: (xn, yn) Player 1 left button clicked on (xd, yd) next render u 1: (x 1, y 1) u 2: (x 2, y 2) … un: (xn, yn) “Turn-based”: in each turn, receive messages from others, process/simulate, and render Player 2
1500 Archers on a 28. 8 (2) • Problem: need very long turn to finish everything! Pipelining Turn 3 next render Turn 3 Turn 1 next render u 1: (x 1, y 1) u 2: (x 2, y 2) … un: (xn, yn) left button clicked on (xd, yd) Player 1 left button clicked on (xd, yd) Turn 1 Turn 2 message received u 1: (x 1, y 1) u 2: (x 2, y 2) … un: (xn, yn) Player 2 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 GDC 00], [Henderson NG 02] • Too many units in RTS – [Bettner & Terrano GDC 01] • Performance requirements of FPS & RTS – [Bernier GDC 01], [Pantel & Wolf NG 02], [Sheldon et al. NG 03] • Security – [Guo et al. NG 03], [Baughman & Levine INFOCOM 01] • Traffic modeling • Architecture
Latency Compensation in Half-Life • [Bernier GDC 01] • Naïve approach: dumb client render player 1 at (x 1, y 1) Player 1 forward render player 1 at (x 1, y 1) Response time for player: round-trip to server + server processing
Predicting Where I Am render player 1 atat(x 1, y 1) at at(x 1, y 1) (x 4, y 4) Player 1 forward forward render player 1 at (x 1, y 1)
Predicting Where You Are • Updates about other players’ locations not continuous • Extrapolation (dead reckoning) – At last update, player 2 is at (x 1, y 1) facing N with speed S It should be at (x 2, y 2) now – Not good: in FPS, player movement very non-deterministic • Interpolation – Impose an “interpolation delay” for rendering Now Int. delay Now Update 3 (x 3, y 3) Update 2 (x 2, y 2) time Update 1 (x 1, y 1)
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. NG 03] • 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 GDC 00], [Henderson NG 02] • Too many units in RTS – [Bettner & Terrano GDC 01] • Performance requirements of FPS & RTS – [Bernier GDC 01], [Pantel & Wolf NG 02], [Sheldon et al. NG 03] • Security – [Guo et al. NG 03], [Baughman & Levine INFOCOM 01] • Traffic modeling • Architecture
Fair Message Exchange • [Guo et al. NG 03] • Look at “fairness” in client-server games room P 3 P 1 (4 ms) P 3 P 1 P 2 (3 ms) P 1 P 2 P 3 (1 ms)
Fair Message Exchange (2) • Different latencies can make the game “unfair” Server t=0 t=8 t=11 t=19 P 2 (RTT 5) P 1 3 P 3 (RTT 10) (RTT 15) P 2 P 3 time 1 4 P 1
Fair Message Exchange (3) • Fair-ordering delivery without synchronized clocks (a simple case) P 3 P 2, 3, 18 P 3, 1, 16 P 2, 3, 18 Server t=0 t=8 t=11 t=16 t=18 P 2 (RTT 5) P 1 3 P 3 (RTT 10) P 2 (RTT 15) P 3 P 1 1 4 Server waits (here 15) before performing action. Ordering based on response time. t=19
Cheat-Proof Playout • [Baughman & Levine INFOCOM 01] • Two types of cheats – “Suppress-correct cheat” under dead reckoning (extrapolation) predict P 2 P 1 here, actually – “Lookahead cheat” P 2 ? ? here
Cheat-Proof Playout • [Baughman & Levine INFOCOM 01] • Two types of cheats – “Suppress-correct cheat” under dead reckoning (extrapolation) – “Lookahead cheat” game advances in frames do nothing duck P 2 P 1 fire
Cheat-Proof Playout (2) • Suppress-correct undetectable under dead reckoning Don’t do dead reckoning • Present lockstep protocol that prevents lookahead – Performance penalty improved protocol (AS) H(do nothing) P 2 P 1 H(fire)
Outline • • Overview of multiplayer online games (MOGs) Research issues Sample of recent papers A few observations
Security • How are cheaters actually cheating in reality? “Duping” in D 2 (persistent player) A B Crash server (s. t. not saved) A Exit & save B 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 GDC 01], [Opas GDC 01], [Collier GDC 03], [Meretzky GDC 03], [Oliver GDC 03], [Trevett GDC 03] Casual games Games Solitaire Freecell Hearts Minesweeper Spider Solitaire MS Ent. Pack 3 D Pinball The Sims Snood Slingo Unique Users 46. 7 M 21. 3 M 6. 6 M 5. 4 M 4. 6 M 4. 2 M 2. 6 M 1. 5 M Wireless games • Cell phone or similar • Taking off in Japan? [Collier GDC 03] • J 2 ME?
- Slides: 53