A Virtual World Distributed Server developed in Erlang as a Tool for analysing Needs of Massively Multiplayer Online Game Servers

Similar documents
IMPROVING SCALABILITY IN MMOGS - A NEW ARCHITECTURE -

Bellairs Games Workshop. Massively Multiplayer Games

U.S. Army Training and Doctrine Command (TRADOC) Virtual World Project

A Study of Optimal Spatial Partition Size and Field of View in Massively Multiplayer Online Game Server

Distributed Virtual Environments!

DYNAMIC LOAD BALANCING FOR MASSIVELY MULTIPLAYER ONLINE GAMES SARMAD ABDULMAGED ABDULAZEEZ

Database and State Replication in Multiplayer Online Games

User Type Identification in Virtual Worlds

Jim Waldo, Sun Microsystems Laboratories SCALING. in games & virtual worlds. 10 November/December 2008 ACM QUEUE rants:

Scalability and Consistency in Peer-to-Peer Based Network Gaming

Simulation of Area of Interest Management for Massively Multiplayer Online Games Using OPNET

Is Server Consolidation Beneficial to MMORPG? A Case Study of World of Warcraft Yan Ting Li, Kuan Ta Chen. IIS, Academia Sinica, Taiwan

Building the Server Software for Eliminate

The Future is Proximal Why cloud fails IoT

Towards Real-Time Volunteer Distributed Computing

Chapter 1 Introduction

Scalable Resource and QoS Brokering Mechanisms for Massively Multiplayer Online Games

Business model developments for the PC-based massively multiplayer online game(mmog) industry

Centralized Server Architecture

Solipsis: A Decentralized Architecture for Virtual Environments

Chapter 5: Game Analytics

PEAK GAMES IMPLEMENTS VOLTDB FOR REAL-TIME SEGMENTATION & PERSONALIZATION

AGENTLESS ARCHITECTURE

UNIT-III LIFE-CYCLE PHASES

Algorithm-Based Master-Worker Model of Fault Tolerance in Time-Evolving Applications

SGD Simulation & Game Development Course Information

Developing a Mobile, Service-Based Augmented Reality Tool for Modern Maintenance Work

From Cloud Computing To Online Gaming. Mark Sung General Manager zillians.com

HashCash in Gaming. Gaming is now more Exciting with HC Net Blockchain. HashCash Consultants All Rights Reserved HashCash Gaming

Middleware and Software Frameworks in Robotics Applicability to Small Unmanned Vehicles

CAMEO: Continuous Analytics for Massively Multiplayer Online Games

Real-Time Face Detection and Tracking for High Resolution Smart Camera System

Digital Media: Massively Multiplayer Online Gaming (MMOG)

A Very High Level Interface to Teleoperate a Robot via Web including Augmented Reality

Distributed Computing on PostgreSQL. Marco Slot

Networked Virtual Environments

NetApp Sizing Guidelines for MEDITECH Environments

Project Example: wissen.de

NCR Channelizer Server

RT- HIL Implementation of Hybrid Synchrophasor and GOOSE- based Passive Islanding Schemes

User behaviour based modeling of network traffic for multiplayer role playing games

Multiplayer Game Design and Development CSC 631/831. Lecture 1 Spring 2016

Stress Testing the OpenSimulator Virtual World Server

Architecting Systems of the Future, page 1

Customer Showcase > Defense and Intelligence

Game Design From Concepts To Implementation

PYBOSSA Technology. What is PYBOSSA?

MUPE Multi-User Publishing Environment

Software development and ITS research of Dtv group. Timo Koski University of Turku, Dtv group

Mmorpg unblocked free

