Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GMG301 Building Mobile Games on AWS - AWS re: Invent 2012


Published on

The convergence of social gaming and mobile has changed the game for social game developers combining old and new challenges. Many mobile social game developers are leveraging AWS for their backend infrastructure because it allows them to execute in the face of these challenges. How can you reduce deployment time from weeks to hours? How can you build a back-end that can serve 10 users or 10,000,000 without failing or paying for what you’re not using? Come learn from us how to architect your mobile social game on AWS and change the game of mobile social deployment in your favor.

  • Be the first to comment

GMG301 Building Mobile Games on AWS - AWS re: Invent 2012

  1. 1. Market directions Focus on what matters Use cases
  2. 2. Mobile game developerEngine Unity Unreal Cocos2D CrytekMarketPlace Google Play iTunes Amazon AppstoreUsers
  3. 3. What Do the Top Grossing Games Have in Common?Top Grossing Apps Sort By: Bestsellers1. Rage of Bahamut 2. The Simpsons 3. Clash of Clans 4. Pandora Radio 5. Kingdom of Camelon Games Games Games Games Music Updated Sep17, 2012 Updated Oct 03, 2012 Updated Oct15, 2012 Updated Sep17, 2012 Updated Oct 03, 2012 Game Center6. DragonVale 7. Legend of Cryp… 8. Slotomania 9. Bejeweled Blitz 10. Poker by Zynga Games Games Games Games Games Updated Oct15, 2012 Updated Sep28, 2012 Updated Sep17, 2012 Updated Oct15, 2012 Updated Sep 25, 2012 Game Center Game Center
  4. 4. 1. dont-connect-to-a-backend/2.
  5. 5. Scale Automatically – Focus on the Game Cache Auto Scaling group Shard Availability Zone Availability Zone
  6. 6. Gather data — track events In-app purchase verification Analytics Asset delivery
  7. 7. Event Workflow 1 Persist on device 2 Upload to server and verify 3 Persist to DB 4 Auto backup to Amazon S3 Elastic Beanstalk container
  8. 8. Server Side Codeclass HighScore < ActiveRecord::Base field :user field :score, :type => :integer def self.leaderboard(lim=10) order(score desc).limit(lim).all endendclass Main < Sinatra::Base post /api/high_scores.json do HighScore.create_or_update(params[:user], params[:score]) end get /api/leaderboard.json do @high_scores = HighScore.leaderboard @high_scores.to_json endend
  9. 9. Client Side Code //Android - POST - Send data to cloudclient = new HttpClient();url = "";params = new HttpParams();params.add("user", "nate");params.add("score", "9999");response = client.execute(POST, url, params);
  10. 10. Client Side Code - GET - Retrieve data from Cloudclient = new HttpClient();url = "";response = client.execute(GET, url);scores = JSON.parse(response);
  11. 11. Add Friends 1 5 FB API 2 Response from FB 6 7 Post to server 3 4 Elastic Beanstalk container
  12. 12. Result?
  13. 13. IAP Verification Receipt 3 1 Initiate purchase 7 Unlock 2 Receipt 4 Verify Verified 5 6 Persist to DB Elastic Beanstalk container
  14. 14. Start Small — Tableau
  15. 15. As You Grow Amazon Elastic MapReduce Elastic Beanstalk container
  16. 16. Content Delivery 4 Push notification Create and upload asset 1 Artist Release Manager 5 Request 6 Deliver Release asset to distribution 2 3 Pushed to edge locations globally
  17. 17. Q&A
  18. 18. We are sincerely eager to hear your feedback on thispresentation and on re:Invent. Please fill out an evaluation form when you have a chance.