MIGS 2012 - ClashMobs

697 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
697
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MIGS 2012 - ClashMobs

  1. 1. Infinity Blade 2 ClashMob: Hacking the Social Graph Joe Graf MIGS November 14, 2012
  2. 2. About This Talk• Introduction• ClashMob social impact• How ClashMob works
  3. 3. About Me• Worked at Epic Games over 9 years• Primarily focused on online features for our games and engine• Sr. Online Architect at Epic
  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
  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 the game too – “Like”-ing a ClashMob post on the Infinity Blade page – Retweeting a ClashMob tweet• In Infinity Blade 2, comprised of mini-games
  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
  7. 7. ClashMob Social Impact• Measuring success – How many people used the feature? – How many used the social aspects? – Did the social interactions help?
  8. 8. Infinity Blade and Infinity Blade 2 DAU ClashMob launches IB2 DAU IB1 DAU Month21Launch3 Months4 Months5 Months6 Months Months
  9. 9. ClashMob Social Interactions14%12%10% 8% 6% 4% 2% 0% Like Comment Retweet
  10. 10. 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. 11. 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. 12. ClashMob Effect on FEI60.00%50.00%40.00% Daily FEI30.00% Weekly FEI 28 Day FEI20.00%10.00% 0.00% 41038 41042 41046 41050 41054 41058 41062 41036 41040 41044 41048 41052 41056 41060 41064
  13. 13. 7 Day FEI on June 7, 201235.00%30.00%25.00%20.00% FEI15.00%10.00% 5.00% 0.00% Infinity Blade Halo Call of Duty Angry Birds Apple Microsoft Google Jaguar
  14. 14. Brand Page Reach – Pre ClashMob Ad campaign ClashMob launches
  15. 15. Brand Page Reach – Post ClashMob
  16. 16. Impressions for Non-App Users • Click to edit Master text styles – Second level – Third level • Fourth level – Fifth level
  17. 17. ClashMob Affect on Twitter
  18. 18. Klout’s Analysis of High Klout Scores
  19. 19. ClashMob Communication Paths Google App Engine HTTPS
  20. 20. ClashMob Communication Paths Google App Engine
  21. 21. Server to Facebook Integration
  22. 22. 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
  23. 23. 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
  24. 24. 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" } ], }
  25. 25. 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" }
  26. 26. 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 }}
  27. 27. Server to Twitter Integration • Click to edit Master text styles – Second level – Third level • Fourth level – Fifth level
  28. 28. 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
  29. 29. Twitter Integration Setup• Click to edit Master text styles – Second level – Third level • Fourth level – Fifth level
  30. 30. Server to Twitter Integration1. Tweet ClashMob information as the account owner2. Periodically, read the Tweet to get retweet counts
  31. 31. 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, } }
  32. 32. 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 }
  33. 33. ClashMob Communication Paths Google App Engine
  34. 34. ClashMob Step by Step Get ClashMob List Google App Return visible events Engine
  35. 35. ClashMob Step by Step
  36. 36. ClashMob Step by Step Get ClashMob List Google App Return visible events Engine Enroll in ClashMob Push Notification of Start
  37. 37. ClashMob Step by Step
  38. 38. ClashMob Step by Step Get ClashMob List Google App Return visible events Engine Enroll in ClashMob Push Notification of Start Send Player Contribution Return Global Progress Push Notification of Completion
  39. 39. ClashMob Step by Step
  40. 40. ClashMob Step by Step Get ClashMob List Google App Return visible events Engine Enroll in ClashMob Push Notification of Start Send Player Contribution Return Global Progress Push Notification of Completion Claim Reward
  41. 41. ClashMob Communication Paths Google App Engine
  42. 42. Facebook Like Support
  43. 43. 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>
  44. 44. Twitter Retweet Support
  45. 45. 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
  46. 46. Facebook Comment Support
  47. 47. 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>
  48. 48. My Mob Pulled from Facebook & Game Center on iOS Bonuses for friends Call to action
  49. 49. Gifting in My Mob
  50. 50. Summary• We’ve discussed what ClashMob is• We’ve seen that ClashMob has extended our brand’s reach yielding impressions outside of our core community• We’ve talked about how we integrate the game server with social networks• We’ve talked about how to integrate social networks into the game client
  51. 51. Infinity Blade 2 ClashMob:Hacking the Social GraphSpecial thanks to:Donald & Geremy Mustard Joe GrafChAIR EntertainmentWes Hunt Epic Games, Inc.Josh Markiewicz Twitter: @EpicCogEric NewmanIan Thomas Patent pending: 61/618,053 & 61/618,024Sam Zamani

×