Applying Real-time Simulation to Real-time Collaboration Bart Miller.

Slides:



Advertisements
Similar presentations
Reza hooshangi ( ). short history  One of the last major challenges for the web is to enable human communication via voice and video: Real Time.
Advertisements

Gameplay Networking Jacob Steinfort. Importance of Multiplayer Games If gamers had to choose either a single-player game or a multiplayer game, most people.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
Network synchronization of Online Games Li, Zetan.
Server-Oriented Multiplayer Games Presented by: Eric Fesenmaier
Peer-to-Peer Support for Massively Multiplayer Games Bjorn Knutsson, Honghui Lu, Wei Xu, Bryan Hopkins Presented by Mohammed Alam (Shahed)
CStream: Neighborhood Bandwidth Aggregation For Better Video Streaming Thangam Vedagiri Seenivasan Advisor: Mark Claypool Reader: Robert Kinicki 1 M.S.
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
EE442—Multimedia Networking Jane Dong California State University, Los Angeles.
A Collaborative Game Development Tool Brian Thorpe.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
SWE 423: Multimedia Systems Chapter 7: Data Compression (1)
Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization I’m Curtis.
Reliable Networking Systems The goals: Implement a reliable network application of a file sharing network. Implement a reliable network application of.
Analysis of compressed depth and image streaming on unreliable networks Pietro Zanuttigh, Andrea Zanella, Guido M. Cortelazzo.
Optical Ring Networks Research over MAC protocols for optical ring networks with packet switching. MAC protocols divide the ring bandwidth according to.
Chris Harrison Stacey Kuznetsov Mariya Lysenkova Jennifer Refat Gabriel Sinkin.
Chris Harrison Stacey Kuznetsov Mariya Lysenkova Jennifer Refat Gabriel Sinkin.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
Picture Users Making Art Chat An interactive communication tool.
Magda El Zarki Professor of CS Univ. of CA, Irvine
Game Networking CS381 Sushil J. Louis Dept. of Computer Science and Engineering University of Nevada, Reno From and much thanks to
Holistic Mobile Game Development with Unity 2015 Taylor & Francis. All rights Reserved.
Chapter Two Application Layer Prepared by: Dr. Bahjat Qazzaz CS Dept. Sept
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.1 ISP Services Working at a Small-to-Medium Business or ISP – Chapter 7.
Team ThinkTank. Specifications Ad Hoc networking game. Similar to the Atari Combat! Players control their tank and shoot enemy tanks. Each player gets.
Ophelia User-friendly Network Multi-player Game Engine Albert Öhrling.
NETWORKING PRACTICAL EXAMPLE. REQUIRED HARDWARE BASICS Network Interface Card Ethernet Cable Client Server.
Introduction1-1 Course Code:EE/TE533 Instructor: Muddathir Qamar.
1 Distributed Systems: an Introduction G53ACC Chris Greenhalgh.
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:
NOAA Center for Tsunami Research Tweb: A Web-Based Tsunami Model Forecast Tool System Architecture and Development Eugene F. Burger 1, Linus Kamb 2, Tracey.
I. Basic Network Concepts. I.1 Networks Network Node Address Packet Protocol.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Sharing Information across Congestion Windows CSE222A Project Presentation March 15, 2005 Apurva Sharma.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
AN OVERVIEW OF GAME DEVELOPMENT
Streaming Media A technique for transferring data on the Internet so it can be processed as a steady and continuous stream.
Distributed Virtual Environments Introduction. Outline What are they? DVEs vs. Analytic Simulations DIS –Design principles Example.
Ophelia User friendly Network Multi-player game engine Albert Öhrling.
A Space Game By William Sistar. The Problem What is provided:  Most network games are single player  Some do allow team work but not in a common environment.
GemIsland Prepared by: Areen Jondi Diala Hamadneh Supervised by: Dr. Raed Alqadi Dr. Luai Malhis.
Focus on Networking Engine. Contents ● “Super IsoBomb” Network Engine Introduction ● Game Networking Middleware APIs ● Game Networking Issues Overview.
Light Cycles Galore Building a Multi-Server Multiplayer Game Architecture By Per Lohmann.
Prepared by: Azara Prakash L.. Contents:-  Data Transmission  Introduction  Socket Description  Data Flow Diagram  Module Design Specification.
Caching Consistency and Concurrency Control Contact: Dingshan He
Warlords Patrick Levoshko SE 558 – Multiplayer Game Design.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
Alex Chee Daniel LaBare Mike Oster John Spann Bryan Unbangluang Collaborative Document Sharing In Conjunction With.
Group 2 Web Service For Collaborative editing Uses scalable Client-Server architecture to minimize network communication and improve reliability Provides.
Alex Chee Daniel LaBare Mike Oster John Spann Bryan Unbangluang Collaborative Document Sharing In Conjunction With.
INDIANAUNIVERSITYINDIANAUNIVERSITY Tsunami File Transfer Protocol Presentation by ANML January 2003.
Scaling and Fault Tolerance for Distributed Messages in a Service and Streaming Architecture Hasan Bulut Advisor: Prof. Geoffrey Fox Ph.D. Defense Exam.
Module 11 Configuring and Managing Distributed File System.
1 Chapter 24 Internetworking Part 4 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
Networking Project. Game Networking Game Networking Topology Star (client/server) Topology – All devices are connected to a central hub (server) – Nodes.
Internet Socket Programing
Accelerating Peer-to-Peer Networks for Video Streaming
Chapter 3 Transport Layer
Unity Networking.
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
I. Basic Network Concepts
Working at a Small-to-Medium Business or ISP – Chapter 7
File Transfer Issues with TCP Acceleration with FileCatalyst
Collaborative Text Editing
TA: Donghyun (David) Kim
Beyond FTP & hard drives: Accelerating LAN file transfers
Presentation transcript:

