Disclosure: On this site you won’t find specific advice on “how to call function xyz()”. Interpreting C++ ARM and #pragma dwim is also out of scope.

We’re treating our readers as intelligent beings who can use Google and/or StackOverflow, where all such specific questions were answered more than once.

What you will find is opinions, more opinions, and even more opinions on all the aspects of software development - and with a large chunk of them based on real-world experience too.

Your mileage may vary. Batteries not included.

 

Part VI: TCP of 64 Network DO’s and DON’Ts for Multi-Player Game Developers

Quote: “In addition, if TCP_NODELAY is set, it MIGHT help to mitigate consequences of exponential backoff algorithm in case of lost packets.”
Another Quote: “All of us are seeing ‘hung’ HTTP connections on a regular basis – that is, when we’ve clicked a link, and the page loading is stuck forever.”
[]

Part V: UDP of 64 Network DO’s and DON’Ts for Game Engines

Quote: “In general, lag and jitter are not specific to UDP, and manifest themselves for absolutely any Internet connection.”
Another Quote: “If you need a globally-reachable server with single-digit-ms lag for all the players, it is simply not possible”
[]

Part IV: Great TCP-vs-UDP Debate of 64 Network DO’s and DONT’s for Game Engines

Quote: ““Why bother with UDP at all? The answer is simple: there is a price tag attached to the TCP goodies.”
Another Quote: ““Implementing your own reliable-delivery protocol over UDP is extremely complicated, time-consuming, and error-prone.”
[]

Part IIIb: Server-Side (deployment, optimizations, and testing) of 64 Network DO’s and DONT’s for Game Engines

Quote: “If your game is the only one working when all the competition is down, it improves user perception about your app a lot.”
Another Quote: “Most importantly, however, this approach allows to keep your players happy – and this is one thing which really matters”
[]

Part IIIa: Server-Side (Store-Process-and-Forward Architecture) of 64 Network DO’s and DON’Ts for Game Engines

Abstract: A Panegyric to Store-Process-and-Forward architecture
Quote: “With proper logging, in most cases a bug can be found from one single crash/malfunction.”
[]

Part IIb: Protocols and APIs (continued) of 64 Network DO’s and DON’Ts for Game Engine Developers

Quote: “You shouldn’t count on outsmarting all those millions of highly motivated hackers operating in an environment under their own control.”
Another Quote: “Burst consisting of several million packets, may start causing observable issues for a mid-size ISP.”
[]

Part IIa: Protocols and APIs of 64 Network DO’s and DON’Ts for Game Engine Developers

Quote: “While using framework is fine, forgetting about it is not.”
Another Quote: “Even if you’re forcing the auto-update every time the game app starts, there still are users who were online at the moment of the update, and those who found a way to bypass game updates”
[]