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.
做遊戲學python用python打造的遊戲雲
About me● yyhuang● a.k.a 黃小鴨● Game programmer of IGS (鈊象電子)
Scalable Game Cloud forMobile & Social Games
Game Cloud For...● Save all game records○ game progress○ level, exp, energy, ...○ virtual moneyHay Day - Supercell
Game Cloud For...● Play from any device○ PC○ iPhone○ iPad○ Android○ Windows Phone○ ...Puzzle & Dragons - GungHo
Game Cloud For...● Social feature○ invite friends○ messages○ gifts● Competition○ leaderboards○ tournamentsCandy Crush Sage...
Game Cloud Features
Login and Authentication● Facebook account● Auto generate ID from mobile hardware● Allow concurrent access or not
Communication Manager● HTTP-based communication○ apache + php○ wsgi○ gevent + bottle● Serialize/Deserialize messages○ amf○...
Communication Manager● Message sequence check○ Queue requests● Dispatch message to game servers○ RabbitMQ○ Python Queue mo...
Game Database● Usually interested in data of one player● NoSQL database○ Non-relational○ Key-value documents○ Easier to sh...
E-commerce Server● Real money to virtual money● Multiple currencies in game● Admin interface for setting up item price● Se...
Deployment● git● python package● boto for AWS control● salt○ deploy commands○ control commands
Architecture
Game Server Development
Games on our platform● Facebook games○ Airline Fantasy○ Billiard Ace● Mobile games○ 極速摩托○ 美髮玩家 1&2○ Slots Paradise
Libraries● Config loader○ Consistent config rules○ Environment check● Log libraries○ python logging○ syslog-ng● Database A...
Environment● VirtualBox○ Local development environment● Amazon EC2○ Development■ Feature test and verify○ Testing■ Version...
Development Process● Scrum○ agile○ iterative○ incremental● Split user story to the fundamental● Focus on the unknown probl...
Finally... Life Saver● unittest● pdb● cProfile● ... and git
Thank you● Q & A● Contact○ elmnhuang at gmail dot com
Upcoming SlideShare
Loading in …5
×

Building game cloud with python

1,240 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Building game cloud with python

  1. 1. 做遊戲學python用python打造的遊戲雲
  2. 2. About me● yyhuang● a.k.a 黃小鴨● Game programmer of IGS (鈊象電子)
  3. 3. Scalable Game Cloud forMobile & Social Games
  4. 4. Game Cloud For...● Save all game records○ game progress○ level, exp, energy, ...○ virtual moneyHay Day - Supercell
  5. 5. Game Cloud For...● Play from any device○ PC○ iPhone○ iPad○ Android○ Windows Phone○ ...Puzzle & Dragons - GungHo
  6. 6. Game Cloud For...● Social feature○ invite friends○ messages○ gifts● Competition○ leaderboards○ tournamentsCandy Crush Sage - King.com
  7. 7. Game Cloud Features
  8. 8. Login and Authentication● Facebook account● Auto generate ID from mobile hardware● Allow concurrent access or not
  9. 9. Communication Manager● HTTP-based communication○ apache + php○ wsgi○ gevent + bottle● Serialize/Deserialize messages○ amf○ json○ ...
  10. 10. Communication Manager● Message sequence check○ Queue requests● Dispatch message to game servers○ RabbitMQ○ Python Queue module● Callback interface for client○ Asynchronized○ Synchoronzied
  11. 11. Game Database● Usually interested in data of one player● NoSQL database○ Non-relational○ Key-value documents○ Easier to shard● MongoDB○ pymongo
  12. 12. E-commerce Server● Real money to virtual money● Multiple currencies in game● Admin interface for setting up item price● Separate logs
  13. 13. Deployment● git● python package● boto for AWS control● salt○ deploy commands○ control commands
  14. 14. Architecture
  15. 15. Game Server Development
  16. 16. Games on our platform● Facebook games○ Airline Fantasy○ Billiard Ace● Mobile games○ 極速摩托○ 美髮玩家 1&2○ Slots Paradise
  17. 17. Libraries● Config loader○ Consistent config rules○ Environment check● Log libraries○ python logging○ syslog-ng● Database API wrapper
  18. 18. Environment● VirtualBox○ Local development environment● Amazon EC2○ Development■ Feature test and verify○ Testing■ Version ready for release○ Release
  19. 19. Development Process● Scrum○ agile○ iterative○ incremental● Split user story to the fundamental● Focus on the unknown problem○ The best part of python
  20. 20. Finally... Life Saver● unittest● pdb● cProfile● ... and git
  21. 21. Thank you● Q & A● Contact○ elmnhuang at gmail dot com

×