Networked Graphics book cover

Networked Graphics

Building Networked Games and Virtual Environments

This broad-ranging book equips programmers and designers with a thorough grounding in the techniques used to create truly network-enabled computer graphics and games. Written for graphics/game/VE developers and students, it assumes no prior knowledge of networking. The text offers a broad view of what types of different architectural patterns can be found in current systems, and readers will learn the tradeoffs in achieving system requirements on the Internet.

The book explains the foundations of networked graphics, then explores real systems in depth, and finally considers standards and extensions. Numerous case studies and examples with working code are featured throughout the text, covering groundbreaking academic research and military simulation systems, as well as industry-leading game designs.

Audience
Graphics and games programmers and developers, virtual environments developers, academic researchers, upper-level undergrad and graduate students in Computer Graphics and Games programs

Hardbound, 536 Pages

Published: November 2009

Imprint: Morgan Kaufmann

ISBN: 978-0-12-374423-4

Contents

  • PART I GROUNDWORK

    CHAPTER 1 Introduction

    1 .1 What are NVEs and NGs?

    1 .2 The Illusion of a Shared Virtual Environment

    1 .3 Some History

    1 .4 Scoping the Software Architecture

    1 .5 Structure

    CHAPTER 2 One on One (101)

    2 .1 Boids

    2 .2 Distributed Boids: Concepts

    2 .3 Distributed Boids: Implementation

    2 .4 Refl ection

    CHAPTER 3 Overview of the Internet

    3 .1 The Internet

    3 .2 Application Layer

    3 .3 Transport Layer

    3 .4 Network Layer

    3 .5 Link and Physical Layer

    3 .6 Further Network Facilities

    3 .7 Summary

    CHAPTER 4 More Than Two

    4 .1 Boids

    4 .2 Simple Peer to Peer

    4 .3 Peer to Peer with Master

    4 .4 Peer to Peer with Rendezvous Server

    4 .5 Client/Server

    4 .6 Multicast

    4 .7 Extensions

    4 .8 Conclusions

    PART II FOUNDATIONS

    CHAPTER 5 Issues in Networking Graphics

    5 .1 Architecture of the Individual System

    5 .2 Role of the Network

    5 .3 Initialization

    5 .4 Server and Peer Responsibilities

    5 .5 Critical and Noncritical

    5 .6 Synchronized or Unsynchronized

    5 .7 Ownership and Locking

    5 .8 Persistency

    5 .9 Latency and Bandwidth

    5 .10 Conclusions

    CHAPTER 6 Sockets and Middleware

    6 .1 Role of Middleware

    6 .2 Low-Level Socket APIs

    6 .3 C and C Middleware for Networking

    6 .4 Conclusion

    CHAPTER 7 Middleware and Message-Based Systems

    7 .1 Message-Based Systems

    7 .2 DIS

    7.3 X3D and DIS

    7 .4 X3D, HawkNL and DIS

    7 .5 Conclusions

    CHAPTER 8 Middleware and Object-Sharing Systems

    8 .1 Object-Sharing Systems

    8 .2 RakNet

    8 .3 Boids using Object-Sharing

    8 .4 General Object-Sharing

    8 .5 Ownership

    8 .6 Scene-Graphs, Object-Sharing and Messages

    8 .7 Conclusions

    CHAPTER 9 Other Networking Components

    9 .1 Remote Method Call

    9 .2 DIVE

    9 .3 System Architectures

    9 .4 Conclusions

    PART III REAL SYSTEMS

    CHAPTER 10 Requirements

    10 .1 Consistency

    10 .2 Latency and Jitter

    10 .3 Bandwidth

    10 .4 State of the Internet

    10 .5 Connectivity

    10 .6 Case Study: Burnout ™ Paradise

    10 .7 Conclusions

    CHAPTER 11 Latency and Consistency

    11 .1 Latency Impact

    11 .2 Dumb Client and Lockstep Synchronization

    11 .3 Conservative Simulations

    11 .4 Time

    11 .5 Optimistic Algorithms

    11 .6 Client Predict Ahead

    11 .7 Extrapolation Algorithms

    11 .8 Interpolation, Playout Delays and Local Lag

    11 .9 Local Perception Filters

    11 .10 Revealing Latency

    11 .11 Conclusions

    CHAPTER 12 Scalability

    12 .1 Service Architectures

    12 .2 Overview of Interest Management

    12 .3 Spatial Models

    12 .4 Interest Specification and Interest Management

    12 .5 Separating Interest Management from Network Architecture

    12 .6 Server Partitioning

    12 .7 Group Communication Services

    12 .8 Peer to Peer

    12 .9 Conclusions

    CHAPTER 13 Application Support Issues

    13 .1 Security and Cheating

    13 .2 Binary Protocols and Compression

    13 .3 Streaming

    13 .4 Revisiting the Protocol Decision

    13 .5 Persistent and Tiered Services

    13 .6 Clusters

    13 .7 Thin Clients

    13 .8 Conclusions

Advertisement

advert image