Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2005 Erlang Training and Consulting Ltd Massively Multiplayer Online Game Servers Analysing the needs of an Erlang/OTP Virtual World Distributed Server.

Similar presentations


Presentation on theme: "© 2005 Erlang Training and Consulting Ltd Massively Multiplayer Online Game Servers Analysing the needs of an Erlang/OTP Virtual World Distributed Server."— Presentation transcript:

1 © 2005 Erlang Training and Consulting Ltd Massively Multiplayer Online Game Servers Analysing the needs of an Erlang/OTP Virtual World Distributed Server Erlang User Conference, Stockholm, Sweden November 10, 2005 Michał Ślaski michal@erlang-consulting.com

2 Page 2 © 2005 Erlang Training and Consulting Ltd Contents Massively Multiplayer Online Game MarketMassively Multiplayer Online Game Market ChallengesChallenges PrototypingPrototyping –Using Erlang/OTP –Client and Server Applications Benchmarking and Stress TestingBenchmarking and Stress Testing Software and Hardware ArchitectureSoftware and Hardware Architecture –Network and Server Nodes Synchronisation of the Game StateSynchronisation of the Game State ConclusionsConclusions

3 Page 3 © 2005 Erlang Training and Consulting Ltd Massively Multiplayer Online Game Market Significant increase of active subscribersSignificant increase of active subscribers Very fast growing marketVery fast growing market Source: IGDA, "2004 Persistent Worlds White Paper"Source: MMOGCHART.COM

4 Page 4 © 2005 Erlang Training and Consulting Ltd Challenges Large quantities of data to process in real timeLarge quantities of data to process in real time Frequent synchronisation between clientsFrequent synchronisation between clients –Acceptable delays of 150 - 500 ms Adaptation to the Client – Server connectivityAdaptation to the Client – Server connectivity –Server response times –Network latency Stress testing in the early development stagesStress testing in the early development stages –Limited opportunities for load testing with real players

5 Page 5 © 2005 Erlang Training and Consulting Ltd Experimenting with functional and technical aspectsExperimenting with functional and technical aspects Determining the scalability of the architectureDetermining the scalability of the architecture Testing new solutionsTesting new solutions Prototyping Make mistakes on a small scale, not in a production project. Mike Williams Make mistakes on a small scale, not in a production project. Mike Williams It’s not good enough to have ideas - you must also be able to implement them to know that they work Mike Williams It’s not good enough to have ideas - you must also be able to implement them to know that they work Mike Williams

6 Page 6 © 2005 Erlang Training and Consulting Ltd Prototyping : Using Erlang/OTP Open Source, excellent librariesOpen Source, excellent libraries –Mnesia –IDX-Tsunami OS and hardware independentOS and hardware independent Concurrency oriented programmingConcurrency oriented programming –one process for every connected player Efficient internal communicationEfficient internal communication Support for distributed applicationsSupport for distributed applications

7 Page 7 © 2005 Erlang Training and Consulting Ltd Prototyping : Client Application Java + Java3DJava + Java3D ActionsActions –moving –collecting objects –magic –chatting Player states kept on the serverPlayer states kept on the server

8 Page 8 © 2005 Erlang Training and Consulting Ltd Prototyping : Server Application The game terrain is divided into zonesThe game terrain is divided into zones Players placed within the same zone are processed on the same nodePlayers placed within the same zone are processed on the same node Server distributed on a cluster of machinesServer distributed on a cluster of machines

9 Page 9 © 2005 Erlang Training and Consulting Ltd Benchmarking and Stress Testing The server was overloaded in the 60th second of the test Increase the number of players to overload the server Each player runs a transaction every two seconds Tests on a 600MHz Celeron processor with 128 MB of RAM

10 Page 10 © 2005 Erlang Training and Consulting Ltd Software and Hardware Architecture Every machine is running network traffic and user actions

11 Page 11 © 2005 Erlang Training and Consulting Ltd Software and Hardware Architecture Separate machines running network traffic & user actions

12 Page 12 © 2005 Erlang Training and Consulting Ltd Synchronisation of the Game State Players see inconsistent states in relation to the server

13 Page 13 © 2005 Erlang Training and Consulting Ltd Synchronisation of the Game State When the Server is not overloaded almost all actions are successfulWhen the Server is not overloaded almost all actions are successful –Players see less inconsistencies in relation to the server

14 Page 14 © 2005 Erlang Training and Consulting Ltd Synchronisation of the Game State When the Server is overloaded more actions failWhen the Server is overloaded more actions fail –Players see inconsistent states in relation to the server

15 Page 15 © 2005 Erlang Training and Consulting Ltd Conclusions Erlang/OTP is excellent for MMOG systemsErlang/OTP is excellent for MMOG systems –Distribution –Libraries –Powerful open source tools Rapid development of the prototype allowsRapid development of the prototype allows –Evaluation of different algorithms –Evaluation of hardware configurations –All in a relatively short period of time Future workFuture work –Algorithms not dependent on the player’s position –Refactor and fine-tune Mnesia and distribution algorithms –Bring to market in the real world

16 Page 16 © 2005 Erlang Training and Consulting Ltd Questions ?

17 Page 17 © 2005 Erlang Training and Consulting Ltd Contents Massively Multiplayer Online Game MarketMassively Multiplayer Online Game Market ChallengesChallenges PrototypingPrototyping –Using Erlang/OTP –Client and Server Applications Benchmarking and Stress TestingBenchmarking and Stress Testing Software and Hardware ArchitectureSoftware and Hardware Architecture –Network and Server Nodes Synchronisation of the Game StateSynchronisation of the Game State ConclusionsConclusions


Download ppt "© 2005 Erlang Training and Consulting Ltd Massively Multiplayer Online Game Servers Analysing the needs of an Erlang/OTP Virtual World Distributed Server."

Similar presentations


Ads by Google