On.System Architecture

System Architecture (and it’s subfield Software Architecture) is a discipline which is surprisingly poorly covered. In a sense, it is still more an art than a science, and usually requires somebody intimately familiar with practical systems, to tell what’s to do and what’s to avoid when building a system.

IT Hares have lots of experience in both Software Architecture and more general System Architecture, and are trying to share their knowledge (and more importantly, their feelings) about them.

MMOG: World States and Reducing Traffic

February 1, 2016 by “No Bugs” Bunny

MMOG: World States and Reducing Traffic - Post preview image

Quote:

In practice, for most classical RPGs you can get away with simulating each of your PCs and NPCs as a box (parallelepiped), or as prism (say, hexagonal or octagonal one)

Another Quote:

Mathematically speaking, without Interest Management, the amount of data on our servers will need to send (to all players combined), is O(N^2). Interest Management reduces this number to O(N)

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureDistributed systemsOn.ProgrammingNetwork Programming

Read more

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

January 25, 2016 by “No Bugs” Bunny

MMOG. RTT, Input Lag, and How to Mitigate Them - Post preview image

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

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

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

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

MMOG Server-Side. Eternal Linux-vs-Windows Debate

January 4, 2016 by “No Bugs” Bunny

MMOG Server-Side. Eternal Linux-vs-Windows Debate - Post preview image

Quote:

Each server is only as secure as its admin

Another Quote:

For cheaper servers, the difference between Windows and Linux can eat as much as 50% of the server rental price (though for those servers which are more or less optimal price-performance-wise observed difference was closer to 20-30%).

Filed under: Book: D&D of MOGs1st beta of Vol. I-IIIOn.System ArchitectureRequirement analysisDesign decisions

Read more