Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer...

Preview:

Citation preview

OverviewObjective and Approach

ImplementationEvaluationConclusion

Massive Multiplayer Online First Person Shooter

as Peer�to�Peer game

Christian Grümme

gruemme@mi.fu-berlin.de

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