Adrian's Reviews > Multiplayer Game Programming: Architecting Networked Games
Multiplayer Game Programming: Architecting Networked Games (Game Design)
by
by
![99910490](https://images.gr-assets.com/users/1670997349p2/99910490.jpg)
Adrian's review
bookshelves: 2022, distributed-systems, realtime-systems, software-architecture, webdev
Nov 18, 2022
bookshelves: 2022, distributed-systems, realtime-systems, software-architecture, webdev
** spoiler alert **
Stuff i liked:
Great work explaining the networking OSI model.Probably best material i have read in all my technical years (including the dedicated course in university). The physical, link layer , NAT, NIC , headers all explained so nice with a lot of examples and pictures.
Great at explaining state machines , the lower level of networking in a game , Berkeley sockets , streams, checksums, retry packet strategies bandwidth etc...
Great work on expalining how to reduce traffic by using entropy prediction for the state of the game !
Superb work at explaining strategies to mitigate latency, jitter using interpolation, extrapolation and many other techniques.
Really appreciated that the book included a section on what it means for a game to have intrgrated game services (for example Steam) , anticheat strategies and moving to cloud
The stuff i didn't grok:
Though the book was deep in many aspects it jumped ahead and raced exactly when having to explain how does one manage partitioned world state in a MMORPG like World of Warcraft, how do you provide fallbacks and how do you distribute players across geograhpyically distributed servers.
I get that game programming is done mostly in C++ but i found it many times cumbersome to read the code samples with the pointers and all that stuff. I think pseudocode or any other high level language would have worked, or even more diagrams. Its ok to read a class containing 1-3 mrthods , but when the sample is pages long C++ will be in your way (if you are not a cpp dev)
Some sections included too much code and a too deep dive where i think it wasn't necessary.
I would say this book is great for starters into Networked Games, but beyond that when you have some experience i would use carefully selected chapters of this book as refrences.
Good book all in all !
Great work explaining the networking OSI model.Probably best material i have read in all my technical years (including the dedicated course in university). The physical, link layer , NAT, NIC , headers all explained so nice with a lot of examples and pictures.
Great at explaining state machines , the lower level of networking in a game , Berkeley sockets , streams, checksums, retry packet strategies bandwidth etc...
Great work on expalining how to reduce traffic by using entropy prediction for the state of the game !
Superb work at explaining strategies to mitigate latency, jitter using interpolation, extrapolation and many other techniques.
Really appreciated that the book included a section on what it means for a game to have intrgrated game services (for example Steam) , anticheat strategies and moving to cloud
The stuff i didn't grok:
Though the book was deep in many aspects it jumped ahead and raced exactly when having to explain how does one manage partitioned world state in a MMORPG like World of Warcraft, how do you provide fallbacks and how do you distribute players across geograhpyically distributed servers.
I get that game programming is done mostly in C++ but i found it many times cumbersome to read the code samples with the pointers and all that stuff. I think pseudocode or any other high level language would have worked, or even more diagrams. Its ok to read a class containing 1-3 mrthods , but when the sample is pages long C++ will be in your way (if you are not a cpp dev)
Some sections included too much code and a too deep dive where i think it wasn't necessary.
I would say this book is great for starters into Networked Games, but beyond that when you have some experience i would use carefully selected chapters of this book as refrences.
Good book all in all !
Sign into Goodreads to see if any of your friends have read
Multiplayer Game Programming.
Sign In »
Reading Progress
September 30, 2022
– Shelved
September 30, 2022
– Shelved as:
to-read
October 3, 2022
–
Started Reading
October 6, 2022
–
5.0%
"OSI layers explained like never before ! I finally understood how each layer abstracts over the other and where protocols like Ethernet , Wifi fit in.
The explanation for packet switching opposed to circuit switching in networks similar to how browsers now hold only 1 connection active and multiplex packets from different destinations was marvellous ! Finally grok-ed TCP ! Great stuff here !"
The explanation for packet switching opposed to circuit switching in networks similar to how browsers now hold only 1 connection active and multiplex packets from different destinations was marvellous ! Finally grok-ed TCP ! Great stuff here !"
October 12, 2022
–
10.0%
October 14, 2022
–
10.0%
"Terrific job at explaining the Network stack. For example the layers that in university are just mentioned here i rlly got a feel on how Ethernet protocol (link layer) translates packets to underlying hardware layer (coaxial).
Then i finally understood that in order to connect two hosts that use different link layers you need an abstraction layer on top , which is the network layer.
So grateful for this book !"
Then i finally understood that in order to connect two hosts that use different link layers you need an abstraction layer on top , which is the network layer.
So grateful for this book !"
October 31, 2022
–
14.0%
"This book does a terrific job explaining how tcp/udp datagrams are sent from one server in one subnetwork to another server on another subnetwork showing along the way in baby steps what everything means and its purpose : NIC, NAT, WAN, LAN !
Superb !"
Superb !"
November 15, 2022
–
53.0%
November 18, 2022
– Shelved as:
2022
November 18, 2022
– Shelved as:
webdev
November 18, 2022
– Shelved as:
software-architecture
November 18, 2022
– Shelved as:
realtime-systems
November 18, 2022
– Shelved as:
distributed-systems
November 18, 2022
–
Finished Reading