31

Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

OverviewObjective and Approach

ImplementationEvaluationConclusion

Massive Multiplayer Online First Person Shooter

as Peer�to�Peer game

Christian Grümme

[email protected]

Freie Universität Berlin

July 7, 2008

1 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game

Page 2: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 3: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 4: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 5: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 6: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 7: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 8: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 9: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 10: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 11: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 12: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 13: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 14: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 15: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 16: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

OverviewObjective and Approach

ImplementationEvaluationConclusion

The SectoriziernodesGame adjustment

Implementation 2 � Organization

16 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game

Page 17: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 18: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

OverviewObjective and Approach

ImplementationEvaluationConclusion

The SectoriziernodesGame adjustment

The Sectorizier 2 � Ascending cube

18 / 31 Christian Grümme MMOFPS as a Peer�to�Peer game

Page 19: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 20: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 21: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 22: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 23: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 24: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 25: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 26: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 27: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 28: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 29: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 30: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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

Page 31: Massive Multiplayer Online First Person Shooter as Peer ...5/31 Christian Grümme MMOFPS as a Peer to Peer game. Overview Objective and Approach Implementation Evaluation Conclusion

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