Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
OverviewObjective and Approach
ImplementationEvaluationConclusion
Massive Multiplayer Online First Person Shooter
as Peer�to�Peer game
Christian Grümme
Freie Universität Berlin
July 7, 2008
1 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
Objective and Approach
Objective
Approach
Synchronizing
Implementation
The Sectorizier
nodes
Game adjustment
Evaluation
Setting
Results
Scalability
Conclusion
Conclusion
Future research
2 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Objective � Server-Client architecture
I Centralized:I No consistent problemsI Less cheating capabilitiesI Single point of failure
I Clients share the server's bandwidth
I The server becomes the bottleneck of this architecture,
especially with a growing amount of clients.
3 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Objective � Peer�to�Peer architecture
I DecentralizedI Robustness to the failure of single nodesI Synchronization is needed to preserve consistence of the game
world
I Bandwidth with a growing amount of participants
4 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Objective
I Replacing the disadvantages of the Server-Client architecture
by the advantages of the Peer�to�Peer architecture
I Solve disadvantages of the Peer�to�Peer architecture
I Constraint: A generic approach in order to change a minimum
on the game logic itself -> So this approach can be applied to
a large number of applications
5 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Approach 1 � Forming a server node
Node
Node
Node Node
Client
Gamestate
Server
One modi�ed server and an unmodi�ed client are forming a server
node
6 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Approach 2 � The tasks of a modi�ed server
A modi�ed server has to ful�ll the following tasks:
I Providing a game world for the client
I Realizing �real time� communication to other server nodes
I Communicating just to those server nodes that are relevant
7 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Zoning 1 � Conditions
I A sectorization partitions the game world into sectors
I Each sector has to be controlled by at least one server node
I A sector of interests for a server node is a sector in that its
clients has its location in or that is neighboring such a sector
8 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Zoning 2 � Example 1
Sector with no interest
Sector of interest
Client's location
Client's sight of view
9 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Zoning 3 � Example 2
Sector with no interest
Sector of interest
Client's location
Client's sight of view
10 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Request 1 � Postulations
I Each server node has to control its sector of interests
I Each server node has a complete list of the other server nodes
with an unique ID (SNID) and an URI
I Each server node has a sector table which maps each sector to
a server node that is in control of it (current or last seen, so
may be outdated)
11 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Request 2 � Request Algorithm
Request chain 1
1. Ask last seen SNID controlling s
2. IF SNID is not controlling s THEN
3. overwrite entry of s in the sector table
with the sector table entry of SNID
4. GOTO 1
12 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Routing
I There is no hardware based multicast available on the Internet
I Degree of a node can be reduced by taking hops to other nodes
I Just useful when the time di�erence is acceptable or data can
be aggregated
13 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ObjectiveApproachSynchronizing
Synchronizing
I Synchronizing time between server nodes is a big problem
I Within an ideal environment the Network Time Protocol can
just synchronize with an accuracy of 20ms
I A solution would be a logical time within the game
14 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
The SectoriziernodesGame adjustment
Implementation 1 � Parts
The Implementation is divided into three parts:
I The Sectorizier
I The middleware nodes
I Other miscellaneous modi�cations on the original server
15 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
The SectoriziernodesGame adjustment
Implementation 2 � Organization
16 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
The SectoriziernodesGame adjustment
The Sectorizier 1 � Function
The Sectorizier . . .
I analyzes a given game map
I generates an XML��le that describes the sectorization of this
map
I is implemented in ANSI C
I uses the libxml2 � the XML C parser and toolkit developed
for the Gnome project
17 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
The SectoriziernodesGame adjustment
The Sectorizier 2 � Ascending cube
18 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
The SectoriziernodesGame adjustment
nodes � Function
nodes . . .
I is a JAVA-based middleware
I can be adapt to other applications
I introduces a new abstract data type, the Request Queue
I has a swarm table and a sector table as main data structures
I got a pro�ler
19 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
The SectoriziernodesGame adjustment
The pro�ler
nodes
Profiler
Server
Unreliable Connection
Swarm
20 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
The SectoriziernodesGame adjustment
Game adjustment
Modi�cations
I The Sectorizier is integrated
I Additional command line parameters
I Communication with nodes
21 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
SettingResultsScalability
Small map
Run No. Nodes Computers Pro�lers
1 10 10 2
2 20 10 4
3 40 10 8
Table: Test run on the small map � q3dm1
22 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
SettingResultsScalability
Big map
Run No. Nodes Computers Pro�lers
4 20 10 5
5 20 10 8
6 40 10 20
7 40 10 10
8 80 10 12
9 80 10 10
10 40 4 12
11 20 4 8
12 40 20 10
13 58 29 10
Table: Test run on the big map � sector12_12
23 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
SettingResultsScalability
Evaluation Graphic � Big map
0
250
500
750
1000
1250
1500
1750
2000
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 0
5
10
15
20
Pin
g ra
te
Con
nect
ed to
Profiler point
Profiler of test run no. 13/
maxavgmin
ClusterNodes
Figure: A pro�ler of test run 13
24 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
SettingResultsScalability
Evaluation Graphic � Small map
0
250
500
750
1000
1250
1500
1750
2000
0 5 10 15 20 25 30 35 40 45 0
5
10
15
20
Pin
g ra
te
Con
nect
ed to
Profiler point
Profiler of test run no. 02/
maxavgmin
ClusterNodes
Figure: A pro�ler of test run 02
25 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
SettingResultsScalability
Problems
I Game based limitation of the number of players
I Microsoft Windows TCP�Limit (10 TCP�Connection per
second)
26 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
SettingResultsScalability
Evaluation Graphic � Problems
0
250
500
750
1000
1250
1500
1750
2000
0 5 10 15 20 0
5
10
15
20
Pin
g ra
te
Con
nect
ed to
Profiler point
Profiler of test run no. 06/
maxavgmin
ClusterNodes
Figure: A pro�ler of test run 06
27 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
SettingResultsScalability
Bandwidth consumption
0
20
40
60
80
100
0 50000 100000 150000 200000 250000 300000 350000 400000 450000 500000
Per
cent
age
of th
e ne
t tra
ffic
Number of application data packets
Net traffic distribution - Both maps
Application inApplication out
Protocoll inProtocoll out
Figure: The visualization of all samples
28 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ConclusionFuture research
Conclusion
I Objective was achieved
I But with reservations (TCP�limit)
29 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ConclusionFuture research
Future research
I A sectorisation that consider map characteristics
I Cheating protection
I Multi�client server and client migration
I Other applications
I Implementing the presented Routing
I Converting to a hybrid system
30 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game
OverviewObjective and Approach
ImplementationEvaluationConclusion
ConclusionFuture research
End
Thank you for listening
http://page.mi.fu-berlin.de/gruemme/snp2p/
31 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game