Networking methods and problems (for a dissertation)
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
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).
- Devan::Voyage Games:: ::My Personal Blog:: ::Embedding the DirectX SampleFramework Into a UserControl::
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).
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.
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.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement