Online Games: Networking and Data Management - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Online Games: Networking and Data Management

Description:

Online Games: Networking and Data Management. Why do we 'network' games? ... Latency causes inconsistencies in any distributed game. ... – PowerPoint PPT presentation

Number of Views:103
Avg rating:3.0/5.0
Slides: 37
Provided by: blah163
Learn more at: https://cs.brown.edu
Category:

less

Transcript and Presenter's Notes

Title: Online Games: Networking and Data Management


1
Online GamesNetworking and Data Management
2
Why do we network games?
  • Playing by yourself is NO FUN!
  • Adds social dimension to gaming
  • But we have the complexities of distributed
    computing
  • From a systems perspective
  • How do we cope with these physical restrictions,
    while developing and running our game?

3
Taxonomy
MMOGs Everquest, WoW
Degree of distribution
Turn-based Civ, Poker
Cooperative Halo, Battlefield 2
Twitch games Doom, etc.
Degree of interaction
4
Lecture Outline
  • LAN Internet play
  • Latency
  • Scalability
  • Data management
  • Tools
  • Data-driven games

5
Networked Game Data
Shared game world
6
LAN Game Anatomy
Client
Server
Snapshot
Physics
Physics
AI
State
State
AI
UI

7
The Duel
8
The Duel
Server
time
9
The Duel
Server
work
time
10
The Duel
Server
work
time
11
The Duel
Server
work
time
12
Massively Multiplayer
  • Network latency
  • E.g. Current TCP/UDP
  • NYC gt Seoul, Korea 150ms one-way
  • At best speed of light constraint between
    players
  • NYC gt Seoul 11000km/c 36ms
  • Scalability issues
  • Load balancing
  • Data dissemination

13
Network Latency
  • Two components
  • Last-link latency
  • Server-server latency
  • Last-link latency is hard to cope with
  • Cable-modem gt exchange
  • But no other route

14
Dead Reckoning
  • Predict to overcome latency!
  • Prediction models
  • Newtonian (linear)
  • Not everything can be predicted
  • Developer must think about consequences of failed
    predictions

15
The Duel Revisited
Server
time
16
The Duel Revisited
Server
predict
time
17
Dead Reckoning (in more depth)
  • Videos

18
Data Consistency
  • Client cache
  • Static data consistency is easy.
  • Dynamic consistency is harder
  • Ownership issues
  • Interest management

19
Fairness Models
  • Who is right, the shooter or the victim?
  • What are other scoring models?
  • E.g. everything hurts a lot at first

20
Growing the System
  • Recap the LAN setup
  • Suppose we want 1000 players

Client
Server
21
Scalability Load Balancing
  • Zone partitioning
  • Each server may be distributed as a cluster
  • Server placement and geographical partitioning
    helps

22
Scalability Data Dissemination
  • All about saving bandwidth
  • Tree network between zones
  • i.e. pub/sub system
  • Zone transitions
  • Artificial impediment to gameplay
  • Content-based routing and profiles

23
Data Dissemination Hotplugging
  • Open, dynamic systems
  • Recently attempted by
  • WoW
  • Star Wars Galaxies
  • Should be seamless!

24
PlanetLab
645 nodes, 305 sites
25
Data Management
  • What kinds of data are used to build and run
    games?
  • Content
  • Visual models, animations, artwork
  • Audio effects, speech, languages
  • Contextual plot, missions
  • Game logic
  • Player profiles, inventories, etc.
  • NPC AI state.
  • Transient
  • Chat, VoIP

26
Data Management Tools
  • Expressive, declarative approach
  • High-level triggers and rules
  • Distribution transparency
  • Clear-cut specification of game behaviour
  • Modular frontend and backend extensibility
  • Automated resource optimization
  • Scalable
  • Adaptive
  • Tolerant to failures

27
Dataflow Programming
  • Flow-based representation of program
  • Based on events and triggers
  • Game logic defined as triggers
  • E.g collision induced events
  • Gameplay from queries over events
  • Supports roles
  • E.g. tell me when there are 5 players near my
    flag

28
Dataflow Programming
  • Borealis Demo
  • Other distributed middleware kits
  • Demonware, Quazcal, ReplicaNet
  • Opensource MASSIV, Worldforge

29
Dataflow Programming
  • What are good primitives for games?
  • E.g., collision detection, path planning, etc.
  • Class-specific primitives?
  • E.g buy/sell items
  • Come up with a high-level game template

30
Data-driven Gaming
  • Lets use the data out there!
  • Content, plot and script generation.
  • Game embedding
  • Splinter Cell, Battlefield 2
  • The Sims
  • Civilization
  • Alternate reality gaming

31
Mobile Gaming
  • Sensors/actuators
  • Power concerns
  • Wireless connectivity
  • Connection range
  • Interruptions
  • Data mules
  • GPS
  • Camera phones
  • Google Maps

32
(No Transcript)
33
Data-driven Gaming
classify
Pirate raid

Coastal map
Mission objective
Data sources
Game entities
Game level
34
Data-driven Gaming Pipeline
  • Acquisition
  • News feeds (RSS/Atom)
  • Integration
  • Duplicate elimination
  • Event classification
  • Morphing
  • Introducing dissimilarities
  • Consistency checking
  • Deployment

35
Conclusions
  • Latency causes inconsistencies in any distributed
    game.
  • Scalable infrastructures to sustain game growth
  • Data management tools, describing a high-level
    game representation
  • Sources of game data

36
Thanks!
  • yna_at_cs
Write a Comment
User Comments (0)
About PowerShow.com