Skip to content

sockjs mud article

Marek Majkowski edited this page Nov 1, 2011 · 7 revisions

Ponnies, Dragons and Socks

We were wondering how to present SockJS and its possibilities to a wider audience. Having a working demo is worth much more than explaining dry theory, but what can you present if you are just a boring technologist, with no design skills whatsoever?

With hard question like that it's always good to open a history book and review previous generation of computer geeks with no artistic skills, what were they doing? They were playing geeky computer games, and in the world of consoles and green text the MUDs (Multi User Doungens) had their time.

Hey, we can do that!

mud

So here it is, a rough and dirty, hacked together in an afternoon MUD! But it's aint a normal MUD, it's a unique one:

  • The world isn't exactly large, with five locations and 6 commands in total.
  • But it's an in-browser game, using SockJS underneath.
  • It's build using Django, and the state is handled using Django ORM.

So, forget the 21st century and dive in an ancient world of Dragons, at least for few minutes:

If you're interested in technology feel free to take a look at the sources. Also, as the project is using Django ORM you can take a look at Django Admin to see how the world is working under the hood.

Here's a diagram illustrating the architecture of this demo:

MUD architecture

As you can see it's quite simple, and it follows one of the recommended SockJS deployment models. It should be possible to horizontally scale it, although we haven't really tested that, frankly speaking, it's unlikely that there is a need.