Networked Games Design - PowerPoint PPT Presentation


PPT – Networked Games Design PowerPoint presentation | free to download - id: 2549f-OTVjM


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

Networked Games Design


... games, open source game engines, commercial game engines, and mobile networking. ... Mobile games. Research Frontiers. Week 11 The Future of Networked Games ... – PowerPoint PPT presentation

Number of Views:200
Avg rating:3.0/5.0
Slides: 39
Provided by: micha395
Learn more at:


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Networked Games Design

  • Networked Games - Design Implementation
  • Michael Zyda

CSCI 599 Networked Games - Design Implementation
  • Objective - This course covers the design and
    implementation of networked games, from the
    origins of the supporting technologies in
    distributed systems, visual simulations,
    networked virtual environments, and shipped
    games. The objective of the course is to prepare
    the student for research and development of
    technologies for supporting large-scale,
    networked games.

CSCI 599 Networked Games - Design Implementation
  • Concepts - Topics include the challenges of
    networked games, the origins of networked games
    technology, communications architectures,
    managing dynamic shared state, systems design,
    real-time collision detection and response,
    computational resource management, resource
    management for scalability and performance,
    matching players to games, open source game
    engines, commercial game engines, and mobile

  • Prerequisite - CS-480 or CS-580 or equivalent
    introduction to computer graphics. It is assumed
    that the student is a strong programmer.
  • Lecture 3 hours/week
  • Lab 1 hour/week
  • Textbook -
  • Sandeep Singhal and Michael Zyda Networked
    Virtual Environments - Design and Implementation,
    ACM Press Books, SIGGRAPH Series, 23 July 1999,
    ISBN 0-201-32557-8, 315 pages. We are revising
    this text to be Networked Games Design and
    Implementation and will hand out chapters as they
    become available.

  • Grading
  • The lectures in this course follow the
    Singhal/Zyda text in order. Each student is
    expected to develop code for a networked game.
    That project runs continuously all semester, the
    code testing the students knowledge of the
    in-class lectures and reading material. The
    students networked game will be presented in
    class during the last week.

Week 1 - The Challenges of Networked Games
  • What Is a Networked Game?
  • The Entertainment Value of Networked Games
  • Authoring Networked Games
  • Graphics Engines and Displays
  • Control and Communication Devices
  • Processing Systems
  • Data Network
  • Challenges in NetGame Design and Development
  • Network Bandwidth
  • Heterogeneity
  • Distributed Interaction
  • Real-Time System Design and Resource Management
  • Failure Management
  • Scalability
  • Deployment and Configuration

Week 1
  • Reading Assignment Chapter 1
  • Project 1 Begin building a networked game that
    you will use all semester think fps game. Start
    by building a simple 3D world that an interactive
    player can move around in, a world where a mouse
    button press fires a missile at 3D objects in
    that world. We are going to network your game
    world in subsequent projects.

Week 2 - The Origins of Networked Game Technology
  • Department of Defense Networked Virtual
  • Distributed Interactive Simulation
  • High-Level Architecture
  • Networked Games and Demos
  • SGI Flight and Dogfight
  • Doom
  • Other Games
  • Academic Networked Virtual Environments Games
  • DIVE
  • BrickNet
  • MR Toolkit Peer Package
  • Others

Week 2 - The Origins of Networked Game Technology
  • Distributed Computing
  • Distributed Transactions, Event Ordering
    Database Consistency
  • Lamport Time, clocks and the ordering of events
    in a distributed system
  • The NRC Report Modeling Simulation Linking
    Entertainment Defense
  • Its influence on the future of networked games
  • Networked Game Patents
  • Conclusion

Week 2 - The Origins of Networked Game Technology
  • Reading Assignment chapter 2, some patents,
    Lamport paper

Week 3 A Networking Primer
  • Fundamentals of Data Transfer
  • Network Latency
  • Network Bandwidth
  • Network Reliability
  • Network Protocol
  • The BSD Sockets Architecture
  • Sockets and Ports
  • The Internet Protocol
  • IPv4
  • IPv6
  • Introducing the Internet Protocols for NetGames
  • Transmission Control Protocol
  • User Datagram Protocol
  • IP Broadcasting Using UDP
  • IP Multicasting

