Jump to content
  • Advertisement
Sign in to follow this  
SuperJman

Multiplayer Game Programming Bible?

This topic is 2582 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello GameDev,

It's been a while but I'm back with bigger aspirations than ever. I've recently devoured "Absolute C++" by Savitch, and I feel like I have a pretty intermediate grasp of C++ and programming in general. So I wanted to jump off into something a little more complicated, I chose multiplayer game programming. The articles listed in the FAQs for this form are great and all, but I'm more of a book person. So, I was wondering if there are any definitive multiplayer game programming books out there that I really wouldn't want to miss.

P.S. Multiplayer Game Programming by Todd Barron doesn't look half bad, but I'm still not sure.

Thanks for the help!
~SuperJman

Share this post


Link to post
Share on other sites
Advertisement

P.S. Multiplayer Game Programming by Todd Barron doesn't look half bad, but I'm still not sure.


See if your local library has anything, or can order it. That will save you some dollars :-)

Also, there's a college-level textbook called "networked virtual environments" by Singhal et al that goes over many of the basics.

Share this post


Link to post
Share on other sites
Hmm, "[color=#1C2837][size=2]networked virtual environments" seems like a pretty good candidate, but it was written in 1999. Technology has changed a whole lot since then, is it even still applicable for modern usage? I'll assume it is but still, if anyone has any more ideas I would greatly appreciate it!

Share this post


Link to post
Share on other sites

Hmm, "[color="#1C2837"]networked virtual environments" seems like a pretty good candidate, but it was written in 1999. Technology has changed a whole lot since then, is it even still applicable for modern usage? I'll assume it is but still, if anyone has any more ideas I would greatly appreciate it!


actually the relevant technologies for multiplayer games haven't changed much since the early 90's mostly it's just wireless that became more popular and internet got faster, but from the programmer's perspective none of that really matters unless you're writing drivers.


Share this post


Link to post
Share on other sites
[color="#1C2837"]
actually the relevant technologies for multiplayer games haven't changed much since the early 90's mostly it's just wireless that became more popular and internet got faster, but from the programmer's perspective none of that really matters unless you're writing drivers.[/quote]

[color="#1c2837"]Yes, a lot of the reviews said that, but at the same time the reviews said that a lot of the content in the book was pure theory, and that it's not really going to help you out unless you have a background in network programming, which I don't know much about.

Share this post


Link to post
Share on other sites

Hmm, "[color="#1C2837"]networked virtual environments" seems like a pretty good candidate, but it was written in 1999. Technology has changed a whole lot since then, is it even still applicable for modern usage? I'll assume it is but still, if anyone has any more ideas I would greatly appreciate it!


It is a textbook. It will give you a pretty good fundamental understanding of the various concepts involved -- anything from dealing with network loss, to lag compensation, to clock management, to the difference between state replication versus RPC. Those are basic principles of network programming, kind-of how threads, locking, pipes and shared memory are fundamental principles of multiprocessing operating systems. The specifics of how you deal with threads and locks (or sockets) may vary between APIs, but the fundamental abilities and limitations do not change.

So -- if you want a cookbook for "how to build a multiplayer game using today's hot technology" that talks about one specific way of doing something, then this is not the book. Even after reading this book, you probably also need to learn some particular socket API (Berkeley sockets/select, boost::asio, C# System.Net, Java aio, or some other API based on what your language/environment is)

Share this post


Link to post
Share on other sites

It is a textbook. It will give you a pretty good fundamental understanding of the various concepts involved -- anything from dealing with network loss, to lag compensation, to clock management, to the difference between state replication versus RPC. Those are basic principles of network programming, kind-of how threads, locking, pipes and shared memory are fundamental principles of multiprocessing operating systems. The specifics of how you deal with threads and locks (or sockets) may vary between APIs, but the fundamental abilities and limitations do not change.

So -- if you want a cookbook for "how to build a multiplayer game using today's hot technology" that talks about one specific way of doing something, then this is not the book. Even after reading this book, you probably also need to learn some particular socket API (Berkeley sockets/select, boost::asio, C# System.Net, Java aio, or some other API based on what your language/environment is)


Ahhh, yes after doing a little bit more research in network programming your advice makes a lot more sense (I lacked a basic understanding of how these things are connected). I'll take a look at the book and dig into some boost::asio tutorials then. Thanks for all the help!


Share this post


Link to post
Share on other sites

actually the relevant technologies for multiplayer games haven't changed much since the early 90's mostly it's just wireless that became more popular and internet got faster, but from the programmer's perspective none of that really matters unless you're writing drivers.

You'd be surprised. Epoll and IOCP are relatively new concepts. So a book written in say 1999 would not know about or cover those implementations and would probably use older alternatives. It's important to be aware of that when writing modern networking code.

Share this post


Link to post
Share on other sites

[quote name='ic0de' timestamp='1321676712' post='4885518']
actually the relevant technologies for multiplayer games haven't changed much since the early 90's mostly it's just wireless that became more popular and internet got faster, but from the programmer's perspective none of that really matters unless you're writing drivers.

You'd be surprised. Epoll and IOCP are relatively new concepts. So a book written in say 1999 would not know about or cover those implementations and would probably use older alternatives. It's important to be aware of that when writing modern networking code.
[/quote]
Any book recommendations that do cover those newer techniques?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!