Australasia's Biggest Online Store

Shop over a million Toys in our Huge New Range

Multiplayer Game Programming


Product Description
Product Details

Table of Contents

Chapter 1: Overview of Networked Games 1

A Brief History of Multiplayer Games 2

Starsiege: Tribes 5

Age of Empires 10

Summary 13

Review Questions 14

Additional Readings 14

Chapter 2: The Internet 15

Origins: Packet Switching 16

The TCP/IP Layer Cake 17

The Physical Layer 19

The Link Layer 19

The Network Layer 23

The Transport Layer 39

The Application Layer 52

NAT 53

Summary 60

Review Questions 61

Additional Readings 62

Chapter 3: Berkeley Sockets 65

Creating Sockets 66

API Operating System Differences 68

Socket Address 71

UDP Sockets 79

TCP Sockets 83

Blocking and Non-Blocking I/O 88

Additional Socket Options 96

Summary 98

Review Questions 98

Additional Readings 99

Chapter 4: Object Serialization 101

The Need for Serialization 102

Streams 105

Referenced Data 119

Compression 124

Maintainability 130

Summary 136

Review Questions 136

Additional Readings 137

Chapter 5: Object Replication 139

The State of the World 140

Replicating an Object 140

Naive World State Replication 148

Changes in World State 152

RPCs as Serialized Objects 159

Custom Solutions 162

Summary 163

Review Questions 163

Additional Readings 164

Chapter 6: Network Topologies and Sample Games 165

Network Topologies 166

Implementing Client-Server 170

Implementing Peer-to-Peer 182

Summary 196

Review Questions 197

Additional Reading 197

Chapter 7: Latency, Jitter, and Reliability 199

Latency 200

Jitter 204

Packet Loss 206

Reliability: TCP or UDP? 207

Packet Delivery Notification 209

Object Replication Reliability 221

Simulating Real-World Conditions 228

Summary 230

Review Questions 231

Additional Readings 232

Chapter 8: Improved Latency Handling 233

The Dumb Terminal Client 234

Client Side Interpolation 236

Client Side Prediction 238

Server Side Rewind 248

Summary 249

Review Questions 250

Additional Readings 251

Chapter 9: Scalability 253

Object Scope and Relevancy 254

Server Partitioning 260

Instancing 262

Prioritization and Frequency 263

Summary 263

Review Questions 264

Additional Readings 264

Chapter 10: Security 265

Packet Sniffing 266

Input Validation 270

Software Cheat Detection 271

Securing the Server 274

Summary 277

Review Questions 278

Additional Readings 278

Chapter 11: Real-World Engines 279

Unreal Engine 4 280

Unity 284

Summary 287

Review Questions 288

Additional Readings 288

Chapter 12: Gamer Services 289

Choosing a Gamer Service 290

Basic Setup 290

Lobbies and Matchmaking 294

Networking 298

Player Statistics 300

Player Achievements 305

Leaderboards 307

Other Services 308

Summary 309

Review Questions 310

Additional Readings 310

Chapter 13: Cloud Hosting Dedicated Servers 311

To Host or Not To Host 312

Tools of the Trade 313

Overview and Terminology 315

Local Server Process Manager 318

Virtual Machine Manager 324

Summary 333

Review Questions 334

Additional Readings 334

Appendix A: A Modern C++ Primer 337

C++11 338

References 339

Templates 341

Smart Pointers 343

STL Containers 347

Iterators 350

Additional Readings 351

Index 353

About the Author

Joshua Glazer is a cofounder and CTO of Naked Sky Entertainment, the independent development studio behind console and PC games such as RoboBlitz, MicroBot, Twister Mania, and more recently, the mobile hits Max Axe and Scrap Force. As a leader of the Naked Sky team, he has consulted on several external projects including Epic Games' Unreal Engine, Riot Games' League of Legends, THQ's Destroy All Humans franchise, and numerous other projects for Electronic Arts, Midway, Microsoft, and Paramount Pictures.

Joshua is also a part-time lecturer at the University of Southern California, where he has enjoyed teaching courses in multiplayer game programming and game engine development.

Sanjay Madhav is a senior lecturer at the University of Southern California, where he teaches several programming and video game programming courses. His flagship course is an undergraduate-level game programming course that he has taught since 2008, but he has taught several other course topics, including game engines, data structures, and compiler development. He is also the author of Game Programming Algorithms and Techniques.

Prior to joining USC, Sanjay worked as a programmer at several video game developers, including Electronic Arts, Neversoft, and Pandemic Studios. His credited games include Medal of Honor: Pacific Assault, Tony Hawk's Project 8, Lord of the Rings: Conquest, and The Saboteur-most of which had networked multiplayer in one form or another.


"For any aspiring game programmer, this book is a must read! Glazer and Madhav are some of the best at explaining these critical multiplayer concepts. I look forward to their next book!" -ZACH METCALF, Game Programmer at Rockstar Games and USC Games Alum

Ask a Question About this Product More...
Write your question below:
How Fishpond Works
Fishpond works with suppliers all over the world to bring you a huge selection of products, really great prices, and delivery included on over 25 million products that we sell. We do our best every day to make Fishpond an awesome place for customers to shop and get what they want — all at the best prices online.
Webmasters, Bloggers & Website Owners
You can earn a 5% commission by selling Multiplayer Game Programming: Architecting Networked Games on your website. It's easy to get started - we will give you example code. After you're set-up, your website can earn you money while you work, play or even sleep! You should start right now!
Authors / Publishers
Are you the Author or Publisher of a book? Or the manufacturer of one of the millions of products that we sell. You can improve sales and grow your revenue by submitting additional information on this title. The better the information we have about a product, the more we will sell!
Item ships from and is sold by Fishpond World Ltd.
Back to top