Networked Graphics
Building Networked Games and Virtual Environments
By- Anthony Steed, Professor, Department of Computer Science, University College London
- Manuel Oliveira, Research Director, Cyntelix
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 Environment1 .3 Some History
1 .4 Scoping the Software Architecture1 .5 Structure
CHAPTER 2 One on One (101)2 .1 Boids
2 .2 Distributed Boids: Concepts2 .3 Distributed Boids: Implementation
2 .4 Refl ectionCHAPTER 3 Overview of the Internet
3 .1 The Internet3 .2 Application Layer
3 .3 Transport Layer3 .4 Network Layer
3 .5 Link and Physical Layer3 .6 Further Network Facilities
3 .7 SummaryCHAPTER 4 More Than Two
4 .1 Boids4 .2 Simple Peer to Peer
4 .3 Peer to Peer with Master4 .4 Peer to Peer with Rendezvous Server
4 .5 Client/Server4 .6 Multicast
4 .7 Extensions4 .8 Conclusions
PART II FOUNDATIONSCHAPTER 5 Issues in Networking Graphics
5 .1 Architecture of the Individual System5 .2 Role of the Network
5 .3 Initialization5 .4 Server and Peer Responsibilities
5 .5 Critical and Noncritical5 .6 Synchronized or Unsynchronized
5 .7 Ownership and Locking5 .8 Persistency
5 .9 Latency and Bandwidth5 .10 Conclusions
CHAPTER 6 Sockets and Middleware6 .1 Role of Middleware
6 .2 Low-Level Socket APIs6 .3 C and C Middleware for Networking
6 .4 ConclusionCHAPTER 7 Middleware and Message-Based Systems
7 .1 Message-Based Systems7 .2 DIS
7.3 X3D and DIS7 .4 X3D, HawkNL and DIS
7 .5 ConclusionsCHAPTER 8 Middleware and Object-Sharing Systems
8 .1 Object-Sharing Systems8 .2 RakNet
8 .3 Boids using Object-Sharing8 .4 General Object-Sharing
8 .5 Ownership8 .6 Scene-Graphs, Object-Sharing and Messages
8 .7 ConclusionsCHAPTER 9 Other Networking Components
9 .1 Remote Method Call9 .2 DIVE
9 .3 System Architectures9 .4 Conclusions
PART III REAL SYSTEMSCHAPTER 10 Requirements
10 .1 Consistency10 .2 Latency and Jitter
10 .3 Bandwidth10 .4 State of the Internet
10 .5 Connectivity10 .6 Case Study: Burnout Paradise
10 .7 ConclusionsCHAPTER 11 Latency and Consistency
11 .1 Latency Impact11 .2 Dumb Client and Lockstep Synchronization
11 .3 Conservative Simulations11 .4 Time
11 .5 Optimistic Algorithms11 .6 Client Predict Ahead
11 .7 Extrapolation Algorithms11 .8 Interpolation, Playout Delays and Local Lag
11 .9 Local Perception Filters11 .10 Revealing Latency
11 .11 ConclusionsCHAPTER 12 Scalability
12 .1 Service Architectures12 .2 Overview of Interest Management
12 .3 Spatial Models12 .4 Interest Specification and Interest Management
12 .5 Separating Interest Management from Network Architecture12 .6 Server Partitioning
12 .7 Group Communication Services12 .8 Peer to Peer
12 .9 ConclusionsCHAPTER 13 Application Support Issues
13 .1 Security and Cheating13 .2 Binary Protocols and Compression
13 .3 Streaming13 .4 Revisiting the Protocol Decision
13 .5 Persistent and Tiered Services13 .6 Clusters
13 .7 Thin Clients13 .8 Conclusions

