UDP programming

Started by
12 comments, last by GameDev.net 24 years, 3 months ago
That article, "The Internet Sucks", is a collection of mistakes made by an amateur team with a big budget to burn through while they figured out that while they might know LAN-programming, they don't know diddley about the Internet. So they get pissed at the Internet. Because, after all, if the Internet *didn't* suck, they wouldn't have to learn anything new about it.

Nearly every mistake listed and assertion made further underscores that they made what I like to call an Ultima Online Mistake (for the record, that's a mistake made in public that could have been avoided simply by asking the guy over there who knows the answer; or, to put it another way, "Ask the MUD community how to create an online game? Heh. As if. Look, all they have is a bunch of scrolling text...some of it with color...what could they *possibly* know about creating and maintaining an online multi-player universe?").

My projects so far have used TCP exclusively, but I'm considering a hybrid setup for the next one. My only real problem with TCP is that (as I understand it) a path is chosen at the beginning and it never recalculates. So even if there is a faster path from client to server *now*, it will continue to use the path it calculated earlier. Get rid of that, move more people onto 56K modems (or better), and I'm happy. =)

------------------
DavidRM
Samu Games

Advertisement
TCP doesn't choose a routing path and stick with it. TCP sends IP packets and lets the routers handle the path for the packets. When a new faster path from client to server opens up, the routers will (hopefully) use the new route. And then usually packets arrive out of order, as newer packets use the faster route and arrive first, and TCP chokes for a while until it resyncs. Oh, and sometimes packets get dropped while the routers choose new routes. Actually sometimes it seems that packets get dropped if you look at the router funny.

IPv6 was designed to provide better support for real-time by including a flowlabel. This implies better ordering of packets, which would make TCP less prone to choking on a packet out of order problem. However, the TCP protocol is not currently being revised for IPv6. IPv6 is a revision of the OSI Layer 3 protocol, while TCP is a OSI Layer 4 protocol.

Hello.
I need info about UDP programming, especially about not losing any data.

Thanks in advance, josef

What I was refering to with IPv6 is what you mentioned. The TCP protocol has to benefit from this enhancement even though it is not yet optimized for it.

As far as DavidRM is concerned, I agree totally with him. I can remeber reading the posts Origin put on the net about how to handle link dead death situations and determining if it was a legal death.(ie did the player intentionally drop link to save his ass or was it lag) I remember thinking that there had to be no staff on the programming team at Origin that had any background in internet games, let alone MUDs. Funny thing is this, EQ is just a mud with a pretty interface. I hear there is even a text version of EQ out there. Here's to hoping all those years of dedicated MUD programming all of a sudden gives me a skill that is hot in demand as the corporate types realize the power in the internet that I have known about since 1988.

Worse was the staff at E-Boutique or Babbages spewing out that Origin would fix the lag issues in its game and promising it would get better. This coming from Origin's sales people only told me that they had no clue about internet programming. Lag is inherent to the architecture of the internet and not you nor I nor Al Gore can ever fix it without uprooting the whole network worldwide. (not even sure that would work)

Kressilac

I am hoping the flow label will help reduce the additional overhead in TCP.

[This message has been edited by kressilac (edited December 22, 1999).]

Derek Licciardi (Kressilac)Elysian Productions Inc.

This topic is closed to new replies.

Advertisement