Live data from Hacker News

Is it just me or is networking really hard?

gafferongames.com

31–40 of 188 posts

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

#31
post #16

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?" .

Thanks very much for this, these are great articles. It seems one would need some way of synchronizing clocks (or measuring the lag between server and client). Do you know if there is a standard way of accomplishing this?

I've used this technique[0] successfully in a networked minesweeper game I made ages ago. Wikipedia lists more algorithms[1].

[0] http://www.mine-control.com/zack/timesync/timesync.html

[1] https://en.wikipedia.org/wiki/Clock_synchronization

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

#33
post #29
post #9

[deleted]

Wow, so many downvotes. Why is it considered non-constructive to point out a misleading title? The title is the first impression of an article, and most likely the authors are not aware of that ambiguity.

I didn't downvote, but calling that a misleading title is... misleading.

Bias by profession is probably at play here, and it works the other way around: if I found a title titled "networking is hard" dealing with professional/social networking, I'd be confused at first too. I wouldn't call it misleading though, which is probably what triggered the downvotes.

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

#34
post #2

Reading this one could think you would be a fool to use TCP, yet some games (such as World of Warcraft) use TCP exclusively with no problems... What gives?

i forgot where i read this, but WoW is a bit of a special case because several issues were just circumvented through game design.

example 1: there's no collision detection between players, i.e. you can block neither PCs nor NPCs. players blocking each other wouldn't have been possible with TCP at all.

example 2: you don't aim and fire and hit/miss shots due to timing and precision (twitch) - you select a target and execute an action which is sent to the server which will roll a die to see the outcome. it was fairly usual for the early game to break down when a lot of players congregated in a small area (hogger or tarren mill, anyone?), where an instant spell took several seconds to execute and PCs were teleporting around (after running into a wall for several seconds) constantly because their positioning updates took too long. but because of the style of the gameplay this still worked well enough in most situations.

what i want to say is that wow worked around TCPs performance issues by adjusting the game design. i can't fathom the reason for this - it might have to do with their focus on low hardware and connectivity requirements (for countries with unreliable connections). but even then i don't see why TCP would have been the better choice.

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

#36

I'm thinking to add online multiplayer to my game: http://store.steampowered.com/app/363670 ...so this was very interesting read. I investigated a little bit, and found that there are more protocols than just pure UDP, and now I can't decide which one to try. I narrowed it down to these three: * PCC http://modong.github.io/pcc-page/ * NORM http://www.nrl.navy.mil/itd/ncs/products/norm * ENet over UDP http://enet.besp…

ENet is precise, bug-free and easy to use. There is a python version [0] as well which I find usefull server-side. Love it.

[0] https://github.com/aresch/pyenet

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

#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

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

#38
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

Funny. If you are loved on hn, you can treat other people like shit (and berate them). Pg is not a god and it makes the community look hypocritical and stupid.

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

#39
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-twentieth-century two cultures lament. https://en.wikipedia.org/wiki/The_Two_Cultures. That's the complaint that educated humanities folks don't know the basics of science.

Are we miseducating our so-called "full-stack" engineers by not offering them a basic understanding of telecom? Or are they not listening?

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

#40

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-…

Or is it just not very important? Obviously, from your line of questioning, you think it is. But for the majority of software developers who only work on CRUD web apps, is it at all necessary to know this sort of stuff?
Post reply on HN