Sign in to follow this  
Oogst

Network programming book

Recommended Posts

I am looking for a good book on multiplayer game programming. I know that lots of such books exist, but which are any good? I could not find any recent threads on this topic. To give some specifics of what I am looking for: I am interested in the more conceptual level, like how to migrate to a new server if the player who is the server leaves, and how to handle if the new server immediately leaves when he is elected and the old server comes back a little bit later. Or how to get less lag (like by changing who decides what where, maybe?). Also interesting is how to work with routers being in the way and stuff like that. I am not really interested in actual code samples. I already know how basic concepts like client/server and dead reckoning work, so preferably something not too n00bish. I am a console game programmer, by the way, but I guess that does not matter much for which book is best. So, which book would be best for this kind of thing? Thanks in advance!

Share this post


Link to post
Share on other sites
For the higher level like that, you will probably do better by searching research. There has been research over the last 30 years covering many of those things. Unfortunately, this means looking for likely papers on Citeseer and similar places, and then using your local libarary to get access to the various publications to actually be able to read them, so it's a lot more work than just picking up a book.

Share this post


Link to post
Share on other sites
Through my old university I have access from home over the internet to almost all computer science papers, but I would much rather read a book. If I look for articles, I will be sure to miss a lot of subjects that a book might force on me. Also, I like to just read it in the train from front to back, without bothering to look for stuff. Are there any less advanced books that give a good overview of how to do multiplayer game programming?

Share this post


Link to post
Share on other sites
Quote:
Original post by Oogst
Through my old university I have access from home over the internet to almost all computer science papers, but I would much rather read a book. If I look for articles, I will be sure to miss a lot of subjects that a book might force on me. Also, I like to just read it in the train from front to back, without bothering to look for stuff. Are there any less advanced books that give a good overview of how to do multiplayer game programming?


You'll be out of luck. There's only a handful of books I've found to be rather dated, and the "forcing" aspect was all about some trivial optimizations, such as a full chapter on how to write a really really good allocator for something.

Clustering is not really a trivial subject, since it isn't really an implementation problem, but a design issue of how to distribute your resources over physically separate hardware and solving issues that arise.

Some MMO publishers have published or at least documented their solutions. Going through existing libraries may be helpful as well. ZeroC's Ice framework discusses (and proposes solutions) to almost all problems you'll encounter, from light-weight serialization to versioning, resource replication, administration persistence. It does not cover timing or reliability issues.

Spread toolkit is an accessible messaging framework which may offer some insight into a practical design of message-based architectures.

Forum FAQ lists several game engines, NEL uses standard service oriented approach and covers the RPC, as well as full-async AMI design.

And ultimately, there's a lot of application servers, mostly from enterprise world, which vary in approaches to scalability.

Then there's various distributed computing frameworks, but those tend to make assumptions which aren't viable. Either they aren't intended for real-time use, they assume reliable systems, or they are simply too focused on the nature of problems.

Quote:
Unfortunately, this means looking for likely papers on Citeseer and similar places


I'll second that. There's plenty of research, and also real-world examples on how things were done, examining widely different approaches to solving same problems.

Quote:
without bothering to look for stuff


That may turn out to be the biggest problem. The domain is somewhat limited, and to a degree closed. So the need for such global and front-to-back documents doesn't necessarily make it feasible to centralize the knowledge, simply because it covers far too many domains.

Share this post


Link to post
Share on other sites
So there is no single book that covers everything perfectly and I should also look things up in articles. Okay. But what then is the best book to be found? I travel a lot by train and I like reading books in the train, so I still want a book. :)

Share this post


Link to post
Share on other sites
If you're not already intimately familiar with the underlying protocols, "TCP/IP Illustrated" is essential reading. This may be worthwhile for the high-level concepts, but I haven't read it.

As others have suggested, you're not going to find good books specifically about what you mentioned in the original post. Perhaps mainly because there just isn't a large audience for it.

Share this post


Link to post
Share on other sites
I was asking about similar things and was given links to these two interesting articles:

http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php

http://www.gamasutra.com/view/feature/3374/the_internet_sucks_or_what_i_.php?page=1

While not books they contained couple of new tricks I had not known before.

I am also interested in multiplayer networking but from the 3d and protocol perspectives.

regards,
Tommi

Share this post


Link to post
Share on other sites
Yeah, I have read those two articles, quite nice. :)

Let's put it differently: what is the best book on network game programming, especially the conceptual level (so not too much code)? If there is not a perfect book, there has to a least be a book that is better than the others.

Share this post


Link to post
Share on other sites
Try Zyda's site. There is a course with free power point. Get his book if u want a hard copy.

http://gamepipe.usc.edu/~zyda/index.html

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this