Multiplayer Online Games

Slides:



Advertisements
Similar presentations
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Advertisements

Review of Topology and Access Techniques / Switching Concepts BSAD 141 Dave Novak Sources: Network+ Guide to Networks, Dean 2013.
Dead Reckoning Objectives – –Understand what is meant by the term dead reckoning. –Realize the two major components of a dead reckoning protocol. –Be capable.
T.Sharon-A.Frank 1 Multimedia Quality of Service (QoS)
Network synchronization of Online Games Li, Zetan.
1 The 7 layer OSI model Sending an . 2 The seven layers.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
Application layer (continued) Week 4 – Lecture 2.
Internetworking Fundamentals (Lecture #1) Andres Rengifo Copyright 2008.
Internet Traffic Patterns Learning outcomes –Be aware of how information is transmitted on the Internet –Understand the concept of Internet traffic –Identify.
The Technology of the Game - Latency and Online Games Mark Claypool Associate Professor Computer Science Director Interactive Media and Game Development.
Sync-MS: Synchronized Messaging Service for Real-Time Multi-Player Distributed Games By Yow-Jian Lin, Katherine Guo and Sanjoy Paul Presented by Greg Kempe.
802.11n MAC layer simulation Submitted by: Niv Tokman Aya Mire Oren Gur-Arie.
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
VoIP Voice Transmission Over Data Network. What is VoIP?  A method for Taking analog audio signals Turning audio signals into digital data Digital data.
Chapter 6 Errors, Error Detection, and Error Control
Networking. Protocol Stack Generally speaking, sending an message is equivalent to copying a file from sender to receiver.
Layer 2 Switch  Layer 2 Switching is hardware based.  Uses the host's Media Access Control (MAC) address.  Uses Application Specific Integrated Circuits.
Chapter 1 The Challenges of Networked Games. Online Gaming Desire for entertainment has pushed the frontiers of computing and networking technologies.
Magda El Zarki Professor of CS Univ. of CA, Irvine
VLAN Trunking Protocol (VTP) W.lilakiatsakun. VLAN Management Challenge (1) It is not difficult to add new VLAN for a small network.
1 CMSCD1011 Introduction to Computer Audio Lecture 10: Streaming audio for Internet transmission Dr David England School of Computing and Mathematical.
Communications & Networks
Presentation on Osi & TCP/IP MODEL
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
Distance Vector Routing Protocols W.lilakiatsakun.
Network Physics Created by Ruslan Yavdoshak for Nikitova Games, 2008.
THE OSI MODEL AND THE TCP/IP PROTOCOL SUITE CS 1202 Lectur3 part2.
Introduction to Networked Graphics Part 3 of 5: Latency.
©G. Millbery 2001Communications and Networked SystemsSlide 1 Purpose of Network Components  Switches A device that controls routing and operation of a.
The OSI Model and the TCP/IP Protocol Suite Outline: 1.Protocol Layers 2.OSI Model 3.TCP/IP Model 4.Addressing 1.
Establishing Connections Networking Modes: When you are evaluating a network, you concentrate on circuit switching versus packet switching. But it's also.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Time Manipulation.  The game states rendered at the clients are different because latency is dependent on the location of the client from the server.
Network Instruments VoIP Analysis. VoIP Basics  What is VoIP?  Packetized voice traffic sent over an IP network  Competes with other traffic on the.
Networks CS105. What is a computer network? A computer network is a collection of computing devices that are connected in various ways so that they can.
ONLINE GAME NETWORK TRAFFIC OPTIMIZATION Jaewoo kim Youngho yi Minsik cho.
Computer Networks with Internet Technology William Stallings
Mr C Johnston ICT Teacher BTEC IT Unit 05 - Lesson 03 Network Topologies.
Lecture 6 Page 1 Advanced Network Security Review of Networking Basics Advanced Network Security Peter Reiher August, 2014.
Mr C Johnston ICT Teacher
Summary - Part 2 - Objectives The purpose of this basic IP technology training is to explain video over IP network. This training describes how video can.
Routing and Routing Protocols
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
Chapter 11 Extending LANs 1. Distance limitations of LANs 2. Connecting multiple LANs together 3. Repeaters 4. Bridges 5. Filtering frame 6. Bridged network.
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.
Mr C Johnston ICT Teacher G055 - Lecture 03 Local and Wide Area Networks.
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
LECTURE 12 NET301 11/19/2015Lect NETWORK PERFORMANCE measures of service quality of a telecommunications product as seen by the customer Can.
Computer Network Architecture Lecture 2: Fundamental of Network.
Communication Methods
Building A Network: Cost Effective Resource Sharing
Data Communication Networks Lec 13 and 14. Network Core- Packet Switching.
The Internet Technological Background. Topic Objectives At the end of this topic, you should be able to do the following: Able to define the Internet.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
Network Processing Systems Design
INTRODUCTION TO COMPUTER NETWORKS BY: SAIKUMAR III MSCS, Nalanda College.
1 28-Sep-16 S Ward Abingdon and Witney College CCNA Exploration Semester 1 OSI network layer CCNA Exploration Semester 1 Chapter 5.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI network layer CCNA Exploration Semester 1 – Chapter 5.
Multiplayer Online Games
Network and hardware revision
1.4 Wired and Wireless Networks
The OSI Model and the TCP/IP Protocol Suite
Virtual World Architecture II
Congestion Control, Internet transport protocols: udp
The OSI Model and the TCP/IP Protocol Suite
Net301 LECTURE 10 11/19/2015 Lect
Network Performance Definitions
The OSI Model and the TCP/IP Protocol Suite
Presentation transcript:

Multiplayer Online Games PhD Student Umut Riza ERTURK Produced for Realtime Software Development Lecture Lecturer: Kayhan Imre Hacettepe University Jan 2011

What is a Multiplayer Game? More than one player at a time or NOT playing the same game session Spacewar is the first multiplayer game and running on a computer (1961) (made more than $100 000) Tennis for Two is the very first multiplayer game running on an oscilloscope(1958) Tennis for Two Taken from http://en.wikipedia.org/wiki/Tennis_for_Two Spacewar Taken from http://en.wikipedia.org/wiki/Spacewar!

What is an Online Game? In which players connect to devices remotely to play MUD 1 is one of the first online games, text based Basic client-server topology MUD-1 Armitage p.9

Early Multiplayer Online Games (Milestones) More than one player playing on the same game session First example: Doom by ID software (1993) Using IPX for communication P2P (peer to peer topology) Every 1/35th of a second game collects user input and broadcasts the network packets (sends it to other players) No sever, no client (or vice versa) Pros and cons? (discussion topic) Doom 2 Same topology and method except for broadcasting packets

Early Multiplayer Online Games (Milestones) Quake (1996) Big leap in online gaming Server-client topology No Tunnelling (quake was using directly internet protocols thus no need to convert wan packets into different packets) which enabled players to play via internet No need to meet in the same time and game room, Quake had its own game rooms on internet Clients send only their own inputs to the server and get back the new game state from the server

Communication Architectures for Multiplayer Network Games (a)Pure client: nothing but a client (b)P2P: No servers, clients should know each other n*n connections might be needed messaging traffic increases exponential as new players join the game Vulnerable to cheating (c)Client-Server: One server which knows clients but clients are not aware of each other hence all the messaging is passing through the server Needs a ‘strong’ server responding consistently and fair to all clients Makes voice chatting or data exchange btw clients hard

Communication Architectures for Multiplayer Network Games (d)Hybrid Sever: Allows easy data exchange between clients Security problems may occur as clients might be vulnerable to attacks clients network might be kept busy by other clients in purpose Still needs a strong and consistent server (d)Network of Servers : Allows hundred or even thousands of people to be online like in MMORPG games Costly Difficult to manage and maintain

Network Problems Latency, Jitter, Loss Latency Jitter Loss Latency is the time spent for a packet to reach its destination. Considered as half of Round Trip Time (send a data and get it back) for symmetric networks Jitter Variations in latency Means inconsistency Loss Some packets gets lost (corrupted) Increases time spent for data exchange

Network Problems Causes of Latency Propagation delay which is a result of; Physical Limitations (speed of light is the upper limit for communication) latency (ms) = (distance of link in kilometres)/300 Serialisation; data is transferred in series of bits, all the bits should arrive to the destination in a correct order to be serialised which takes time latency (ms) = 8*(link layer frame length in bytes)/(link speed in Kbps) Queuing delays; Switches doesn’t provide equally timeslots for internet communication which means if the internet traffic is heavy on a switch internet gets slow.

Network Problems Causes of Jitter Path length changes Data being sent doesn’t always use the same path on reaching its destination Packet size changes Hence because of serialisation, sending time varies

Network Problems Causes of Loss Physical unrecoverable bit errors Dropping packets because of heavy communication traffic

How Network Games Tolerate Network Problems Latency Compensation Why There will always be delays because of physical limitations Bandwidth is increasing but there are loads of packet loss Broadband communication speed varies from country to country A Game should be Consistent Responsive Fair So we always need methods to compensate the latency caused by network infrastructure

Latency Compensation The Simplest Client Side Algorithm of Network Games Collect user input Pack up data and send it to server Receive updates from server and unpack Determine game state Render scene Repeat

Latency Compensation Outcome of the basic algorithm Client waits until server responses which decreases the responsiveness of the game but also makes the game consistent

Latency Compensation Prediction Player Prediction Client predicts player’s own movement and continues movement Algorithm Sample user input Pack up data and send to server Determine visible objects and game state Render scene Receive updates from server and upack Fix up any discrepancies Repeat.

Latency Compensation Prediction Opponent Prediction Algorithm on the player to be predicted Sample user input Update {location | velocity | acceleration} on the basis of new input Compute predicted location on the basis of previous {location | velocity | acceleration} If (current location – predicted location) < threshold then Pack up {location | velocity | acceleration} data Send to each other opponent Repeat. Prediction Opponent Prediction Client predicts opponents’ movements Requires more data to be transferred from other clients in order to make a reasonable prediction However, by not sending the data if the difference is under and threshold, data transfer rate could be reduced Algorithm on the opponent Receive new packet Extract state update information {location | velocity | acceleration} If seen unit before then Update unit information Else Add unit information to list For each unit in list Update predicted location Render frame Repeat

Latency Compensation Prediction Summary Might be useful if a responsive but not that consistent game What if a packet gets lost? And arrives afterwards (in this case using UDP is not the best idea) Some situations are impossible to predict, i.e. 3 players running towards each other and tosses, who tossed to whom first?

Latency Compensation Time Manipulation Some clients might have high latencies Game should be fair, consistent and responsive (example of collecting rewards)

Latency Compensation Time Manipulation Time Delay Server looks at the latencies and in order to maintain the fairness and consistency adds some extra delay for the ones has less latency Jitter is a problem here What if the client is showing its latency higher than it actually is

Latency Compensation Time Manipulation Time Wrap Server looks at latency to the client and rolls back the time as necessary Also protects from inconsistencies caused by loss packets (as they might not arrive in time order) May still cause inconsistencies i.e. the player-1 is just moved to behind of a wall and at that moment player-2 shot, for player-1 bullet bend and moved to the behind of the wall (this may cause regularly if jitter rate is high) Algorithm on server side Receive packet from client Extract information (user input) Elapsed time = current time – latency to client (rollback the time to the clients time) Rollback all events in reverse order to current time – elapsed time Execute user command Repeat all events in order, updating any clients affected Repeat.

Latency Compensation Sending less or compressed data Lossless compression: LZW algorithms for compression of stream data Opponent prediction: Reduces the data sent Delta compression: Send the differences not the whole data Interest Management: Send information of close objects (don’t send distant objects’ information) P2P: Avoids sending data irrelevant data to the server Update Aggregation: Collect data for a client and sent all the collected data at a time instead of sending instant update data

Further reading topics Cheating Prevention Fair Randomness

Questions

Bibliography Armitage, G. , Claypool, M. , Branch, P. (2006). Networking and Online G ames. West Sussex: John Wiley & Sons Ltd. Smed, J. , Hakonen, H. (2006). Algorithms and Networking for Computer Games . West Sussex: John Wiley & Sons Ltd. Barron, T. (2001). Multiplayer Game Programming. California: Stacy L. Hiquet