Joe Graf presented “Infinity Blade 2 ClashMob: Hacking the Social Graph” at Casual Connect 2012. What follows is Karl’s writeup of this session.

The Infinity Blade franchise has done very well. With their second instalment, they wanted to add a feature that provided large scale challenges that required thousands of participants to complete. Once completed, these challenges would reward the participants with some sort of in-game bonus – it could be game currency, an in-game item, etc. Basically, rewarding the player for being social.

The challenges are set up to be like mini-games, with goals like battling a boss, collecting loot, etc. These challenges also have a time limit, like 24 hours for example. How you participate in these challenges is one of the most interesting parts of ClashMob – players are rewarded for being social, and how Epic goes about this has a dramatic effect on the virality of the game.

The goals for this feature included:

  • Increasing retention
  • Increasing reach, awareness virality
  • Social interactions for participation
  • Liking, retweeting, etc is participation
  • Commenting as a living history

Epic found that liking (as in, ‘liking’ a wall post on Facebook, more on this later) was the mode of participating that was the most popular. There is a little more friction to commenting, so it was not as popular.

One of the problems with setting up brand pages on Facebook, is that according to Facebook, on average only 16% of brand page posts are actually seen. This is determined by Facebook’s Edge Rank algorithm, which Epic kept in mind while designing ClashMob. The factors that go into the edge rank of a page wall post include:

  • Affinity score: how interactive the fan has been with past content
  • Weight: based upon the type of interaction (share > comment > like)
  • Time decay: how long ago the post occurred

Since ClashMob interactions are Facebook likes and comments, they increase edge rank, and therefore increase reach. Some of their results since launching the feature:

  • Radically increased Infinity Blade’s Facebook Engagement Index
  • “Talking about” also increased
  • 87% of story impressions for non-app users
  • Increased Klout score

ClashMob uses Google App Engine for its backend, but what is really clever is how they leverage the social networks.

From within the game client, after signing in to Facebook* and/or Twitter (or if they are signed in to Twitter at the OS level) users can choose to participate in the challenge in up to three ways:

  • Liking a wall post on the Infinity Blade Facebook Brand Page’s wall
  • Commenting on a wall post (same post as above)
  • Retweeting a tweet from the Infinity Blade twitter account

One of the most impressive components of this approach is that it leverages the existing big social networks (Facebook, Twitter) that are built to handle many users, and many user interactions. Epic didn’t have to create a massive backend service, it simply piggy-backs on the established services, literally querying them periodically for like, comment, and retweet counts. Of course they also need to deliver post and tweet IDs to the game clients, however that is a fairly simplistic request.

Another very interesting feature of ClashMob is the ability for people who have not purchased the game to participate in the challenges. You can imagine how this alone increases the virality of the game, with no limitations placed on inviting other friends and connections to ‘help you out’.

Technical details of the implementation of this feature:

  • Backend gives post ID for a particular challenge to game client
  • HTTP GET method=post override to ‘like’ something from game client
  • Retweet a ClashMob tweet by POSTing to Twitter URL from game client
  • FB (back-end) setup:
    • Create Facebook App that does the posting
    • Create brand page for your product
    • Login as admin of the brand page
    • Grant the app permission to post as you
    • Query for accounts using the stored access token to get the access token for the page
    • Post to brand page using returned access token
    • Monitor post activity (periodically query)
  • Twitter setup:
    • Sign into the account that will send Tweets
    • Create app to send tweets
    • Set permissions read write
    • Create access token
    • Tweet ClashMob information as the account owner
    • Periodically query a ClashMob tweet for retweet counts

In conclusion, Epic designed and launched a feature for Infinity Blade 2 that effectively increased key social metrics that increased sales, reach, and longevity of the franchise.

What is quite curious is that Epic has chosen to apply for two patents(61/618,053 and 61/618,024) in the USA involving this feature, considering the controversy surrounding software patents.

You can find the original slides for this presentation here.

* It wasn’t mentioned, but likely they are using Facebook SSO, and in the future with iOS6 apps will be able to access Facebook credentials at the OS level