4 ms·
The entire article makes me shudder in disbelief. It's aimed at people who don't know the difference between UDP and TCP (and possibly wet string). Yet he rec
by rstuart4133 10y ago
The entire article makes me shudder in disbelief.
It's aimed at people who don't know the difference between UDP and TCP (and possibly wet string). Yet he recommends they implement their own reliably protocol over UDP, and they avoid TCP because it's better to implement your own QoS?
Why not add obtaining PhD in quantum mechanics just to round it out? It wouldn't alter the odds of pulling it off overly.
- coffeeaddicted 10y agoYou don't have to invent a protocol when using UDP, you can still use a library like enet or raknet which already do that for you. And if it's the better choice it's the better choice and it's not something a programmer can't learn to do.
- user5994461 10y agoAgree. For people who are not familiar with TCP and UDP, the answer should be to ALWAYS use TCP. The only exception is some subset of games (FPS, RTS), that this article is exclusively intended for. Even there, for the average user who just wanna make a test game project, TCP may be easier to use and program around. For simple games (e.g. Connect 4), TCP is a better option either way.
- theWatcher37 10y agoIn the article he clearly states this is for things like syncing physics in BF4 or halo.
- greyskull 10y agoIt's framed in the context of building networking for action games that are sensitive to networking. Fourth paragraph: The choice you make depends entirely on what sort of game you want to network. So from this point on, and for the rest of this article series, I’m going to assume you want to network an action game. You know games like Halo, Battlefield 1942, Quake, Unreal, CounterStrke, Team Fortress and so on.
- exDM69 10y agoRegardless of the target audience, his point stands. Don't use TCP for "real time" games because when packet loss hits, TCP will make things worse by stopping to transmit later packets and then resend the old data which is now out of date. It's definitely not an easy task for beginners, but these days you can pick up his library that implements this stuff. https://github.com/networkprotocol/libyojimbo https://github.com/networkprotocol/libyojimbo