Advertisement

best library to start

Started by August 14, 2014 11:36 PM
0 comments, last by hplus0603 10 years, 3 months ago

hi.

i have a basic understanding of game network programing. i know about diffrence of tcp and udp. i know about client server and peer to peer and hybrid systems and...

but i want to start working on it practivally. i know for windows and other microsoft platforms like xbox there is directplay that is a part of directx. but i want to know what the best library or maybe you say libraries that are easy to start and are cross platform. i want to know what libraries developers on wii and ps work on. is it a part of their platform sdk?

thank you for helping me

The peer-to-peer versus client-server, and tcp-vs-udp, questions are generally about networking, not about game networking.
Game networking is the part that happens on top, where your particular game rules collide with the realities of the internet.
It largely has to do with planning your game rules very carefully to work around the fact that there will be latency, that is sometimes unpredictable.
Example player statements that show the problem:
"How could you shoot me; I had jumped behind that wall!"
"What do you mean the monster hit me before I cast the Freeze spell; I could see on my screen that I cast it first!"

There isn't really a library that does game rules at this level over a network, because how you implement this depends very much on how you choose to deal with the problem of latency.
Various game engines will have some kind of networking built in -- Unreal Engine 4, C4 Engine, Torque 3D, Source Engine, etc, all make different choices to various degrees.

DirectPlay is at least 10 years out of date, and was generally a bad idea even back when Microsoft still supported it.

The most common library used in networked games is likely the RakNet library, which just recently was open sourced -- yay!
You might want to start there. However, RakNet still doesn't solve the "how do I make my game rules work in a network with significant, variable latency" problem. That's up to you.
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement