Networked Graphics -  Manuel Fradinho Oliveira,  Anthony Steed

Networked Graphics (eBook)

Building Networked Games and Virtual Environments
eBook Download: EPUB
2009 | 1. Auflage
536 Seiten
Elsevier Science (Verlag)
978-0-08-092223-2 (ISBN)
Systemvoraussetzungen
60,57 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

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.


  • Everything designers need to know when developing networked graphics and games is covered in one volume - no need to consult multiple sources.
  • The many examples throughout the text feature real simulation code in C++ and Java that developers can use in their own design experiments.
  • Case studies describing real-world systems show how requirements and constraints can be managed.


Anthony Steed is a Professor at University College London. His research interests are in collaborative virtual environments, immersive virtual reality, interaction, and human animation. He has over 110 refereed conference and journal papers to date. He was program chair of the 2007, 2008, and 2009 IEEE Virtual Reality conferences. For part of the academic year 2006 - 2007 he was on sabbatical to Electronic Arts in Guildford. He is also the director of the Engineering Doctorate Centre in Virtual Environment, Imaging, and Visualization.
Networked Graphics 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. It 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. - Everything designers need to know when developing networked graphics and games is covered in one volume - no need to consult multiple sources- The many examples throughout the text feature real simulation code in C++ and Java that developers can use in their own design experiments- Case studies describing real-world systems show how requirements and constraints can be managed

