Serving Suggestion.

March 6, 2014 11:09 PM

9½ years ago I rudely forced Shim to write a Flash front end to my insane multi-threaded high performance (1000 moves per second, 15,000 simultaneous users) web-based game engine.

Sadly, two days ago, the machine that provided the connection between Shim's client and my server was switched off - forever.

Fortunately, back in the mists of time, Shim had made two excellent decisions:

Firstly, although the spec required the server address be hard-wired into the client, he made it sneakily overridable by a config string (handy for debugging).

Secondly, he didn't put a limit on the size of the <session> tag we used to identify sessions. When we built the system, my server tracked sessions with a GUID; nowadays we've all got a bit more bandwidth - so why not just send the session itself?

So - 9½ years later - with absolutely no changes to Shim's code - we were able to quietly switch out the back end.

Obviously, I had to rudely trick m'colleague Martyn into doing all the hard work necessary to completely change the way the engine worked - so as of today it's no longer running on a single server hidden in the back of a broom cupboard, but rather it's distributed over an entire array of vastly powerful machines.

You still need Flash to play the game, of course. Re-writing the entire server and writing a new client would be a lot of work.

Still crazy after all these years …

copyright ©1998-2017 Sean D. Sollé.