Console Games Are Just Like Mobile Games* (* well, not really. But they are more alike than you

TH e current expansion of multi-player online

Chapter 4: DataPersistence

University of Huddersfield Repository

The Platform of Undergraduate Science and Technology Innovation and Entrepreneurship Service

VFC4FPS - Vector-Field Consistency for a First Person Shooter Game

SOFTWARE REQUIREMENTS SPECIFICATION

Department of Computer Science and Engineering The Chinese University of Hong Kong. Year Final Year Project

A few personal experiences Prof. Walter Kriha Computer Science and Media Faculty HdM Stuttgart

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

Modern Operational Spectrum Monitoring Requirements

The Study and Modification of Open Source Game-Based Learning Engines with the Development of Game-Based Learning Prototypes for Higher Education

Prometheus at Scale. Bartek Płotka. github.com/improbable-eng/thanos. Edinburgh, 22th October

Multi-Robot Cooperative System For Object Detection

OBJECT-BASED VIEWPOINT FOR LARGE-SCALE DISTRIBUTED VIRTUAL ENVIRONMENT

Volume 4, Number 2 Government and Defense September 2011

Huawei ilab Superior Experience. Research Report on Pokémon Go's Requirements for Mobile Bearer Networks. Released by Huawei ilab

Today's Lecture. Clocks in a Distributed System. Last Lecture RPC Important Lessons. Need for time synchronization. Time synchronization techniques

EVE: Source By CCP Games

DEVELOPMENT OF A ROBOID COMPONENT FOR PLAYER/STAGE ROBOT SIMULATOR

Classification of Online Game Players Using Action Transition Probability and Kullback Leibler Entropy

Long Term Evolution (LTE) Radio Network Planning Using Atoll

Interactive Visualization of Large-Scale Architectural Models over the Grid

That CAD Girl. J ennifer dib ona. Land Desktop Project Management. Website:

Networks at the Speed of Light pave the way for the tactile internet

WIDE AREA MULTILATERATION system

Vector-Field Consistency for.net Multiplayer Games Extended Abstract

Designing Architectures

Mobile Multiplayer Real-time Games over Wireless Networks

AGENT BASED MANUFACTURING CAPABILITY ASSESSMENT IN THE EXTENDED ENTERPRISE USING STEP AP224 AND XML

A Virtual Environments Editor for Driving Scenes

Chapter 1 Introduction to Mobile Computing (16 M)

Like Mobile Games* Currently a Distinguished i Engineer at Zynga, and CTO of FarmVille 2: Country Escape (for ios/android/kindle)

TETRA data services: Applications & innovations

Online Games what are they? First person shooter ( first person view) (Some) Types of games

2015 The MathWorks, Inc. 1

The Five R s for Developing Trusted Software Frameworks to increase confidence in, and maximise reuse of, Open Source Software

A cross-media game environment for learning

Security APIs and Massively Multiplayer Games

Global MMORPG Gaming Market: Size, Trends & Forecasts ( ) November 2017

Cultural Preservation and Sharing using Multiplayer Virtual Worlds

COMET DISTRIBUTED ELEVATOR CONTROLLER CASE STUDY

A Fully Network Controlled Flight Test Center and Remote Telemetry Centers

Game Design From Concepts To Implementation

Shared Virtual Environments for Telerehabilitation

Graph of Game Worlds: New Perspectives on Video Game Architectures

Social Networks in Massively Multiplayer Online Games (MMOGs)

Version 9.2. SmartPTT PLUS. Capacity Max Configuration Guide

DESIGN AND CAPABILITIES OF AN ENHANCED NAVAL MINE WARFARE SIMULATION FRAMEWORK. Timothy E. Floore George H. Gilman

Simulative Comparison of MPLS Protection Switching vs. OSPF Re-routing

Transcription:

A Virtual World Distributed Server developed in Erlang as a Tool for analysing Needs of Massively Multiplayer Online Game Servers Erlang/OTP User Conference Stockholm on November 10, 2005 Michał Ślaski michal@erlang-consulting.com

Contents Massively Multiplayer Online Games Problems to solve Prototyping Using Erlang/OTP for the prototype Client and server applications Determining the maximum number of players Architectures with single and double-function nodes Synchronisation of the game s state Conclusions Page 2

Massively Multiplayer Online Games Significant increasing in number of active subscribers Fast growing online games market 9 000 000 Total active subscribers 8 000 000 7 000 000 6 000 000 5 000 000 4 000 000 3 000 000 2 000 000 1 000 000 0 1997 1998 1999 2000 2001 2002 2003 2004 2005 Source: MMOGCHART.COM Source: IGDA, "2004 Persistent Worlds White Paper" Page 3

Problems to solve Big amount of data to process Frequent synchronisation acceptable delay 150-500 ms Adaptation to the connection quality Limited opportunity for full testing t with thousands of players during early phase of development Page 4

Prototyping Experimenting with the functional and technical aspects Determining the scalability of the architecture Testing new solutions Page 5

Using Erlang/OTP for the prototype Open source Compatible with various platforms Concurrent oriented programming one process for every connected player Efficient internal communication Supporting distributed applications Distributed database Mnesia Distributed load testing tool IDX-Tsunami Page 6

Client application Java + Java3D Actions: moving collecting objects magic chat Player s state kept on the server Page 7

Server application The game terrain divided into zones Players placed within the same zone are processed on the same node Server distributed on a cluster of machines Page 8

Determining the maximum number of users 1 200 1 050 Legend Collecting object transaction transaction time [msec] network traffic [kbits / sec] 900 750 600 450 300 150 0 0 20 40 60 80 100 120 140 160 time of the test [s] 800 700 600 500 400 300 200 overload overload 100 Legend Outgoing network traffic 0 0 20 40 60 80 100 120 140 160 time of the test [s] The server was overloaded in the 60th second of the test number of players 180 160 140 120 100 80 60 40 20 122 players 0 0 20 40 60 80 100 120 140 160 time of the test [s] Page 9

Architectures with double-function nodes 900 800 700 number of players 600 500 400 300 200 Legend maximum number of players that can be handled by the architecture 100 0 1 2 3 4 5 6 7 8 9 10 number of nodes processing network traffic and player's actions Page 10

Architectures with single-function nodes 700 120 600 100 number of players 500 80 400 60 300 40 CPU utilisation [%] 200 Legend 20 maximum number of players ac tion proc essing nodes' CPU utilisation network proc essing nodes' CPU utilisation 100 0 0 1 2 3 4 5 6 number of nodes processing player's actions (2 network nodes) Page 11

Synchronising issue Client A Server Client B Try to pick up a mushroom Try to pick up a mushroom Action status - OK mushroom collected by client A Action status - FAIL Page 12

Desynchronisation of the game s state 0,1 Server is not overloaded More successful actions number of transactions / number of players 0,09 0,08 0,07 0,06 0,05 0,04 0,03 0,02 0,01 Legend successful actions not successful actions y=0.04855 (successful) y=0.0009119 (not succ essful) 0 0 100 200 300 400 500 600 700 800 900 1 000 time of the test [s] Page 13

Desynchronisation of the game s state 0,05 Server is overloaded More actions fail number of transactions / number of players 0,045 0,04 0,035 0,03 0,025 0,02 0,015 0,01 0,005 Legend successful actions not successful actions y=0.04855 (suc c essful) y=0.0009119 (not succ essful) 0 0 100 200 300 400 500 600 700 800 900 1 000 time of the test [s] Page 14

Conclusions Erlang/OTP is appropriate for developing prototypes of the distributed MMOG systems Rapid development of the prototype allows examining different algorithms in a relatively short period of time Future work Future work algorithms not dependent on the player s position Page 15

Contents Massively Multiplayer Online Games Problems to solve Prototyping Using Erlang/OTP for the prototype Client and server applications Determining the maximum number of players Architectures with single and double-function nodes Synchronisation of the game s state Conclusions Page 16