Networking methods and problems (for a dissertation)

Started by
4 comments, last by redneon 18 years, 11 months ago
For my University dissertation I'm thinking of looking into the networking and multiplayer aspect of gaming. I'm going to write a simple game in JOGL or maybe C# DirectX and analyse the different ways of networking, the problems with each and look at possible solutions. Just in case you're wondering I chose Java or C# because the networking API for both languages is exceptional, not because I prefer managed code. Currently, I can think of looking into TCP/IP, IPX, NetBIOS but they're all IP based networks. I should probably also analyse synchronisation, reducing lag, working with differing frame rates... These are just ideas I'm pulling off the top of my head at the moment so I'm probably completely wrong. Can anyone suggest any books or articles I could look at or suggest what else might be worth looking into in this field? Thanks, redneon
Advertisement
What about the efficiency of data transfer? Like sending orientation data by way of quaternions, rather than vectors (less number of float data types to send). Or are you just looking at synchronization issues? In that case, there's also the problem of buffer overflow.... Such as to prevent the network buffer overflowing with positional data, the network message could be flagged to overwrite the last message of the same type (only the most recent character position is needed in most cases -- a little problem/solution my schoolmates and I ran into). And also marking some messages as priority (character died) vs. non-priority (character moved).
Game Developer magazine over the last 18 months (sorry, can't remember issue numbers!) has a series in four consecutive issues about some funky compression / encoding schemes specifically for games to send data. Well worth finding and reading.

If you want non-IP networks, go for ATM. About as big a contrast to IP as you can get.

redmilamber
I'd suggest reading the Forum FAQ. It has a bunch of pointers to where different approaches are explained.

However, if you expect to actually write more than one networked game and compare the implementations, I hope you have a lot of time time spare. Even writing a single networked game is a lot of work. If you want to analyze the performance of two separate implementations, you need to be sure that those implementations are both reasonably well tuned and debugged, else the analysis won't be all that useful. What's your plan for ensuring this?

My recommendation would be to find two games of similar genre (MMORPG, FPS, RTS, ...), and compare and contrast their approaches using available documentation on the games, and, where not available, characteristics that are externally observable (i e through packet sniffing).
enum Bool { True, False, FileNotFound };
http://www.phule.net/mirrors/unskilled-and-unaware.html
I was laughing for minutes! =D Was there an element of whimsy involved with that link hp?

"Why stupid people, think they're not stupid" By Dr. Kent Lynard of Berkley University.
The dissertation is going to be more of a research based project. Then what I'll probably do is make a game based on the outcome of the research, using what methods are "best" and such.

This topic is closed to new replies.

Advertisement