0
Server Side
Game Development
is hard!
Too many front end platforms
-ios
-android
-browsers
-flash
Session is evil
-Can not scale
Long polling
-Socket programming
-Protocols
-Ups!
Database?
-Read/Write is small
-Not a good idea to use MySQL+Memcache
-NoSQL shines
Write your own server?
Not a good idea
Open Source alternatives
-Reddwarf Server (Project Darkstar)
Buy a good one?
-Smartfox Server
http://www.smartfoxserver.com/
Smartfox Server
The good
-Less code via listener based API
-Client API’s, no need for socket programming
-Stable
-Out of t...
Smartfox Server
The bad
-2500 Euro / server / year
-Not a Free Software
Smartfox Server
The Ugly
- Does not scale!
What others do?
Social Game
-Zynga
-King.com
-Wooga
MMO’s
-EA Games
-Blizzard
Wooga Open Source
- https://github.com/wooga Wooga Github
- Pocket Island - HTML5 game (Ruby, NodeJS)
https://github.com/w...
NoSQL is your friend
-Redis
-Memcache
-MongoDB
-Hazelcast
-CouchDB
-Riak
-Cassandra
Wooga
-Diamond Dash (4.6M DAU)
-Monster World
-Bubble Island
-Brain Buddies (LAMP)
LAMP
-Brain Buddies, Bubble Island
-Nginx instead of Apache
-MySQL is fast enough
Rails World
Monster World
- Started with Rails - MySQL
-Not so useful, Farming games are not arcade
games
-Switched to Red...
Magic Land
- No DB is faster than no DB
- S3, Erlang
- Erlang Workers, S3 used for records
- Stateful development is compl...
Rails Again
Pearls Peril
- Rails, Redis (High score, Metadata, etc), Riak
(All other stuff)
Problems
Software is easy, data is hard
-Redis
No backup, No slave
-AWS
Fast to create instance, it fails sometimes, Slow
...
Alternatives
Write your own server
- NodeJS
- Java NIO, Akka, Netty
- Erlang, Scala
Questions?
Server side game_development
Upcoming SlideShare
Loading in...5
×

Server side game_development

1,218

Published on

General server side game development concepts, why it is hard, what to use as server etc.

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

No Downloads
Views
Total Views
1,218
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Server side game_development"

  1. 1. Server Side Game Development is hard!
  2. 2. Too many front end platforms -ios -android -browsers -flash
  3. 3. Session is evil -Can not scale
  4. 4. Long polling -Socket programming -Protocols -Ups!
  5. 5. Database? -Read/Write is small -Not a good idea to use MySQL+Memcache -NoSQL shines
  6. 6. Write your own server? Not a good idea
  7. 7. Open Source alternatives -Reddwarf Server (Project Darkstar)
  8. 8. Buy a good one? -Smartfox Server http://www.smartfoxserver.com/
  9. 9. Smartfox Server The good -Less code via listener based API -Client API’s, no need for socket programming -Stable -Out of the box HTTP tunneling
  10. 10. Smartfox Server The bad -2500 Euro / server / year -Not a Free Software
  11. 11. Smartfox Server The Ugly - Does not scale!
  12. 12. What others do? Social Game -Zynga -King.com -Wooga MMO’s -EA Games -Blizzard
  13. 13. Wooga Open Source - https://github.com/wooga Wooga Github - Pocket Island - HTML5 game (Ruby, NodeJS) https://github.com/wooga/Pocket-Island - Lots of Ruby-Erlang-Redis-JS stuff - Wooga SlideShare http://www.slideshare.net/wooga
  14. 14. NoSQL is your friend -Redis -Memcache -MongoDB -Hazelcast -CouchDB -Riak -Cassandra
  15. 15. Wooga -Diamond Dash (4.6M DAU) -Monster World -Bubble Island -Brain Buddies (LAMP)
  16. 16. LAMP -Brain Buddies, Bubble Island -Nginx instead of Apache -MySQL is fast enough
  17. 17. Rails World Monster World - Started with Rails - MySQL -Not so useful, Farming games are not arcade games -Switched to Redis, now it rocks! Happy Hospital -Rails - Redis cluster -Fast enough but Redis is not RDB -Redis problems as main DB
  18. 18. Magic Land - No DB is faster than no DB - S3, Erlang - Erlang Workers, S3 used for records - Stateful development is complex - Open sourced most of the erlang stuff used for this game in github StateFul
  19. 19. Rails Again Pearls Peril - Rails, Redis (High score, Metadata, etc), Riak (All other stuff)
  20. 20. Problems Software is easy, data is hard -Redis No backup, No slave -AWS Fast to create instance, it fails sometimes, Slow IO on EBS -JRuby Helps a lot as Concurrency libraries are great for threading in Java World
  21. 21. Alternatives Write your own server - NodeJS - Java NIO, Akka, Netty - Erlang, Scala
  22. 22. Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×