Now Australia's Biggest Toy Shop

We won't be beaten by anyone. Guaranteed

Multiplayer Game Programming

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