Tim Worcester. What is an MMO? Why invest time into them?

Slides:



Advertisements
Similar presentations
Colyseus: A Distributed Architecture for Online Multiplayer Games
Advertisements

Global States.
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
Online Virtual Environments: Second Life. Networked Virtual Worlds Early interest in shared virtual spaces –Training –Social –Scalability Difficult issues.
Robin Estabrooks Computer Science 1631, Winter 2011.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Distributed Systems and the WWW Extending the Capability of Massively Multiplayer Online Games by Introducing Distributed Systems as World Servers Jason.
Delegates & Events Observer and Strategy Patterns Game Design Experience Professor Jim Whitehead January 30, 2009 Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
1 AINA 2006 Wien, April th 2006 DiVES: A DISTRIBUTED SUPPORT FOR NETWORKED VIRTUAL ENVIRONMENTS The IEEE 20th International Conference on Advanced.
School of Computer Science and Software Engineering A Networked Virtual Environment Communications Model using Priority Updating Monash University Yang-Wai.
Networking Within MMOs Scott Seeley. Differences in game networking Peer-to-peer Client/Server Distributed Server.
A. Frank 1 Internet Resources Discovery (IRD) Peer-to-Peer (P2P) Technology (1) Thanks to Carmit Valit and Olga Gamayunov.
SynchronizationCS-4513, D-Term Synchronization in Distributed Systems CS-4513 D-Term 2007 (Slides include materials from Operating System Concepts,
Brief Overview of.NET Remoting.NET Remoting is a Java RMI-like remote method invocation mechanism Infrastructure of.NET Remoting is highly customizable.
Synchronization in Distributed Systems CS-4513 D-term Synchronization in Distributed Systems CS-4513 Distributed Computing Systems (Slides include.
IST Hard Real-time CORBA HRTC WP4 / M. Rodríguez / Lund 16 September 2003 WP4: Process Control Testbed Universidad Politécnica de Madrid.
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
©Silberschatz, Korth and Sudarshan18.1Database System Concepts Centralized Systems Run on a single computer system and do not interact with other computer.
CS 341 Networked Systems and Applications Sami Rollins Spring 2004.
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Print and Web Coordinating the Dance between Paper and Screen Messages Todd Markelz, Cornell University Steve Whalen, Fashion Institute of Technology Introductions.
Online Gaming (for virtual living). Objectives – Understand the business related to online gaming works – Realise how online games are managed – Have.
Revealed Presented by Jaysheel D Bhavsar Jaysheel D Bhavsar.
Distributed Databases Dr. Lee By Alex Genadinik. Distributed Databases? What is that!?? Distributed Database - a collection of multiple logically interrelated.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Holistic Mobile Game Development with Unity 2015 Taylor & Francis. All rights Reserved.
TEMPLATE DESIGN © GroupNotes: Encouraging Proactive Student Engagement in Lectures through Collaborative Note-taking on.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
University of Zagreb MMVE 2012 workshop1 Towards Reinterpretation of Interaction Complexity for Load Prediction in Cloud-based MMORPGs Mirko Sužnjević,
Networked Games - consistency and real-time Objectives – –Understand the problems associated with networked games. –Realize the importance of satisfying.
Network Physics Created by Ruslan Yavdoshak for Nikitova Games, 2008.
MV-4474 Virtual Environment Network & Software Architectures Michael Zyda
Introduction to Networked Graphics Part 3 of 5: Latency.
CLIENT SERVER VS PEER TO PEER Networks. Lesson objectives Candidates should understand the advantages and disadvantages of: client server networks peer.
◦ What is an Operating System? What is an Operating System? ◦ Operating System Objectives Operating System Objectives ◦ Services Provided by the Operating.
Design Document Presentation. Review Quoridor – a board game played on a grid where players must advance tokens across a board to win. Our basic objective:
Collider IT Project. Project Requirements  Create a fun and addictive online multiplayer game  Implement an Open Source physics engine (box2D)  The.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Parallel and Distributed Simulation Synchronizing Wallclock Time.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Intro to Computers Understanding Computers and Computer Literacy.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
Darkstar. Darkstar is a Sun research project on massively parallel online games The objective (not yet demonstrated!) is to supply a framework for massively.
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
Chapter 12 Review Chad Hagstrom CS 310 Spring 2008.
Dead Reckoning References: Gamasutra (1), Gamedev (1)1 Forum articles (1)1.
Real-Time & MultiMedia Lab Synchronization Distributed System Jin-Seung,KIM.
Networked Games Objectives – –Understand the types of human interaction that a network game may provide and how this influences game play. –Understand.
Multiplayer games on networks potential and tradeoffs.
Dead Reckoning. Outline Basic Dead Reckoning Model (DRM) –Generating state updates –Position extrapolation Refinements –Time compensation –Smoothing.
D u k e S y s t e m s Asynchronous Replicated State Machines (Causal Multicast and All That) Jeff Chase Duke University.
Towards Anonymous Communication Infrastructure There are many existing anonymous communication solutions each having advantages and disadvantages and most.
Unit 1—Computer Basics Lesson 1 Understanding Computers and Computer Literacy.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 6: Synchronyzation 3/5/20161 Distributed Systems - COMP 655.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
A Fragmented Approach by Tim Micheletto. It is a way of having multiple cache servers handling data to perform a sort of load balancing It is also referred.
Lecture 17 Page 1 CS 188,Winter 2015 A Design Problem in Distributed Systems CS 188 Distributed Systems March 10, 2015.
Introduction to Computers
Game Server Selection for Multiple Players
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)
Course Name : Network Operating System Course Code: CNET 332 These slides are only meant for course delivery. For all your Exams refer to your text book.
Peer-to-Peer Client-server.
Course Name : Network Operating System Course Code: CNET 332
Presentation transcript:

Tim Worcester

What is an MMO? Why invest time into them?

Reigning Titan: World of Warcraft - Released in the United States in February Interesting fact: - In 2008 this game brought in an estimated 72,030,042, of profit for Blizzard Entertainment. - (That’s 6,002,503, a month!!!)

Billion dollar industry…can you make one too? The MMO market is one of the toughest to break into Very limited success rate Challenge: create a game that will keep the players attention for years.

A little history of networking The important stuff: Distributed Interactive Simulation(DSI) The Saga Ryzom (MMO from 2000)

Distributed Interactive Simulation Is an open standard for accomplishing a game like Battlefield 2: Bad Company across different hosts and used worldwide. The military is the primary user for this, with their real-time war game training The standard was first developed by the University of Central Florida’s Institute for Simulation and Training (IST) The DIS was first published in the IEEE standard 1278 in 1993 This standard closely resembled ‘SIMNET’ which was another standard that was released at the time – developed by Bolt, Beranek and Newman (BBN) BBN are the ones that introduced the concept of ‘Dead Reckoning’ to effeciently account for network lag

Servers? Three main ways that have been used to communicate with so many people: Centralized server De-Centralized server Peer

Centralized Server Users could be anywhere in the world The server manages and processes the location and actions that the user sends it The user sends their action data in a ‘node’ across the network, this can be accomplished two ways: Push method – This is the method in which along with processing and managing locations the server actually reaches out and communicates with the user to retrieve their actions Pull method – This puts the pressure on the clients machine rather than the server, the users machine retrieves their position and action information from the server and not the other way around

Centralized Servers: Why not? Management of player information is all done on the server Could lead to very laggy gameplay based on how many users are using a server as a host Inconsistent

De-Centralized Server Update to the Centralized Server approach Emphasizes hardware on the server-side Allows us to put servers near our clients Multiple servers communication with one another to share the load of the client base The same push and pull methods can be used

De-centralized Servers: Why not? Very hardware dependent: The servers must all hold states consistent with one another – this is very hard to achieve

Peer (most common) Commonly known as “Frequent State Regeneration” Introduces a way that the client-side machine processes their own state and generates their location Node passing is done directly from a player to other players (also from servers to other servers!!!) The server is still there but is not being used to process the states as much as store them as a back-up The servers also help determine the order/priority of message passing between the players. Who shot who first?

Accounting for lag: How?

Dead Reckoning: What is Dead Reckoning and what does it provide us? Grants the server the ability to predict positions Uses mathematical formulas to predict the positions: Derivative Polynomials: Zero-Order polynomials: the “Snap”, prediction: = position Order one polynomials: velocity based prediction: = position + velocity * t Second order polynomials: velocity & acceleration based prediction: = position + (velocity * t )+ (½ * acceleration * t2) Do we need to constantly use polynomial prediction?

Games that use Dead Reckoning: Snap: Battlefield: Bad Company 2, World of Warcraft Possibly: Half-Life games – Counter Strike

Another Dead Reckoning Method: Cubic Splines: This is often used in simulation games and games that have a lot of ‘predictability’

All these computations are cool…who exactly cares? Interest management: “Aura-nimbus” or the ‘Bubble implementation’

What is used? Multi-casting Group via region algorithms

Ordering Causality & Total Ordering

Application Examples: Half-life & Team Fortress in 2000: Introduced the ‘Game Master Server’ This is used in MMOs to maintain server communication and consistency

The challenges we facing currently: Real-time AI and DR Consistently inaccurate (acceptable?) Constantly evolving environments And more…

Sources: assiotis.pdf?key1= &key2= &coll=GUIDE&dl=GUIDE&CFID= & CFTOKEN= assiotis.pdf?key1= &key2= &coll=GUIDE&dl=GUIDE&CFID= & CFTOKEN= : Slide shows k – q. sites.googlegroups.com/site/grahammorgan/papers/morganS%26G.pdf?attachauth=AN oY7cpUeTfIgEHHM- BRj7bt9ddXUtkZDARMy_1Kjm6OlbdkMyuNiAfICjdBLlatWuEyJC4jZqF5OKNHk8FETo2 T0zNiGlhzV_jO9byVXRFb12DV_7cunEKW9iIiWg0jFZQO3mAu_e9_4Zquq_u7F23DEnl TLQSoPOqixVXlRdUIzDvRolklOeJP90XY8QzL-PzW2FLzkveLO46T- GZbGaxmLCgJa4oP3w%3D%3D&attredirects=1 – Publication by Professor Morgan, read but not used. Deals more with user interaction and keeping the interest of the user. Good general overview of what MMOs must accomplish before release! sites.googlegroups.com/site/grahammorgan/papers/morganS%26G.pdf?attachauth=AN oY7cpUeTfIgEHHM- BRj7bt9ddXUtkZDARMy_1Kjm6OlbdkMyuNiAfICjdBLlatWuEyJC4jZqF5OKNHk8FETo2 T0zNiGlhzV_jO9byVXRFb12DV_7cunEKW9iIiWg0jFZQO3mAu_e9_4Zquq_u7F23DEnl TLQSoPOqixVXlRdUIzDvRolklOeJP90XY8QzL-PzW2FLzkveLO46T- GZbGaxmLCgJa4oP3w%3D%3D&attredirects= k MMO old proposition for a project(MMO)