Infinity Blade 2 ClashMob: Hacking the Social Graph          Joe Graf
About Me• Worked at Epic Games over 9 years• Primarily focused on online features for our  games and engine• Sr. Online Ar...
About Infinity Blade 2• Franchise introduced in December 2010• Franchise has grossed > $30 million• Infinity Blade 2   – 1...
About Infinity Blade 2• Franchise introduced in December 2010• Franchise has grossed > $30 million• Infinity Blade 2   – 1...
About ClashMob• Large scale challenge requiring thousands to  complete• Everyone that participates receives the reward• Bo...
Goals for ClashMob• Increase our player retention   – Give them a reason to come back again and again• Increase reach, awa...
ClashMob           7
ClashMob Social Rewards                          8
ClashMob Social Rewards                          9
ClashMob Social Participation                                10
Facebook Edge Rank• Determines whether a post appears in a user’s feed   – Only 16% brand page posts are actually seen• Ba...
Facebook Engagement Index (FEI)• Uses the “talking about” counts as a percentage of  total “likes” for the page• Measures ...
ClashMob Affect on FEI                         13
FEI Comparison          7 Day FEI on June 7, 2012                                      14
Brand Page Reach – Pre ClashMob Launch       Ad campaign                        ClashMob launches                         ...
Brand Page Reach – Post ClashMob Launch                                          16
ClashMob Impressions for Non-App Users                                         17
ClashMob Affect on Twitter                             18
Klout’s Analysis of High Klout Scores                                        19
Infinity Blade and Infinity Blade 2 DAU                                          20
ClashMob Communication Paths                               Google App                               Google App            ...
ClashMob Communication Paths                               Google App                               Google App            ...
ClashMob Facebook “Like” Support• To “like” a ClashMob post, the client issues a web  request with the post’s ID   – The I...
ClashMob Facebook “Comment” Support• Commenting is similar to creating a post, but to a  specific post ID    https://graph...
ClashMob Twitter Retweet Support• The Twitter API is RESTful so the game retweets a  ClashMob tweet by POSTing to an URL w...
ClashMob Communication Paths                               Google App                                 Engine              ...
ClashMob Server Facebook Integration                                       27
ClashMob Facebook Brand Page Post Setup1.   Create a Facebook App that does the posting2.   Create a brand page for your p...
ClashMob Server Facebook Brand Page Post1. Query for accounts using our stored access token   to get the access token for ...
ClashMob Server Facebook Brand Page Post1. Query accounts   https://graph.facebook.com/me/accounts?access_token=<stored to...
ClashMob Server Facebook Brand Page Post2. Post to brand page  https://graph.facebook.com/<page id>/feed?method=post&     ...
ClashMob Server Facebook Brand Page Post3. Monitor post activity            https://graph.facebook.com/163584600328189_462...
ClashMob Server Twitter Integration                                      33
ClashMob Server Twitter Integration Setup1. Sign into the account that will send Tweets2. Create an application to send Tw...
ClashMob Server Twitter Integration Setup                                            35
ClashMob Server Twitter Integration1. Tweet ClashMob information as the account owner2. Periodically, read the Tweet to ge...
ClashMob Server Twitter Integration1. Post tweet to account feed       https://api.twitter.com/1/statuses/update.json?    ...
ClashMob Server Twitter Integration2. Read a ClashMob tweet for retweet counts        https://api.twitter.com/1/statuses/s...
Summary• We’ve seen that ClashMob has increased our player  retention• We’ve seen that ClashMob has extended our reach  yi...
Questions?Special thanks to:Donald & Geremy Mustard                 Joe GrafChAIR EntertainmentWes Hunt                   ...
Upcoming SlideShare
Loading in …5
×

Infinity Blade 2: Hacking the Social Graph

1,766 views

Published on