Front Cover 1
Networked Graphics: Building Networked Games and Virtual Environments 4
Copyright Page 5
Contents 6
PART I: GROUNDWORK 14
CHAPTER 1 Introduction 16
1.1 What are NVEs and NGs? 17
1.2 The Illusion of a Shared Virtual Environment 18
1.3 Some History 20
1.3.1 Internet 21
1.3.2 Simulators 28
1.3.3 Multiuser Dungeons (MUDs) 32
1.3.4 Electronic Games 35
1.3.5 Virtual Reality Systems 40
1.3.6 MMORPGs 43
1.3.7 Social Spaces 46
1.4 Scoping the Software Architecture 49
1.4.1 Software Roles and Responsibilities 51
1.4.2 Differences to Other Network Code 52
1.5 Structure 53
CHAPTER 2 One on One (101) 58
2.1 Boids 58
2.1.1 Boid Rules 59
2.1.2 Standalone Implementation 61
2.2 Distributed Boids: Concepts 62
2.3 Distributed Boids: Implementation 66
2.3.1 Revised Simulation and Data Model 66
2.3.2 Network Concepts 68
2.3.3 Network Protocol 69
2.3.4 Implementation of the Network Component 69
2.3.5 Sending UDP Data Packets 71
2.3.6 Sending TCP Data Streams 75
2.4 Reflection 78
CHAPTER 3 Overview of the Internet 84
3.1 The Internet 84
3.2 Application Layer 88
3.2.1 Application Layer Protocols 89
3.2.2 Application QoS 90
3.2.3 Common Applications and Ports 91
3.2.4 RFCs 93
3.2.5 DNS 93
3.2.6 Telnet and HTTP 95
3.3 Transport Layer 96
3.3.1 Implementing UDP 97
3.3.2 Basics of TCP 100
3.3.3 Reliability in TCP 102
3.3.4 Opening and Closing TCP Connections 109
3.3.5 Flow Control and Congestion Avoidance in TCP 112
3.4 Network Layer 114
3.4.1 Network Address Translation 116
3.4.2 IP Packets 117
3.4.3 Ping, Traceroute and ICMP 122
3.4.4 Routing on the Internet 125
3.4.5 DHCP 125
3.5 Link and Physical Layer 126
3.5.1 Ethernet 128
3.5.2 Comparisons 129
3.6 Further Network Facilities 129
3.6.1 Multicast 130
3.6.2 Network QoS 131
3.7 Summary 134
CHAPTER 4 More Than Two 138
4.1 Boids 139
4.1.1 Architecture 139
4.1.2 Protocol 140
4.1.3 Codebase Refactoring 141
4.2 Simple Peer to Peer 143
4.2.1 System Architecture 144
4.2.2 Data Model 145
4.2.3 Network 147
4.2.4 Protocol 148
4.3 Peer to Peer with Master 151
4.3.1 System Architecture 152
4.3.2 Datamodel 153
4.3.3 Network 155
4.3.4 Protocol 155
4.4 Peer to Peer with Rendezvous Server 159
4.4.1 System Architecture 161
4.4.2 Datamodel 162
4.4.3 Network 162
4.4.4 Protocol 163
4.5 Client/Server 165
4.5.1 System Architecture 166
4.5.2 Datamodel 167
4.5.3 Network 168
4.5.4 Protocol 169
4.6 Multicast 171
4.6.1 System Architecture 173
4.6.2 Datamodel 174
4.6.3 Network 175
4.6.4 Protocol 177
4.7 Extensions 179
4.7.1 Protocol design 179
4.7.2 Network Compensation 179
4.7.3 Scale 180
4.7.4 Binary Protocols 180
4.8 Conclusions 180
PART II: FOUNDATIONS 182
CHAPTER 5 Issues in Networking Graphics 184
5.1 Architecture of the Individual System 184
5.1.1 Engines and Engine Framework 186
5.1.2 Modules 190
5.1.3 Content 190
5.1.4 Behavior 191
5.2 Role of the Network 192
5.2.1 Device I/O Sharing 193
5.2.2 Data Model Sharing 194
5.2.3 Command/Event Streaming 195
5.2.4 Coping with Scale 197
5.3 Initialization 197
5.3.1 Case Study: Disney's Toontown 198
5.4 Server and Peer Responsibilities 199
5.5 Critical and Noncritical 201
5.6 Synchronized or Unsynchronized 202
5.7 Ownership and Locking 203
5.8 Persistency 203
5.9 Latency and Bandwidth 204
5.10 Conclusions 205
CHAPTER 6 Sockets and Middleware 208
6.1 Role of Middleware 208
6.2 Low-Level Socket APIs 209
6.2.1 Main Functions 209
6.2.2 Name Helper Functions and Options 212
6.2.3 Network Byte Order 214
6.2.4 Examples 215
6.2.5 Socket Usage Patterns 220
6.2.6 Windows 220
6.2.7 Synchronous I/O 221
6.2.8 Critique and Discussion 223
6.3 C and C++ Middleware for Networking 223
6.3.1 HawkNL 224
6.3.2 SDL_Net 224
6.3.3 ACE 226
6.4 Conclusion 228
CHAPTER 7 Middleware and Message-Based Systems 230
7.1 Message-Based Systems 230
7.2 DIS 231
7.2.1 PDUs 232
7.3 X3D and DIS 233
7.3.1 Basics of X3D 235
7.3.2 Dataflow and Animation 237
7.3.3 Scripting and Interfaces 240
7.3.4 VRML/X3D Networking Strategies 245
7.3.5 X3D and DIS 248
7.4 X3D, HawkNL and DIS 250
7.4.1 Sending a DIS Packet 251
7.4.2 Receiving DIS Packets 251
7.5 Conclusions 254
CHAPTER 8 Middleware and Object-Sharing Systems 260
8.1 Object-Sharing Systems 260
8.2 RakNet 263
8.2.1 Object Lifecycles 264
8.3 Boids using Object-Sharing 265
8.3.1 Boid Definitions 266
8.3.2 Main Application 273
8.3.3 Discussion 277
8.4 General Object-Sharing 277
8.4.1 Sharing Policy 277
8.4.2 Visibility and Sampling Rates 278
8.5 Ownership 279
8.6 Scene-Graphs, Object-Sharing and Messages 284
8.7 Conclusions 286
CHAPTER 9 Other Networking Components 288
9.1 Remote Method Call 288
9.1.1 RPC 289
9.1.2 XML-RPC, etc. 297
9.1.3 CORBA 298
9.1.4 Discussion 300
9.2 DIVE 301
9.2.1 DIVE Overview 301
9.2.2 DIVE Entities 304
9.2.3 Events 310
9.2.4 Scripting and Event Scoping 312
9.2.5 Networking 314
9.2.6 Discussion 315
9.3 System Architectures 316
9.4 Conclusions 319
PART III: REAL SYSTEMS 324
CHAPTER 10 Requirements 326
10.1 Consistency 327
10.1.1 System Perspective 328
10.1.2 Plausibility and Fairness 329
10.1.3 Consistency-Throughput Tradeoff 331
10.2 Latency and Jitter 332
10.2.1 Sources of Network Latency 332
10.2.2 Jitter 334
10.2.3 Clocks and Measurement of Latency and Jitter 337
10.2.4 User Tolerance 339
10.2.5 Latency Impact in Specific Systems 342
10.3 Bandwidth 343
10.3.1 Measurement 344
10.3.2 Traffic Patterns 344
10.3.3 Congestion 349
10.4 State of the Internet 350
10.5 Connectivity 353
10.5.1 NAT 353
10.6 Case Study: Burnout™ Paradise 356
10.6.1 Car "Mechanics" 357
10.6.2 Game Phases and Time Synchronization 358
10.6.3 Game Hosting and Peer-to-Peer Networking 360
10.7 Conclusions 361
CHAPTER 11 Latency and Consistency 368
11.1 Latency Impact 368
11.2 Dumb Client and Lockstep Synchronization 372
11.2.1 Dumb Client 372
11.2.2 Lockstep Synchronization 373
11.3 Conservative Simulations 373
11.4 Time 375
11.5 Optimistic Algorithms 378
11.6 Client Predict Ahead 380
11.7 Extrapolation Algorithms 384
11.7.1 Basic Dead-Reckoning 384
11.7.2 Dead-Reckoning Variants 389
11.8 Interpolation, Playout Delays and Local Lag 391
11.9 Local Perception Filters 396
11.10 Revealing Latency 400
11.11 Conclusions 401
CHAPTER 12 Scalability 406
12.1 Service Architectures 407
12.1.1 Awareness 407
12.1.2 Cohorts, Groups and Service Architecture 409
12.2 Overview of Interest Management 412
12.3 Spatial Models 416
12.3.1 Zone Models 417
12.3.2 Dynamic Spatial Models 419
12.3.3 Visibility Models 421
12.4 Interest Specification and Interest Management 424
12.4.1 Interest Expressions 424
12.4.2 Interest Management 426
12.4.3 Examples of Distributed Interest Management 428
12.5 Separating Interest Management from Network Architecture 431
12.5.1 Message Routing and Message Filtering 431
12.5.2 Filtering as a Pipeline 433
12.5.3 Routing and Filtering Examples 434
12.5.4 Delegating Group Communication to the Network Layer 436
12.6 Server Partitioning 437
12.6.1 Server Tasks and Static Partitionings 438
12.6.2 Seams and Handovers 441
12.6.3 Load Balancing and Dynamic Partitioning 443
12.7 Group Communication Services 447
12.7.1 Reflectors and Tunnels 447
12.7.2 Automatic Overlay Multicast 448
12.7.3 Gossiping for Peer-to-Peer Communications 449
12.7.4 Specific Group Communication Routing Service 450
12.8 Peer to Peer 450
12.8.1 Unstructured Peer-to-Peer Systems 451
12.8.2 Structured Peer-to-Peer Systems 452
12.8.3 Peer-to-Peer Support Using DHTs 455
12.8.4 Local Interest Systems 456
12.8.5 Update-Free Regions and Frontier Sets 459
12.9 Conclusions 462
CHAPTER 13 Application Support Issues 472
13.1 Security and Cheating 472
13.1.1 Client-Side Attacks 474
13.1.2 Network Level 476
13.1.3 Server Side 478
13.1.4 Social 478
13.1.5 Repercussions 479
13.2 Binary Protocols and Compression 480
13.2.1 Binary Encodings 480
13.2.2 Compression 481
13.3 Streaming 483
13.3.1 Audio and Video 483
13.3.2 Geometry and Animation 486
13.3.3 Mixing and Grouping 489
13.4 Revisiting the Protocol Decision 490
13.5 Persistent and Tiered Services 491
13.6 Clusters 492
13.6.1 Multidisplay Systems 492
13.6.2 Massive Models 495
13.7 Thin Clients 495
13.8 Conclusions 496
Index 502
A 502
B 504
C 505
D 508
E 510
F 512
G 513
H 514
I 515
J 516
K 516
L 516
M 518
N 520
O 522
P 522
Q 525
R 525
S 528
T 531
U 532
V 533
W 534
X 535
Z 535

EPUBEPUB (Adobe DRM)

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
das umfassende Handbuch

von Udo Brandes

eBook Download (2024)
Rheinwerk Computing (Verlag)
27,93