The next big hurdles were player management and matchmaking. After considering a few different options, they went with an open-source messaging server called ejabberd — while it’s written in Erlang, a language that they said had some “crazy syntax” (they showed an inexplicable piece of code on the projection screen to make their point), it scaled very well and clustered the way they wanted it to.
It’s pretty amazing how ofter jabber gets used as a messaging protocol. I did some initial architecture work for a text based iPhone game, and quickly found that Ejabberd was going to make life a lot easier. I looked at Chesspark, an online chess playing community. They developed an Ajax jabber client based on the Strophe.js framework for gameplay and messaging. And by using an open protocol, they were able to leverage XMPP libraries on other platforms, and extend their gameplay onto theĀ Chess.com for iPhone, more easily. Ngmoco had a lot of the same ideas, the whole article is well worth the read.
