🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Is this bad???!!!

Started by
11 comments, last by Ecko 23 years, 1 month ago
All''s kewl Ecko. It''s been an enjoyable thread.

There are other issues to consider when it comes to choosing messages for reliable and unreliable delivery as I descovered today after 3+ days of hair pulling and coffee drinking. But I will save them for another thread.

As for Tribes2 well, I''ll be trying that gaming experiance out properly from tomorrow.

As an experiment though. When you test out multiplayer games try and do it with the computers screens side by side (I work with two computers always so its easy for me). Its interesting how out of sync they can get and tribes I have to say is one of the most noticable (perhaps due to the use of TCP/IP). The thing is players don''t play with there computers next to each other, they don''t know what''s happening on other machines, so so long as what they see makes sense to them the gaming experiance is a good one!

>8P
Advertisement
Some things that need correction:
- Half-Life is not based on Q2 but on Q1 (yeah, I know, it doesn''t really matter); it still uses UDP of course, though the networking differs a lot from Q1 networking
- UDP headers are _not_ bigger than TCP headers. How did you get that strange idea? UDP headers are 8 bytes IIRC, TCP are around 16 bytes (not sure). This is quite obvious, because TCP needs additional data to keep track of packets.

UDP and TCP have no difference in speed unless there are packet drops. As soon as a packet gets lost, TCP looses speed because it needs to retransmit packets. Of course, if you build reliable UDP, you''ll also have to loose speed, but you can optimize it for your special application. You need to understand that most TCP implementations are optimized for throughput-connections like HTTP and FTP, and not for realtime applications where you can accept occasional packet drops as long as the other packets are received in time.

As for the parallel TCP and UDP connection... I really don''t know, I''ve never tried. However, I don''t really know what it would be good for unless you''re transferring huge blocks of data (like map files). The reason being that if a middle packet gets dropped with TCP, no subsequent packets will be deliverred to the program until the dropped packet is resent. This means you can''t optimize that well: for a reliable UDP connection, you could simply predict the gamestate with only the subsequent packets for a while, until the missing packet is retransmitted. This depends a bit on the type of game though.

cu,
Prefect

Resist Windows XP''s Invasive Production Activation Technology!
One line of sourcecode says more than a thousand words.
Widelands - laid back, free software strategy
Thanx for the corrections "Perfect."

My quotes were taken from verious internet based articles, including the one on Unreals website describing the problems they had developing there system. I guess they where wrong.

May I ask where your figures come from and do you have any recommended reading on and around this topic?

cheers,

>8)

This topic is closed to new replies.

Advertisement