Distributed systems

Wikipedia defines a distributed system as a “software system in which components located on networked computers communicate and coordinate their actions by passing messages.”

In modern world, more and more systems become distributed. Yet, surprisingly few authors write about practical architecture of distributed systems. As our Hare have architected all kinds of distributed systems, from a stock exchange to a billion-messages-a-day game, we’re in a very good position to fill this gap.

Unity 5 vs UE4 vs Photon vs DIY for MMO

February 22, 2016 by “No Bugs” Bunny

Three-way shootout: Unity vs UE vs Photon

Quote:

You can still use HLAPI despite its shortcomings

Another Quote:

If you're using one of the engines above (and not your own one), and your game requires Client-Driven Development Flow, you may want to start with a single-player Unity 5, or with a single-player UE4.

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

Read more

IDL: Encodings, Mappings, and Backward Compatibility

February 15, 2016 by “No Bugs” Bunny

signing IDL contract

Quote:

Modifying generated code usually qualifies as a Really Bad Idea

Another Quote:

How much can be gained by each of such specialized encodings – still depends on the game, but if you can try-and-test a dozen of different encodings within a few hours – it will usually allow you to learn quite a few things about your traffic (and to optimize things both visually and traffic-wise too).

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

Read more

MMOG. Point-to-Point Communications and non-blocking RPCs

February 8, 2016 by “No Bugs” Bunny

IP juggling between Client and Server

Quote:

In other words, you can write your code 'as if' all-your-code-within-the-same-FSM executed within the same thread

Another Quote:

As soon as we have these two parts of processing – we can say that our Server-to-Server communication is tolerant to all kinds of transient inter-server disconnects

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

Read more

MMOG: World States and Reducing Traffic

February 1, 2016 by “No Bugs” Bunny

Data Compression

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