Live data from Hacker News

Is it just me or is networking really hard?

gafferongames.com

101–110 of 188 posts

Re: Is it just me or is networking really hard?

#101

I've written a series of articles about this topic: http://gabrielgambetta.com/fast_paced_multiplayer.html It's usually well received, perhaps because it builds the ideas from the ground up and does not include the words "What the fuck is wrong with you?" .

I'm usually allergic to rants, but I liked this one because it didn't attack anyone in particular and also had tons of technical evidence to back up its claims. Gaffer even helped out the OP in a big way by providing a solution to his problem. Basically a free consultation from a networking expert.

Re: Is it just me or is networking really hard?

#102

I sometimes ask the question "how does the internet work?" in interviews. The vague and wrong answers I hear are astonishing. I'm looking for a basic understanding of the layering of TCP, or RDP, or ICMP (or anything actually) on top of IP. I don't get that level of insight much. The people who do have that insight usually can go deeper -- slow-start, BGP, etc. I wonder if we have a modern version of C.P. Snow's mid-…

While I totally agree with your point, I think the problem goes both ways. A lack of understanding of science causes serious problems, especially when you look at policy making for example. However, there are plenty of scientists and engineers with completely wrong-headed ideas about social issues, history, and so on. I would argue there needs to be a lot more crossover: Liberal Arts majors should probably have to get through Chemistry, Physics, Calculus, Biology and Electronics, and STEM majors should probably have to get through (sorry, US-centric) Women's Issues, Western and World History, African-American studies, Introductory Constitutional Law, etc.

Re: Is it just me or is networking really hard?

#103
post #27

Earlier quoted context omitted.

> Do you know if there is a standard way of accomplishing this? Synchronizing clocks is one of the difficult problems in distributed computing. Games tend to avoid doing proper synchronization of clocks by working in discrete time steps (frames). Because games run at 15-60 frames per second (a bit more for simulators), you can get away with synchronizing the clocks to +/- a few frames, ie. an accuracy of tens of mill…

Sorry but that needs a rather large asterisk applied to it. In the current era of 120Hz LCD displays and a Billion dollar market for video games. It's becoming very evident that the "best", not in a AAA title sense, but in the 'so popular it becomes a sport with professional players" sense, games are those that have put a LOT more effort into the implications of their network synchronisation algorithms. Some game eng…

Very good point! Back in Quake 1 days, the gameplay framerate was only 15 frames per second, so a more crude mechanism would do.

I guess modern AAA games synchronize their clocks with an algorithm similar to what NTP is using. We're still talking about discrete time steps, though, so there's some tolerance for a little clock mismatch.

Re: Is it just me or is networking really hard?

#104
post #37

Earlier quoted context omitted.

Personally, I consider it very bad taste for you to sanctimoniously criticize Gaffer's tone to promote your own work. Sometimes a good rant is a very effective way to communicate. PS http://www.paulgraham.com/disagree.html

You are probably right -- it was bad taste. I got a bit annoyed by the tone of the article; I don't think personal insults have a place in a technical discussion. I taught Computer Graphics for several years, and I came across two kinds of students: uninterested, so no matter what you do they probably won't learn; and interested and trying hard but not understanding, in which case it's my responsibility as the teache…

Was there no third type of student: those who WERE understanding?

Re: Is it just me or is networking really hard?

#105
post #23

Earlier quoted context omitted.

To be fair, Gaffer's original articles are well written, thoughtful and informative too. This is him ranting about the unfounded, negative and incorrect feedback he's been receiving about them from people who are willfully ignorant about networking. He could or should have replied with less attitude and more facts, though. I understood what and why he's saying what he is, but I didn't enjoy the negativity either.

An explanation for a behavior is not an excuse for it. Likewise my synpathy for the frustrations that led to someone else's behavior don't make the behavior right.

Which specific behavior concerns you?

My only real complaint is that he's addressing a particular person here. In his shoes I would have anonymized the source of the text and maybe blended material from a few different people. I'd rather the individual didn't accidentally recognize their words.

Other than that, I think I'm ok with people making exasperated rants. For those of us who actually understand the topic or have experience of teaching, I think a rant like this can at least be funny, and often can be cathartic. One shouldn't howl at the noobs, but howling at the moon seems fine by me.

I think it's also helpful for novices to see the occasional bile-dump like this. The question comes across to me as kinda lazy. The querent never really took the time to understand the core technologies and instead just spent a few months implementing broken stuff. But rather than think it through, he just waves away an expert answer as "kind of silly". A piece like this can help novices see how frustrating and self-defeating that kind of laziness is. I know I've benefited from seeing others get roasted for mistakes I could well have made.

Re: Is it just me or is networking really hard?

#107
Not every game is critical to network latency. Not every game is tolerant to packets loss. If those 4-8 players in the game are playing 3-dimension virtual reality poker, TCP or even HTTP will work just fine.

I have read the original thread, and the author says somewhere in the comment, “it is likely to be similar to that you would see in something like Diablo II. Players exist in a world, attack enemies and interact with NPCs (including trading).”

Which makes the article irrelevant to the original question. Games like Diablo 2 are not real-time; they can usually use TCP just fine.

Re: Is it just me or is networking really hard?

#109
post #37

I've written a series of articles about this topic: http://gabrielgambetta.com/fast_paced_multiplayer.html It's usually well received, perhaps because it builds the ideas from the ground up and does not include the words "What the fuck is wrong with you?" .

Personally, I consider it very bad taste for you to sanctimoniously criticize Gaffer's tone to promote your own work. Sometimes a good rant is a very effective way to communicate. PS http://www.paulgraham.com/disagree.html

This is not one of them. Frankly, unless you have a reason NOT to use TCP (and a very good one is realtime lossy communication), don't try to implement your own damn custom protocol on top of UDP that's just going to be a shittier TCP. This doesn't mean that TCP is perfect, but if you want lossless communication you will PROBABLY be happier there.

If I'm writing a chess game, I could easily just stream the text format of the games over an IRC channel. Many things, including games, don't necessarily need high bandwidth or low latency over consistency.

But the attitude is definitely not warranted.

Re: Is it just me or is networking really hard?

#110
post #37

Earlier quoted context omitted.

Personally, I consider it very bad taste for you to sanctimoniously criticize Gaffer's tone to promote your own work. Sometimes a good rant is a very effective way to communicate. PS http://www.paulgraham.com/disagree.html

Hmmmm. https://en.wikipedia.org/wiki/The_pot_calling_the_kettle_bla...

At least make sure your accusation is true before making it.
Post reply on HN