I am needing to have a communications structure that will be able to hold up to a potential of (maybe) a couple hundred people. It probably won''t get that high very much, but the potential (stressed out to the max) is sort of there. I am thinking that the overhead of Direct Play won''t handle this but I have never done anything with it. I''ve been looking at just doing it in Winsock but it seems a bit intimidating. Of course, I have been programming in Java and it has been a while since I did anything in C/C++, so the whole thing seems pretty intimidating. What do you all think about this, I can''t seem to find anything on the performance specs for Direct Play, anyone know where to look for specs on the thing?
If you can''t win, make sure the one that beats you breaks the record!
some feedback: depending on the type of game (fps, or like rpg) and your server connection would you need to worry about which way to program this. Well, when speed is not key and you don''t like to bother with reinventing the wheel, learning directplay is for you, but it''s still NOT easy.
Well, I don''t know about statistics, but from what I go by... (what microsoft reps said at gamedev). That you can get all the features of directplay on and it will cost about (rough) one more Kb a second for everyone in the session in order to run the game at the same speed compared to writing the application from winsock with good optimization.
again, if speed is not key, and you don''t want to port code, directplay is the answer.
Whenever you are concidering making a massive multiuser environment, you need to concider many things. Most important is the server solution. I would not recommend DirectPlay for any server based environment. Your server needs to be up and stable for a long time, and having a windows based server solution may not be the way you want to go.
Though I''ve not used Direct Play before, from what was said eariler about the overhead of direct play i would advise against it. There are 2 reason for this :
-platform independnce : direct play locks you into supporting windows only. Some suggested wrapping direct play into your own network protocols, but then you would support both direct play and winsock! 2x the work for no gain since you would have to reimplement all the features which you use on direct play under winsock anyways.
-overhead : as someone has stated in the previous post and in other posts, fully features direct play would add about 1kb / sec and minimally it would add about 17% overhead. If your planning to support 100''s of players, thats an enourmous overhead hit per player, for both server and client. Modem clients would choke on the higher overhead as they have a maximum bandwitdh of around 2kb per second, and you arn''t guarrentted that much constantly.
Winsock is portable if you take some precautions, and avoid the windows specific function calls and incompatiable function behavior (which is documented). It''s arcahic to use, but there are only a few functions you really need to know. This basic primmer will get you started check out :