Week 3 A Networking Primer
  • Selecting a Net-VE Protocol
  • Using TCP/IP
  • Using UDP/IP
  • Using IP Broadcasting
  • Using IP Multicasting
  • Traversing Network Obstacles
  • NATs and Firewalls Defined
  • UPnP
  • Teredo
  • Other Techniques
  • Conclusion

Week 3 A Networking Primer
  • Reading Assignment chapter 3
  • Project 2 For this project, we are going to
    network your game using ideas from the Lamport
    paper. The Lamport paper describes the
    fundamental technology underlying networked
    sports games. Sports games cannot lose events and
    events received must be executed in the same
    order on all machines. The purpose of this
    project is for you to understand how to implement
    the time-stamped, event ordered algorithms
    required for such networked games. Demonstrate
    your system with two and three machines. Test
    your system with high network loads, maybe by
    generating large numbers of packets in a tight

Week 4 Communication Architectures
  • Two Players on a LAN
  • Multiplayer Client-Server Systems
  • Multiplayer Client-Server, with Multiple-Server
  • Peer-to-Peer Architectures
  • Event-Based Systems
  • Direct-Connection
  • Mesh-Based Structures
  • Conclusion
  • References
  • This chapter focuses on how we might really
    decide to build networked games.

Week 4 Communication Architectures
  • Reading assignment chapter 4

Week 5 Chapter Five - Managing Dynamic Shared
  • The Consistency-Throughput Tradeoff
  • Proof of the Tradeoff
  • Design Implications of the Tradeoff
  • Maintaining Shared State Inside Centralized
  • A File Repository
  • A Repository in Server Memory
  • Virtual Repositories
  • Advantages and Drawbacks to Centralized
  • Reducing Coupling through Frequent State
  • Explicit Entity Ownership
  • Systems Using Frequent State Regeneration
  • Reducing the Broadcast Scope
  • Advantages and Drawbacks of Frequent State

Week 5 Chapter Five - Managing Dynamic Shared
  • Dead Reckoning of Shared State
  • Prediction and Convergence
  • Prediction Using Derivative Polynomials
  • Object-Specialized Prediction
  • Convergence Algorithms
  • Addressing Consistency-Throughput through Non-
    regular Transmissions
  • Advantages and Limitations of Dead Reckoning
  • Time Stamped, Event Ordered Games
  • Logical physical clocks
  • Synchronizing events in sports games
  • Conclusion

Week 5 Chapter Five - Managing Dynamic Shared
  • Reading Assignment chapter 5
  • Project 3 add moving objects into your networked
    game, objects that can be dead reckoned. Use dead
    reckoning to minimize packets onto the network.
    Measure your systems network load both with and
    without dead reckoning. Make sure your system has
    the ability to dead reckon 3D moving objects AND
    the ability to completely reliably send time
    ordered packets for events that MUST be seen and
    acted upon.

Week 6 - Systems Design
  • One Thread, Multiple Threads
  • With One Thread . . .
  • With Multiple Threads . . .
  • Important Subsystems
  • Real-Time Rendering Polygon Culling and
    Level-of-Detail Processing
  • Real-Time Collision Detection and Response
  • Computational Resource Management
  • Conclusion

Week 6 - Systems Design
  • Reading Assignment chapter 6, UNC Graphics Group
    web site for latest real-time collision software.
  • Project 4 Install real-time collision detection
    into your world. Communicate collisions to the
    network. Use collision detection to keep your
    objects driving on the ground and to keep them on
    stairs in your 3D buildings. Use collision
    detection to determine if a weapon has collided
    and destroyed a 3D object. Demonstrate with two
    and three machines.

