做遊戲學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,108 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,108
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×