Role Playing Games

Jaysheel D Bhavsar
Revealed
Presented by Jaysheel D Bhavsar
Game Taxonomy

MOG (Multi-player Online Games)
 No
persistent environment
 Game server all over the place
 E.G: Half Life (counter strike), Call of Duty, Halo

MMOG (Massively Multi-player Online Games)
 Role
Playing Games (WoW, LoTR)
 First Person Shooter (WW-II online, PlanetSide)
 Real Time Strategy (Mankind, Dreamloads)
 Social Games (SecondLife)
Jaysheel D Bhavsar
MMOG Market share
Jaysheel D Bhavsar
World of MMO
takes the user name and
password from game clients and
authenticates the account against
the entries in the database
customized to
optimize the data
stream between
the database and
the auth/world
servers for player
data parsing
customized FTP/HTTP server that
allow connections from a game
client which is then updated as
required
The world/zone
servers are the
boxes that handle
the actual player
data for specific
areas of the
game world,
including load
balancing
Jaysheel D Bhavsar
What is World of Warcraft?

Well have a look …
Jaysheel D Bhavsar
Jaysheel D Bhavsar
The Game client

The program installed on a personal computer is the
client. It has four primary duties.
 decodes
and displays the data that make up the game
world, as well as the user interface (UI) and any
associated add-ons.
 receives input from user and from a remote server and
changes the game display accordingly.
 gives feedback to user and the server, based on what's
happening in the game.
 keeps up with any changes user make to game's layout
and settings (mods).
Jaysheel D Bhavsar
Game play

Lets play a game
Jaysheel D Bhavsar
What do we know so far?



MMORPGs are real time games, and have highly
interactive environment
Gamers/Clients interact with each other, and
computer AI’s via server node
So far we have been told that UDP is the choice of
protocol for most real time environments. Let review
why so.
Jaysheel D Bhavsar
Basic Analysis


WoW and other MMORPGs use TCP…why???
Analysis of TCP stream shows that PSH bit is set in
almost all PDU’s transmitted…why???
Jaysheel D Bhavsar
Basic Analysis
Jaysheel D Bhavsar
Basic Analysis
Jaysheel D Bhavsar
Main Screen
Time line : main screen
Open TCP connection, and use
HTTP protocol to download
background, music, patch
open TCP connection to port
3724 (blizwow). Get server
ids, and server IP ads
Open TCP connection and
use HTTP protocol to
download news and info
Time
Jaysheel D Bhavsar
Dash board
Time line : dashboard
open TCP
connection to
port 3724
(blizwow).
Authenticate
user
open TCP
connection and
use HTTP
protocol to
download
game
character
information
open TCP connection to port
3724 (blizwow). To the
realm of selected user.
Time
Game Play
Time line : in game
Same connection used to interact
between user and server
open TCP connection and
use HTTP protocol to get
other gamers data from DB
server.
open TCP
connection
and use HTTP
protocol to
get gamers
data from DB
server.
Time
Jaysheel D Bhavsar
Acknowledgment






Dr. K. E. Wommack
Dr. P. Amer
Blizzard Entertainment
http://www.mmogchart.com/
Philipp Svoboda, Wolfgang Karner, Markus Rupp
Institute of Communications and Radio-Frequency
Engineering Vienna University of Technology, Austria
A little fun
(http://www.southparkstudios.com/episodes/103797)
[explicit content]
Jaysheel D Bhavsar
Misc Slides
Jaysheel D Bhavsar
Play-by-play analysis
Jaysheel D Bhavsar
Play-by-play cont…



After pulling data from the archives stored on the
computer's hard drive, the client creates a
representation of Aragon's surroundings.
The client informs the server of Aragon's position and
receives information about stationary and mobile
objects, or mobs, around Aragon. A mob is essentially
any wandering object in the world, but it's most often
used to describe attackable enemies.
When Aragon tries to pick up the stone, the client tells
the server what Aragon is doing. Server also displays a
status bar, showing the player how long it will take for
Aragon to retrieve the stone.
Jaysheel D Bhavsar
Play-by-play cont…


The client receives information about the goblin's attack
from the server. Server interrupts Aragon's stone collection
when the goblin hits Aragon. The client sends information to
the server about how Aragon defends himself, and server
receives information about the goblin's actions and the
progression of the fight.
Once Aragon kills the goblin and finishes collecting the
stone, the client stops displaying the stone on the ground and
instead displays an icon representing the stone in Aragon's
inventory. Client informs the server that Aragon has
collected the stone, so other players will no longer see it in
the game world.
Jaysheel D Bhavsar