Jump to content

  • Log In with Google      Sign In   
  • Create Account

TCP vs UDP


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 cerberus   Members   -  Reputation: 122

Like
Likes
Like

Posted 23 August 1999 - 10:15 AM

Any thoughts on which protocols work best for different types of games?

Sponsor:

#2 Zenroth   Members   -  Reputation: 127

Like
Likes
Like

Posted 09 August 1999 - 07:24 PM

Well i do have a few ideas on that question.
Generally tcp is to slow to use on alot of games(e.g real time stratagy,FPS,and a few others) Now where tcp is used is like on starcraft transfering the map to another player. Also you can get away with it in turned based games and probally most rpg's (not sure on that thue). Anyways i belive in a mix of the two. Use tcp for msg's that you cant afford to be loss or maybe for setup data/maps ect. Use upd for the guts of the networking code. But like i said this depends on the game. Hope that helps.

#3 DavidRM   Members   -  Reputation: 270

Like
Likes
Like

Posted 10 August 1999 - 07:36 AM

We use TCP for our game, Artifact. It's a multi-player, online-only, real-time strategy game.

We don't use UDP at all currently. We may start using it to handle game chatter (where order of arrival is nearly irrelevant) some day, but so far TCP has worked quite well for us.

Despite what you read, it's not a "cut-and-dried" question. It may have been at some point, but I have no idea when that was. We've been using TCP exclusively for 3 years without significant issues.

Whether you use TCP or UDP, it's up to you to optimize your use of the connection bandwidth. The protocol will impact your lag far less than you do.

------------------
DavidRM
Samu Games
http://www.samugames.com


#4 cerberus   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 August 1999 - 07:52 AM

I read somewhere that Qtest (precursor to Quake) used TCP, but Carmack and Co. deemed it too slow and switched to a UDP model. I wrote UDP code for a multiplayer space arcade-type game, and had all sorts of problems with dropped packets, i.e. my local client would fire a torpedo, but the peers wouldn't see it, etc. For my upcoming project, I'll probably use TCP or a mix of TCP and UDP...though the latter might be too complex...sockets programming can be confusing enough with ONE type of socket =)

Thanks for the replies, btw...great forum, great website.


#5 Slide   Members   -  Reputation: 122

Like
Likes
Like

Posted 10 August 1999 - 10:26 AM

So long as you dont use Direct Play you should be okay

Seriously, I'd consider utilising a mixture of the two, UDP for the majority of the traffic, and TCP for those has to get there in one piece type messages (players chat for a start, not so time critical but it shouldn't be garbled).

With proper design at the start, your game should be playable even with a large amount of packet loss and definately responsive...

Point to note, if you are using UDP make sure not to transmit individual messages larger than 500 (cant remember exact size) bytes otherwise they WILL get fragmented. Make small messages stand alone.


#6 dloob   Members   -  Reputation: 122

Like
Likes
Like

Posted 23 August 1999 - 10:15 AM

UDP is the most probable choice in most games. In all recent FPS, it's UDP only. In StarCraft, it's only UDP during the game, but if you go on battle.net, you'll have TCP becos TCP is better for chating and stuff. I havent seen a recent game use in game TCP, so I would say UDP is best, is more universal. TCP might be good for a very specific type of game, say, a slow, non realtime type of thing.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS