Forum BigDB Resource Usage Tips & Targets?

Discussion and help relating to the PlayerIO database solution, BigDB.

Resource Usage Tips & Targets?

Postby mrgreen » April 25th, 2011, 2:34 pm

I have a few general questions about Resource usage!
I would like to know what are some reasonable targets for Resource usage, Bandwidth and Storage for games.

I know, all games are different but still generally speaking, it would be nice to know what to "shoot for" in terms of PlayerIO resource usage.

For instance:

1) Social Games: think farmville, no multiplayer interaction, but a LOT of items stored under the User's PlayerObject. ( Storage intensive )

2) MultiPlayer: probably not that much personal stuff saved, but the bandwidth would be higher as due to interaction between players and the server. ( bandwidth intensive)

What are some reasonable targets, that I should aim for per player?

Also,
a) Is there a way to find out the file size of a PlayerObject??
b) and to find statistics for bandwidth usage per player?

Trying to calculate a cost / player of PlayerIO for my game, so I could make design decisions, as to what to save on the server, and how often. It would be great to know some guidelines, so that I could tailor my game design/network coding to stay within the treshold of reasonable amounts.
mrgreen
 
Posts: 52
Joined: February 12th, 2011, 7:27 pm

Re: Resource Usage Tips & Targets?

Postby default0 » May 6th, 2011, 8:24 pm

mrgreen wrote:I have a few general questions about Resource usage!
I would like to know what are some reasonable targets for Resource usage, Bandwidth and Storage for games.

I know, all games are different but still generally speaking, it would be nice to know what to "shoot for" in terms of PlayerIO resource usage.

For instance:

1) Social Games: think farmville, no multiplayer interaction, but a LOT of items stored under the User's PlayerObject. ( Storage intensive )

2) MultiPlayer: probably not that much personal stuff saved, but the bandwidth would be higher as due to interaction between players and the server. ( bandwidth intensive)

What are some reasonable targets, that I should aim for per player?

Also,
a) Is there a way to find out the file size of a PlayerObject??
b) and to find statistics for bandwidth usage per player?

Trying to calculate a cost / player of PlayerIO for my game, so I could make design decisions, as to what to save on the server, and how often. It would be great to know some guidelines, so that I could tailor my game design/network coding to stay within the treshold of reasonable amounts.


1) Save as rarely as possible (saving many changes also gives you a good deal of traffic ;)), try using ByteArrays and compress the data as good as you can (at best on bit-level, f.e. if the players level only goes up to 10 dont waste 1 byte on it but only 4 bits)

2) Try to send as few messages as possible and "say" as much as possible with a single message (lots of tips on how to do this can be found in the great tutorial at the Documentation section).

To a) Yes, isolate the Object into a single BigDB Table and check the size of the table, a bit troublesome but as far as I know the only way to find out.
To b) Well, you cannot really do that with Player.IO, you can however divide the bandwidth your game has been using by the number of players that have played.

To your cost thingy: Well, if your game grows bigger your bandwidth will most likely skyrocket. If you have 1 player you will only have that player acting. If you have 2 players both will be acting + sending data to inform about each other, if you have 3 players all three will be acting and sending data to every other player to inform them, you cannot really keep track of the bandwidth a single user causes, but only get an average number (though that is already quite an effort because you have to know how active the players have played etc etc) so yeah, thats not really possible.

General Guideline: Optimize everything as much as possible, always ;)

Best Regards
Try to play my Game: -->BlackGalaxy<--
User avatar
default0
 
Posts: 115
Joined: February 2nd, 2010, 6:46 pm
Location: Germany

Re: Resource Usage Tips & Targets?

Postby Benjaminsen » May 6th, 2011, 8:31 pm

I personally have quite a different approach to optimization. (And yes I pay full price for Player.IO myself) My games are basically all micro transaction enabled which allows me to just crank up prices until I make more than I use per user.

This allows me to focus on making a kick-ass game instead of worrying about bits. The best thing is that if I want I could go optimize my code later as part of profit optimization!
Benjaminsen
.IO
 
Posts: 1444
Joined: January 12th, 2010, 11:54 am
Location: Denmark

Re: Resource Usage Tips & Targets?

Postby lei » May 17th, 2011, 5:57 pm

Here's my question: should i write my objects as short as possible to reduce webservice traffic, or does it not matter?
I can already imagine the annoyance of converting every full word into abbrevation..
lei
 
Posts: 14
Joined: December 1st, 2010, 9:49 am

Re: Resource Usage Tips & Targets?

Postby Henrik » May 18th, 2011, 12:35 pm

lei wrote:Here's my question: should i write my objects as short as possible to reduce webservice traffic, or does it not matter?
I can already imagine the annoyance of converting every full word into abbrevation..


Well, the length of your strings and other data matters, of course. If you can cut the size of your multiplayer messages by half, you cut your resource usage by half. For the other methods that talk to the webservice API (BigDB, PayVault, etc) there's some overhead in the protocol which makes it harder to get results by cutting the size of your strings and values.

However, what we're saying is that development speed also matters, use strings and messages that makes sense to you and focus on making a good game. If your game gets very popular, then you can worry about minimizing the bandwidth.
Henrik
.IO
 
Posts: 1880
Joined: January 4th, 2010, 1:53 pm

Re: Resource Usage Tips & Targets?

Postby lei » May 18th, 2011, 1:49 pm

Well, it is the kinda thing that's good to know from the start, so you can establish the saving measures.
lei
 
Posts: 14
Joined: December 1st, 2010, 9:49 am

Re: Resource Usage Tips & Targets?

Postby wbsaputra » May 19th, 2011, 3:04 am

nice info, i just found my game with only around 300 concurent users reach about 30gb bandwith/month. :shock:
maybe playerio should consider give lots bandwith quota for traffic than gamefs for multiplayer game and more gamefs size than traffic for client games. :?
wbsaputra
Paid Member
 
Posts: 150
Joined: June 29th, 2010, 4:38 pm

Re: Resource Usage Tips & Targets?

Postby Benjaminsen » May 19th, 2011, 9:06 am

wbsaputra wrote:nice info, i just found my game with only around 300 concurent users reach about 30gb bandwith/month. :shock:
maybe playerio should consider give lots bandwith quota for traffic than gamefs for multiplayer game and more gamefs size than traffic for client games. :?


30GB for 300 concurrent users is actually almost nothing.
If you do the math, it's about 0.04kbyte of data per user per second.
Benjaminsen
.IO
 
Posts: 1444
Joined: January 12th, 2010, 11:54 am
Location: Denmark

Re: Resource Usage Tips & Targets?

Postby mrgreen » May 25th, 2011, 8:13 pm

Thanks for the suggestions!

I still think it would be an essential dedicated feature, to be able to profile the game for bandwidth/size per Player usage .

Otherwise you are just running in the dark dividing averages etc. Its like anything else in programming, you have to be able to see/measure what you are doing to fine tune it.

It would be very intuitive to pull up some Analytics, and check the size of Data stored by Player, or Bandwidth used by player. And see some breakdowns for instance which parts use the most, so I could make intelligent decisions.
mrgreen
 
Posts: 52
Joined: February 12th, 2011, 7:27 pm


Return to BigDB