Getting Started with Multiplayer

Started by
7 comments, last by capn_midnight 23 years, 6 months ago
How can I get started with multiplayer programming? I know, I bet you get a ton of posts like this. I suppose I could search the internet, but whenever I do that, the hits I get aren''t very good. Basically I have no idea where to start, and just need a little push in the right direction. I can probably figure it from there. Thanks shut up CAN I GET A WOO WOO!

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]

Advertisement
I'd start off by reading up on WinSock. There's a tutorial on this site to get you started with it. Or, you could also get a book (though I haven't seen any really good ones).

Also, Advanced 3D Programming With DX7 has a chapter on UDP network coding you should look at.

Edited by - The Senshi on October 7, 2000 11:42:09 AM
If your familar with windows programming, jump on the msdn.microsoft.com website, goto the libraries section and look up either VS6, VC++, reference, MFC, CSocket or Platform SDK, Networking, Network Protocols, Win Sockets2 (depending on whether you want a C++ or C type approach)
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Inside DirectX has a really easy to understand chapter about DirectPlay. People say that Winsock is better that DirectPlay (I don''t doubt it), but at least DP is really easy to use (probably Winsock too!)
Eduardo García SacristánProgrammer. UbiSoft Spainegarcia@ubisoft.es
Maybe it''s just me, but I consider that sending data is just that ... sending stuff. So what''s the difference between sending packets in a game, and in a chat program ? So maybe start with something as simple as sending text over a network, with a client/server system, with a peer to peer system, etc ...
the graphics would then be a layer on top, for later.
Of course, this approach doesnt take into account the fact that in a game, the sending packets should be unnoticed, otherwise you get lag. But optimizing and creating a system are two different things, so I wouldnt worry too much right now.
Anyway, that''s my two cents ...

Yes, using DP is probably easier than learning Winsock, but do you want to learn something ? Then do it the hard way

youpla :-P
-----------------------------Sancte Isidore ora pro nobis !
DirectPlay is the way to go.

At first, I used WinSock and did my own, which is OK, but not very good in big projects.

Then I used CAsyncSocket with MFC which is a little better, but then you''re using MFC.

DirectPlay does it all, and best of all, it does most of the stuff by itself.
Has DirectPlay improved? I was under the impression that in the past it was more trouble than it was worth...
Well, if you can wait till next June or so, my book on multiplayer game development will be released.

It covers Winsock, DirectPlay, DirectDraw, DirectSound, and DirectInput.

You can visit www.lostlogic.com for some more information.

But, until then I would try out DirectPlay if you can stomach it. It is more difficult in some ways but it does handle a lot of the overhead. Personally I use both. For non massively multiplayer games I use DirectPlay. For massively multiplayer game design (aka Ultima Online) I use sockets for the total control.

If you go with sockets try TCP/IP first and then UDP. Neither one is absolutely better per se. You really have to experiment and decide which is better for a particular application.

Check out the docs that come with DX7. There are some good DirectPlay examples in there.

webmaster@lostlogic.com
Hello. Any comments would be greatly appreciated.
I''m working on a 3D pong-esque game(really groundbreaking stuff ) and I was going to make it multiplayer over the internet evetually.
In the meantime I plan on making it a one person game against an AI opponent in the hopes that all I''ll need to do is swap the AI code with the input coming from the internet. I really don''t know squat about sockets or Dplay, but hope this works. Is this approach naive? Am I going to sh*t myself trying to do this?
Thanks

This topic is closed to new replies.

Advertisement