Week 7 Chapter Seven - Resource Management for
Scalability and Performance
  • An Information-Centric View of Resources
  • Optimizing the Communications Protocol
  • Packet Compression
  • Packet Aggregation
  • Controlling the Visibility of Data
  • Area-of-Interest Filtering Subscriptions
  • Multicasting
  • Hybrid Multicast Aggregation
  • Taking Advantage of Perceptual Limitations
  • Exploiting Level-of-Detail Perception
  • Exploiting Temporal Perception
  • Enhancing the System Architecture

Week 7 Chapter Seven - Resource Management for
Scalability and Performance
  • Server Clusters
  • Peer-Server Systems
  • Lessons from the DoD HLA
  • Conclusion

Week 7 Chapter Seven - Resource Management for
Scalability and Performance
  • Project 5 so far, our networked game works on a
    local area network and all communication is
    between game clients. We now need to think about
    scaling up. Produce a redesign of your networked
    game such that your game clients interact with
    each other through a game server, a game server
    that can be anywhere on the Internet. Measure the
    difference in performance between your
    client-only game and your client-server game.

Week 8 Chapter Eight Matching Players to Games
  • The Discovery Problem
  • LAN-Based Discovery
  • Game Broadcast
  • Internet-Based Discovery
  • Lobby Servers, Directories, and Registration
  • Distributed Game and Node Discovery
  • Conclusion

Week 8 Chapter Eight Matching Players to Games
  • Reading Assignment
  • Project 6 now that you have your game in
    client-server form, redesign your game such that
    it has a lobby server authentication capability,
    an AuthServer. Design your AuthServer system such
    that you can choose a game server from it to
    which your client can connect.
  • Project 7 Generalize your protocol and document
    it so that others can learn to read/write your
    network packets.

Week 9 Chapter Nine Open Source Game
  • Open Source Game Engines
  • Delta3D
  • Panda
  • Croquet
  • Ogre
  • Others
  • Web-Based Game Development
  • X3D
  • XMSF
  • Other

Week 9 Chapter Nine Open Source Game
  • Project 8 choose an open source game engine and
    download that engine and development suite. Learn
    how to develop with that engine and tool suite.
    Try modifying the provided demo apps that use the
    open source engine. When you are comfortable with
    that game engine, you are ready for the next

Week 10 Commercial Game Engines
  • Commercial versus Open Source Game Engines
  • Commercial Game Engines Their Network
    Architectures Their Advantages
  • Quake/Doom Architecture
  • Unreal Architecture
  • Half-Life Architecture
  • DirectPlay and Xbox
  • Sony SCE-RT
  • Others
  • Purchasing Game Components on the Open Market
  • Conclusion

Week 10 Commercial Game Engines
  • Reading assignment chapter 10
  • Project 9 Reimplement your networked game using
    the chosen open source engine. Enhance your game
    using available art assets and resources that
    work with the engine. Make sure your AuthServer,
    and client server networking work with the game
    engine. It is ok to utilize any provided
    networking that comes with the game engine as
    long as it is capable of matching your prior

Week 11 The Future of Networked Games
  • Authoring issues in networked games
  • The PC and game console merger
  • Future developments in game engines
  • The eventual web game engine merger
  • Mobile games
  • Research Frontiers

Week 11 The Future of Networked Games
  • Reading Assignment chapter 11
  • Project 10 add voice chat and text chat into
    your game system. The people you chat with are
    those playing on the server you select at the
    AuthServer level.

Week 12 Advanced Topics
  • Highlights from recent papers on networked games.
  • Project 11 continue to enhance your networked
    game system.

Week 13 Advanced Topics
  • Highlights from recent papers on networked games.
  • Project 12 Design a stand-alone client that can
    read/write your network protocol. Demonstrate
    that your stand-alone client can generate packets
    to drive a character in your networked game world.

Week 14 Advanced Topics
  • Highlights from recent papers on networked games.
  • Project 13 continue to enhance your networked
    game system.

Week 15 Advanced Topics
  • Highlights from recent papers on networked games.
  • Project 14 continue to enhance your networked

Week 16 - Final Presentations
  • Final Project Demo Writeup
  • - Student critique
  • - Instructor feedback

(No Transcript)
(No Transcript)