On.Programming

For most of us, programming (or more generally – software development) is all the life is about.

IT Hares are not different. And they have more than just quite a few bits to share about programming…

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

July 6, 2015 by “No Bugs” Bunny

TCP handshake performed by rabbits: SYN - SYN+ACK - ACK

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.

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more

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

June 29, 2015 by “No Bugs” Bunny

UDP: no warranties of any kind

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

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more

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

June 22, 2015 by “No Bugs” Bunny

Tug of War: TCP vs UDP

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.


Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more

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

June 15, 2015 by “No Bugs” Bunny

Menu: Java.Thread with a Side of synchronize, C++ boost:: Mignon, 3NF à la Codd, Ruby Thermidor

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

Filed under: On.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more