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.
5. What Do the Top Grossing Games Have in Common?
Top Grossing Apps Sort By: Bestsellers
1. 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 Center
6. 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
13. 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
14. Server Side Code
class HighScore < ActiveRecord::Base
field :user
field :score, :type => :integer
def self.leaderboard(lim=10)
order('score desc').limit(lim).all
end
end
class 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
end
end
15. Client Side Code //Android - POST - Send data to cloud
client = new HttpClient();
url = "http://reInventGameDemo.elasticbeanstalk.com/high_scores.json";
params = new HttpParams();
params.add("user", "nate");
params.add("score", "9999");
response = client.execute('POST', url, params);
16. Client Side Code - GET - Retrieve data from Cloud
client = new HttpClient();
url = " http://reInventGameDemo.elasticbeanstalk.com/leaderboard.json";
response = client.execute('GET', url);
scores = JSON.parse(response);
17. Add Friends 1 5 FB API
2
Response from FB 6
7 Post to server
https://github.com/facebook/facebook-ios-sdk
3
4
Elastic Beanstalk container