Your SlideShare is downloading. ×
0
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Dot net in social gaming
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Dot net in social gaming

3,513

Published on

In this talk, I share some insight into how GameSys uses a polyglot stack evolving around .net to build our games and the different kind of scalability and big data challenges we have to face. …

In this talk, I share some insight into how GameSys uses a polyglot stack evolving around .net to build our games and the different kind of scalability and big data challenges we have to face.

The recording of the talk can be found on SkillsMatter website : http://skillsmatter.com/podcast/home/dotnet-in-social-gaming8207/js-1603

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,513
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. .Net in Social Gamingby Yan Cui @theburningmonk theburningmonk.com
  • 2. Name : Yan CuiIndustry : Social Gaming
  • 3. • Social Gaming division of GameSys• .Net backend (mostly)• Amazon Web Services
  • 4. • Top 30 grossing FB apps!• F# slots engine
  • 5. Architecture Highlights
  • 6. • Clients  Flash  iOS (objective-C & Lua)
  • 7. • Web Servers  Written in C#  WCF with custom AMF binding  Hosted in Amazon EC2
  • 8. • Messaging  Amazon SQS  Distributed  Highly scalable  Unordered delivery
  • 9. • Monitoring  Method exec time/count  Error count  AOP to capture performance metrics  Amazon CloudWatch
  • 10. • Slots Engine  Written in F#  The ‘brain’  Enforces game rules and maths model
  • 11. • Persistence  Hot data  Cold data
  • 12. Considerations
  • 13. • Ease of use/maintenance• Cost• Speed• Ability to handle size• Ability to handle volume of transactions• Eventual/Strong consistency• Replication• ...
  • 14. Choices (just to name a few...)
  • 15. So many considerations...so many choices...
  • 16. Different data = different requirements
  • 17. Different data = different requirements
  • 18. Polyglot Persistence!
  • 19. • Amazon SimpleDB• Amazon DynamoDB• CouchBase• Amazon S3• MySql via Amazon RDS• Google High Replication Data Store• Google Cloud Storage
  • 20. Scalability Challenge
  • 21. • 150 million requests/day  15x StackOverflow!
  • 22. • 10s of GBs of analytics data/day  Google BigQuery  A/B testing
  • 23. • 2500 requests / second  100+ commodity servers  Stateless servers
  • 24. • 15K IO ops / second  Protocol-Buffer  5x faster than BinaryFormatter  60% smaller payload
  • 25. Where F# comes in
  • 26. Special Symbol CollectablesAvg Wager Size Wager Size Web Server call
  • 27. • Line Win  X number of matching symbols on adjacent columns  Positions have to be a ‘line’  Wild symbols substitute for other symbols
  • 28. • Scatter Win  X number of matching symbols anywhere  Triggers bonus game
  • 29. What’s the player’s What symbols should land? new avg wager? What lines did the player bet on? How much did the player wager? Did the player win anything? Any special symbol wins? Should the player receive collectables?
  • 30. State representation
  • 31. New avg wager Got a Collectable! A pay line win!
  • 32. Bonus Game!Betting small reduces avg wager!
  • 33. Use collectables
  • 34. Representing Monopoly board
  • 35. Collected in the bonus game. Gives player extra ‘lives’. And a pay line win! Houses = multiplier on wins GAME OVERCoin size broughtover from main game
  • 36. Thank You! @theburningmonktheburningmonk.com
  • 37. Bingo.nethttp://apps.facebook.com/ilovebingoSuper Fun Townhttp://apps.facebook.com/superfuntownJackpot Joy Slotshttp://apps.facebook.com/jackpotjoyslotsLucky Gem Casinohttp://apps.facebook.com/luckygemcasinoJackpot Joy Casinohttp://apps.facebook.com/jackpotjoycasino

×