Applying Real-time Simulation to Real-time Collaboration Bart Miller

Overview Motivation Real-time multiplayer simulation Real-time collaboration GroupDraw Application GroupDraw Protocol Demo/Questions

Motivation Multiplayer action games provide responsive, fair simulations across unreliable networks User experience critical for adoption of real-time collaboration Can I apply techniques taken from simulation to collaboration?

Real-time Multiplayer Simulation Create a shared environment Environment affected by user input User expects to provide input and see the result of that input rendered onto screen

Real-time Multiplayer Simulation Entities o Player vs. non-player o Set of metrics (Position, Health, Ammo) Rules o Movement o Damage Divide time into discrete intervals, Ticks World State, Client State Action

Real-time Multiplayer Simulation Client-server design (Synchronous model) o Client simulation loop 1. Gather input, Send input as Actions 2. Receive World State information from server 3. Update Client State 4. Graphically Render World State o Server simulation loop 1. Receive Actions from Clients 2. Consolidate Actions from Clients Conflict resolution 3. Simulate world (generates World State) 4. Send World State snapshot to each Client

Real-time Multiplayer Simulation Problems with Synchronous Model o Network interface is the constraining resource  Bandwidth, latency o Latency is unpredictable  Unfair Solution o Buffer input and network traffic o Loop becomes a set of timers  Network send (lowest frequency)  Poll input (in-between)  Simulate (highest frequency)

Real-time Multiplayer Simulation

Real-time Collaboration Allows multiple users to edit a single file simultaneously Manage access to the file using a Journal Storage System o Server becomes Journal Storage Manager  Log version history of the file Set of Actions  Commitment process resolves conflicts Text data o Series of fixed-length character values o Action data contains location, character buffer

GroupDraw Application Client-server program Written in C# Clients share a common canvas Action contains o Player Id o Tick Number o Point Data (X,Y) Timer Periods o Send: 50ms o Input: 33ms o Simulate: 15ms (~67TPS)

GroupDraw Protocol Hybrid Protocol o TCP for reliability, latency independent information o UDP for data stream, lowest latency  Reliability, ordering handled by the application, snapshot data acknowledged by the client  No fragmentation TCP Methods o Connect, Disconnect o Join, Leave UDP Methods o AddData, ReceiveData, FullUpdate

Demo/Questions Any Questions?