A look at Player.IO
In my previous post about the search for a micro-transactions service I was reminded about Player.IO. It simply slipped my mind as I remember checking their services some months ago. Anyway so let’s take a look at this and see if Player.IO could be a solution for my next game.
What’s interesting about Player.IO is how a lot of annoyances are already taken care for you. Everything from database, micro-transactions with various payment providers, multiplayer server, account creation and so on. It’s really all you need to get started without having to jump from one service to another to figure how everything will work together.
You get to spend your time adding features and gameplay, rather than spending it building hidden backend systems.
But why would I want someone between me and Social Gold or Gambit or Kongregate when it comes to micro-transactions? Because it’s a lot of very boring stuff that doesn’t help me to release my game! Yeah I know I’m reusing their marketing pitch but for having done it once all by myself I can assure you that sometimes you just feel like you’re reinventing the wheel for something that has been done a thousand times. For the same game I had to work with Social Gold, Kongregate, Facebook, MySpace and even thought at some point adding Twitter to the mix but I had enough. Sure it’s not rocket science but I still remember all this time I’ve spent fighting with those various APIs …
So their list of features is impressive and there’s something quite interesting for me considering what I’ve said about my new project: Multiplayer support. I haven’t gone deep into their system but so far from what I see it would be more than enough for Spacewars and the option of diving deeper and one day have synchronous multiplayers combat is appealing. Server-side for multiplayer is one of my weakness and being able to rely on an infrastructure ready for it while not getting some bad headaches from fighting with stuff I don’t master would really be interesting. I could even stick with my current knowledge and build my server-side stuff in VB.NET!
So do we have a winner? Eh well here’s where it gets a bit bogus IMHO …
EDIT: After talking with Oliver from Player.IO I must correct some info. Here’s what I previously assumed but keep scrolling for the updated version:
Pricing … Oh sure you can get a free account and having an account that supports micro-transactions only cost $24.95 per month. But if you need more power then you better make sure your game makes some nice money.
The $24.95 package offers 100 GB of traffic, 5,000 concurrent users and 200 GB of file storage traffic which is more than enough for quite some time. Golemizer is way below these limits. The only point where Golemizer is way over is when it comes to BigDB objects for which you have a limit of 250,000 objects. If I understand correctly “objects” are like records. Well let’s take a look at how many records Golemizer have:
- Player accounts: 96,956
- Items (houses, trees, furniture, clothing, …): 1,559,841
- NPCs: 68,349
- Zones (player house, cities, dungeons, …): 65,313
I’ll stop there as these are the biggest tables in the database. That would mean 1,790,459 objects which means I’d have to get the Enterprise at $2500 per month. It also means that Golemizer would have been shut down a long long time ago. And you know … Even if it’s not a financial success I kinda like having the game still online. Right now I only need a simple SQL Server Express on a $200 machine to run that. Maybe I’m getting this “objects limit” wrong. Maybe this service is just not for a game like Golemizer or maybe it would mean I’d need some kind of way to monetize how many items each player can produce …
Hopefully this Spacewars project of mine wouldn’t create that much records. I could also put a limit to the number of ships a player can craft, store them in fixed fields in a single object (… that’s where the “objects” thing seems weird a bit) and then charge for the possibility to have more. Still getting over 250,000 objects seems easy. I’m surely hoping to have more registered account with this game than the 96k of Golemizer so I could hit the limit just with players accounts and nothing else which means I’d have to switch to the Pro plan at $500 per month. I could also delete old accounts to save some place but that’s really not something I usually consider … The data can always be exported if need be …
Of course I’m aiming to make more than $500 per month with this game (or at a minimum more than Golemizer did) but that’d also be nice to make some profit. The $24.95 plan is really interesting but at $500 and $2500 it seems a bit steep. Sure I could store the other data on a cheap VPS at $50 but then wouldn’t it be better to just do it all by myself on that machine. Do the other services benefits counter the DB limits? Are those limits are of any real concerns at all? For now I only know that it’s some kind of warning sign for me.
Here’s the deal. I overlooked the note in the Plus plan saying “(0.05$ per additional 1,000)” so you don’t have to upgrade to the Pro or Enterprise plan if you have more objects in your DB. So it goes like this:
So, if you were storing 2M objects on the Plus plan, you’d be paying: 25.00 + (1750000/1000*0.05) = 112.5$
So for something like Golemizer it’s still about half of what I currently pay AND as pointed out in the comment since Player.IO is using a NoSQL database it means that you will not build your database in the same way either. A game like Golemizer couldn’t be ported easily over to Player.IO since it would mean a lot of work but that’s not the point either here.
As for how much data a single object can store here’s the official answer:
You can store up to 500kb in a single database object. The 500kb is measured from the serialized formof the database object. If you try to store more than that, you’ll get a nice error message explaining the issue.
So it means that you can store a lot of data and that with smart design you shouldn’t have to worry much about the limits of the number of objects.
- All-in-one solution well documented and active community (with admins posting on a regular basis)
- Take care of many headaches that can slow down a project
- Interesting features for possible real-time multiplayer expansion later
- Concerns about DB limits
- See above for update
- Pricing is also a concern if the game grows more rapidly than revenue
- See above for update
So far Player.IO would probably the option I like best but the cons are not to be taken lightly. It’s really annoying as until I saw the pricing chart I really thought I found the answer. I already have my account there and started to play around … We’ll see how it turns out.