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…

MMOG. RTT, Input Lag, and How to Mitigate Them

January 25, 2016 by “No Bugs” Bunny

The game of Client-Server

Quote:

For fast-paced games, there is one big problem with the flow shown on this diagram, and the name of the problem is “latency” (a.k.a. 'input lag')

Another Quote:

No, better bandwidth doesn't necessarily mean better latency

Filed under: Book: D&D of MOGs1st beta of Vol. I-III1st beta of Vol. VII-IXOn.System ArchitectureDistributed systemsOn.ProgrammingNetwork ProgrammingOn.SecurityFraud Prevention

Read more

MMOG Server-Side. Programming Languages

January 18, 2016 by “No Bugs” Bunny

C++ sitting on two chairs

Quote:

From the 50'000-feet point of view, 90% of the differences between modern mainstream programming languages (as they're normally used - or better to say, SHOULD be used - at application-level) are minor or superficial.

Another Quote:

On the server side (unlike client-side) protection from bot writers is not an issue (as server-side code is never exposed to players)

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.ProgrammingProgramming Languages

Read more

Asynchronous Processing for Finite State Machines/Actors: from plain event processing to Futures (with OO and Lambda Call Pyramids in between)

January 11, 2016 by “No Bugs” Bunny

Juggling with Futures

Quote:

With 'callback pyramid' it is not easy to express the concept of 'wait for more than one thing to complete' , which leads to unnecessary sequencing, adding to latencies (which may or may not be a problem for your purposes, but still a thing to keep in mind).

Another Quote:

Don't even think of converting all of your code to a so-called Continuation-Passing-Style

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System Architecture(Re)ActorsOn.ProgrammingProgramming Languages

Read more

Client-Side. On Debugging Distributed Systems, Deterministic Logic, and Finite State Machines

December 7, 2015 by “No Bugs” Bunny

Finite State Machine, Hare Style

Quote:

After your logic has failed in production, you can “replay” this inputs-log on your functionally identical in-house system, and the bug will be reproduced at the very same point where it has originally happened.

Another Quote:

You can implement your Finite State Machine as a deterministic variation of a usual event-driven program

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureDistributed systems(Re)ActorsOn.ProgrammingDebugging

Read more