XNA vs C++ WinSock2

Started by
4 comments, last by Matt-D 11 years, 6 months ago
Hey there,

I've recently been given a university assignment to create a small online game, now I haven't done any network programming before but I have been researching into it but I can't make a decision if I should use XNA or C++ and use the WinSock2 libraries, also DirectPlay is an option, but with it not being supported since 2004 I don't think it would be a good idea.

So I have 6 weeks to go from knowing what a socket is to create a small Server-Client or Peer-to-Peer game, what would you guys recommend? Could you point me to any decent tutorials which combine Game Development with Network Programming? What kind of steps did you guys take in my position?

any advice is welcome as I'm completely new at this.

Thanks!
Advertisement
If you want C++, try using an existing library like RakNet or Enet.

Last I checked XNA, the networking part only worked on Xbox for Gold customers, and only in development mode on Windows.
enum Bool { True, False, FileNotFound };
Whats RakNet and Enet like compared to WinSock2 for creating a simple game? is it alot more supported, will I be able to find alot more tutorials online?
Enet doesn't have many tutorials, RakNet has a few tutorials.

The problem with WinSock is that 90% of the tutorials are pretty bad -- written for old versions of Windows, written by people who are just starting out and don't know the system, written in the same-old "here's how to send HELLO and here's how to receive it" style that helps nobody get a real application working.

If you need a working game, then you're going to have a lot of different problems to solve, and solving all the packet format and data marshaling problems that E-net or RakNet already solve for you isn't going to make it go any faster.
enum Bool { True, False, FileNotFound };
If you're not intending on moving large scale, Python offers a quick platform independent solution. it has its pitfalls, but it may be suited for what you're doing. The socket module offers all the functionality you need, alongside many marshalling / serialising libraries.
Boost.Asio has a pretty friendly tutorial: http://www.boost.org...o/tutorial.html

See also "Networking and Multiplayer FAQ": http://www.gamedev.net/index.php?app=forums&module=forums&section=rules&f=15

This topic is closed to new replies.

Advertisement