Server side game_development
-
Upload
yekmer-simsek -
Category
Technology
-
view
1.013 -
download
0
description
Transcript of Server side game_development
![Page 1: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/1.jpg)
Server Side Game Development
is hard!
![Page 2: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/2.jpg)
Too many front end platforms
-ios-android-browsers-flash
![Page 3: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/3.jpg)
Session is evil
-Can not scale
![Page 4: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/4.jpg)
Long polling
-Socket programming-Protocols-Ups!
![Page 5: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/5.jpg)
Database?
-Read/Write is small-Not a good idea to use MySQL+Memcache-NoSQL shines
![Page 6: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/6.jpg)
Write your own server?
Not a good idea
![Page 7: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/7.jpg)
Open Source alternatives
-Reddwarf Server (Project Darkstar)
![Page 8: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/8.jpg)
![Page 9: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/9.jpg)
Buy a good one?
-Smartfox Serverhttp://www.smartfoxserver.com/
![Page 10: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/10.jpg)
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
![Page 11: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/11.jpg)
Smartfox Server
The bad-2500 Euro / server / year-Not a Free Software
![Page 12: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/12.jpg)
Smartfox Server
The Ugly- Does not scale!
![Page 13: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/13.jpg)
What others do?
Social Game-Zynga-King.com-WoogaMMO’s-EA Games-Blizzard
![Page 14: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/14.jpg)
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 SlideSharehttp://www.slideshare.net/wooga
![Page 15: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/15.jpg)
NoSQL is your friend
-Redis-Memcache-MongoDB-Hazelcast-CouchDB-Riak-Cassandra
![Page 16: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/16.jpg)
Wooga
-Diamond Dash (4.6M DAU)-Monster World-Bubble Island-Brain Buddies (LAMP)
![Page 17: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/17.jpg)
LAMP
-Brain Buddies, Bubble Island-Nginx instead of Apache-MySQL is fast enough
![Page 18: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/18.jpg)
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
![Page 19: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/19.jpg)
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
![Page 20: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/20.jpg)
Rails Again
Pearls Peril- Rails, Redis (High score, Metadata, etc), Riak (All other stuff)
![Page 21: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/21.jpg)
Problems
Software is easy, data is hard-RedisNo backup, No slave-AWSFast to create instance, it fails sometimes, Slow IO on EBS-JRubyHelps a lot as Concurrency libraries are great for threading in Java World
![Page 22: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/22.jpg)
Alternatives
Write your own server- NodeJS- Java NIO, Akka, Netty- Erlang, Scala
![Page 23: Server side game_development](https://reader033.fdocuments.us/reader033/viewer/2022060108/554f758cb4c9052a518b46c4/html5/thumbnails/23.jpg)
Questions?