Seattle Casual Connect 2012 talk on social features in Infinity Blade 2

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,766
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Infinity Blade 2: Hacking the Social Graph

  1. 1. Infinity Blade 2 ClashMob: Hacking the Social Graph Joe Graf
  2. 2. About Me• Worked at Epic Games over 9 years• Primarily focused on online features for our games and engine• Sr. Online Architect at Epic 2
  3. 3. About Infinity Blade 2• Franchise introduced in December 2010• Franchise has grossed > $30 million• Infinity Blade 2 – 15 Perfect Scores – More than 20 Game of the Year Awards• “Simply put, you need this game” --G4TV.com• “An iOS Masterpiece” --Touch Arcade 3
  4. 4. About Infinity Blade 2• Franchise introduced in December 2010• Franchise has grossed > $30 million• Infinity Blade 2 – 15 Perfect Scores – More than 20 Game of the Year Awards• “Simply put, you need this game” --G4TV.com• “An iOS Masterpiece” --Touch Arcade 4
  5. 5. About ClashMob• Large scale challenge requiring thousands to complete• Everyone that participates receives the reward• Bonuses given for social elements – Friends that play – “Like”-ing a ClashMob post on the Infinity Blade page – Retweeting a ClashMob tweet• In Infinity Blade 2, comprised of mini-games 5
  6. 6. Goals for ClashMob• Increase our player retention – Give them a reason to come back again and again• Increase reach, awareness, and virality• Use social interactions to participate – Retweeting a ClashMob tweet – “Like”-ing the ClashMob post on the brand page – Recording your participation as a comment 6
  7. 7. ClashMob 7
  8. 8. ClashMob Social Rewards 8
  9. 9. ClashMob Social Rewards 9
  10. 10. ClashMob Social Participation 10
  11. 11. Facebook Edge Rank• Determines whether a post appears in a user’s feed – Only 16% brand page posts are actually seen• Based upon 3 criteria – 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• ClashMob interactions increase edge rank and therefor increase reach 11
  12. 12. Facebook Engagement Index (FEI)• Uses the “talking about” counts as a percentage of total “likes” for the page• Measures how “engaged” your customers are with your brand on Facebook• Engagement increases the number of impressions 12
  13. 13. ClashMob Affect on FEI 13
  14. 14. FEI Comparison 7 Day FEI on June 7, 2012 14
  15. 15. Brand Page Reach – Pre ClashMob Launch Ad campaign ClashMob launches 15
  16. 16. Brand Page Reach – Post ClashMob Launch 16
  17. 17. ClashMob Impressions for Non-App Users 17
  18. 18. ClashMob Affect on Twitter 18
  19. 19. Klout’s Analysis of High Klout Scores 19
  20. 20. Infinity Blade and Infinity Blade 2 DAU 20
  21. 21. ClashMob Communication Paths Google App Google App Engine Engine HTTPS 21
  22. 22. ClashMob Communication Paths Google App Google App Engine Engine 22
  23. 23. ClashMob Facebook “Like” Support• To “like” a ClashMob post, the client issues a web request with the post’s ID – The ID is given to the client by our backend server – We use HTTP GET with method=post override https://graph.facebook.com/163584600328189_462261520460494/likes? method=post& access_token=<user’s access token> 23
  24. 24. ClashMob Facebook “Comment” Support• Commenting is similar to creating a post, but to a specific post ID https://graph.facebook.com/163584600328189_462261520460494/comments? method=post& access_token=<user’s access token>& message=<URL encoded message> 24
  25. 25. ClashMob Twitter Retweet Support• The Twitter API is RESTful so the game retweets a ClashMob tweet by POSTing to an URL with an ID https://api.twitter.com/1/statuses/retweet/225319026107228160.json 25
  26. 26. ClashMob Communication Paths Google App Engine 26
  27. 27. ClashMob Server Facebook Integration 27
  28. 28. ClashMob Facebook Brand Page Post Setup1. Create a Facebook App that does the posting2. Create a brand page for your product3. Login as an administrator of the brand page4. Grant the app permission to post as you https://www.facebook.com/dialog/oauth?client_id=<app id>& scope=publish_stream,offline_access,read_stream,manage_pages& response_type=tokenExample response https://www.facebook.com/#access_token=AAABmbm...MUZD&expires_in=0 28
  29. 29. ClashMob Server Facebook Brand Page Post1. Query for accounts using our stored access token to get the access token for the page2. Post to brand page using returned access token3. Periodically, read likes and comment counts to update global participation state 29
  30. 30. ClashMob Server Facebook Brand Page Post1. Query accounts https://graph.facebook.com/me/accounts?access_token=<stored token>Example JSON results { "data": [ { "name": "Infinity Blade", "access_token": " redacted ", "category": "App page", "id": "163584600328189", "perms": [ "ADMINISTER", … "BASIC_ADMIN" ] }, { "name": "Infinity Blade II", "access_token": " redacted ", "category": "Application", "id": "300673636660678" } ], } 30
  31. 31. ClashMob Server Facebook Brand Page Post2. Post to brand page https://graph.facebook.com/<page id>/feed?method=post& access_token=<page token>& message=<message text>Example JSON results { "id": "163584600328189_462261520460494" } 31
  32. 32. ClashMob Server Facebook Brand Page Post3. Monitor post activity https://graph.facebook.com/163584600328189_462261520460494Example JSON results{ "id": "163584600328189_462261520460494", "message": "ClashMob: Destroy 27K Plated Sorok to win 10,000 Gold! Like this post to kill an extra Sorok!", "type": "status", "created_time": "2012-07-17T20:00:15+0000", "likes": { "data": [ { "name": "Joe Graf", "id": "635667972" }, { "name": "Chris Mielke", "id": "100000378321704" } ], "count": 5344 }, "comments": { "count": 3600 }} 32
  33. 33. ClashMob Server Twitter Integration 33
  34. 34. ClashMob Server Twitter Integration Setup1. Sign into the account that will send Tweets2. Create an application to send Tweets3. Set the app permissions to read and write4. Create an access token for the app 34
  35. 35. ClashMob Server Twitter Integration Setup 35
  36. 36. ClashMob Server Twitter Integration1. Tweet ClashMob information as the account owner2. Periodically, read the Tweet to get retweet counts 36
  37. 37. ClashMob Server Twitter Integration1. Post tweet to account feed https://api.twitter.com/1/statuses/update.json? include_entities=true& status=<OAuth encoded tweet>Example JSON results { "id": 203261300, "name": "Infinity Blade", "followers_count": 31248, "created_at": "Fri Oct 15 22:05:09 +0000 2010", "verified": true, "statuses_count": 1054, "lang": "en", "status": { "created_at": "Wed Jul 18 16:00:50 +0000 2012", "id": 225621159272656900, "text": "ClashMob: Deal as much ...! Retweet to do 2,500 DAMAGE now! #infinityblade", "retweet_count": 953, } } 37
  38. 38. ClashMob Server Twitter Integration2. Read a ClashMob tweet for retweet counts https://api.twitter.com/1/statuses/show.json?id=223172555035508740Example JSON results { "created_at": "Wed Jul 11 21:50:58 +0000 2012", "id": 223172555035508740, "text": "ClashMob: Combine gems in the Gem Forge to create powerful, rare gems! …#infinityblade", "source": "<a href="http://infinitybladegame.com/" rel="nofollow">Infinity Blade II</a>", "user": { "id": 203261300, "id_str": "203261300", "name": "Infinity Blade", "screen_name": "InfinityBlade", "followers_count": 31248, "listed_count": 463, "created_at": "Fri Oct 15 22:05:09 +0000 2010", "verified": true, "lang": "en", }, "retweet_count": 984 } 38
  39. 39. Summary• We’ve seen that ClashMob has increased our player retention• We’ve seen that ClashMob has extended our reach yielding impressions outside of our core community• We’ve talked about how to integrate social networks into the game client• We’ve talked about how we integrate the game server with social networks 39
  40. 40. Questions?Special thanks to:Donald & Geremy Mustard Joe GrafChAIR EntertainmentWes Hunt Epic Games, Inc.Josh Markiewicz Twitter: @EpicCogEric Newman Patent pending:Ian Thomas 61/618,053 & 61/618,024Sam Zamani 40

×