Forum Multiplayer features

Discussion and help relating to the PlayerIO Multiplayer API.

features

Postby Tsuken » January 26th, 2010, 11:44 pm

I'm just trying this out for the first time and I'm liking it so far. I just have a few questions about the possibilities.

On the main page it says "Browser MMO" under "What can i use it for?", can you explain further what features support this?
I know 45 people per room and 500 people in total for the free version, but what other features? Like:
- databases?
- persistent data?
- running code without people being online?

I understand a room closes when there are no people connected, but what about the whole game?

Also, let's say you are using the Semi-pro version, but the 5001th user connects. What happens? Is he simply unable to connect or is the cost automatically switched to pro? Will there be an option to choose what happens when you cross the limit? Also, let's say you use the semi-pro version, but the whole month less than 500 people connected at the same time, would it then be free? (considering you have the Required Player.IO Branding).
Tsuken
 
Posts: 41
Joined: January 26th, 2010, 7:54 pm

Re: features

Postby Cyclone103 » January 27th, 2010, 2:47 am

Databases are coming soonish or so I have been told, persistent data could be stored in the databases anyway, I don't think you can run code without users being online.


If you need to increment something every ___ days or whatever, you can code that yourself quite easily using the date features of Flash, and for consistency, you can use PHP's Date() function on a webserver.

What do you mean about the whole game?

As far as connections go, I would hazard a guess that it would not let user 5001 connect (unless they give some leeway about this?), but I *seriously* doubt it would upgrade you as that would have some bad legal implications.


I think that if you purchase some plan and you get like, an abysmally small number of connected users, you might be able to skip payment for a month or something.

Anyone with a yellow(ish) username is more qualified to answer these questions than I am, so don't take my word for it.

Toby is probably more qualified as well ;)
Cyclone103
 
Posts: 155
Joined: January 18th, 2010, 6:47 pm

Re: features

Postby Tsuken » January 27th, 2010, 4:17 am

Sweet, databases was pretty much all I was hoping for :) I'd love to know around what date we can try those out.

Yes I also think the 5001th simply wouldn't be able to connect. I was implying it might be nice to give people an option to have their subscription change automatically, so no user would be unable to connect at any point, nor would you be overpaying if you had less users all month. It's not important, just an idea.

I was also wondering if it's possible to use some of the Nonoba functionality, like user accounts and payment system?
Tsuken
 
Posts: 41
Joined: January 26th, 2010, 7:54 pm

Re: features

Postby Oliver » January 27th, 2010, 9:31 am

Hi!

Great feedback! Let me see if i can answer most of it;

What features supports building a MMO with Player.IO
When we consider features, we currently have a list of target usecases which we measure each feature against. One of them is a MMO. Of course, since there aren't any mmo's on player.io yet, so this currently involves a bunch of educated guesses.

The first thing, is that we've spent a bunch of time on the connections concept (http://playerio.com/documentation/connections) to ensure that player.io can integrate with any userbase (your own, social networks, etc...) and just as importantly that you get full control over permissions so you can use one tightly locked down connection for your client, get full access on the serverside, and can even create a connection with lots of access to use from your own servers (webservers, or anything else you might want to talk to player.io from).

Secondly is the way the thing scales: If your MMO is 2D, you can pretty much divide that into zones (rooms) and we'll make sure your land can be infinitely large by scaling it over our cluster.

You're also asking specifically about databases and persistent data -- which are of paramount importance for MMOs. Here, it's important to highlight that although player.io currently only features what we consider the best multiplayer solution for flash games, that we have more features in the pipeline.

One of them is a great solution for persistent data (it´s very high on the priority list). We just want to ensure that we've got a rocksolid multiplayer solution before we launch the next part. I can't give you a date for it, but it's soon.

Now, we can just sit in a dark room somewhere and dream up the exact layout for each feature/service (which we sorta have done already...), but it would be much more interesting to hear your requirements, suggestions and ideas for how it would work. I.e, give us feedback! And if you've got ideas/requests for the persistence solution, let us know!

On the subject of running code without people online: We don't currently have a planned feature for this. It is, however, very simple to accomplish yourself: Simply setup a connection that you'll use for your schedule, and have some code somewhere that connects to player.io on a scheduled basis and does it's business. This of course requires client libraries for your language of choice, which is something we've got planned... Which languages would you be interrested in? .NET will be an obvious one to add to the current as3 client library, but are there others?

Another way to do it, once persistence is available, is to simply check in your serverside roomcode when the last time you did your thing was, and then upgrade the saved value and do it again. A poor mans code scheduler. I think this was also what Cyclone103 suggested.

The whole point of connections, is to ensure that we've got a great extensions-point, where people can step beyond the services that we provide and fill in the little details that are specific to their games. Of course, our aim is that it's only the really, really advanced games that'll ever need/want to do this, but it's nice to know the option is there.

I understand a room closes when there are no people connected, but what about the whole game?

I don't understand the questions? What do you mean by the whole game? We run instances of game rooms; start them up and close them down as we go along. There is no entity that starts when the first room is created and stops when the last room closes. Can you expand the question?

Re: The limits of the paid version
Again, this is one of those things we haven't implemented yet, have some thoughts about, but would love to hear your feedback.
- Our current thinking is that the Max Concurrent Online (500, 5000...) limits aren't hard limits. We'll simply take not the first time you cross it, and send you an e-mail. If you consistently cross it for some period of time, you'll start getting error messages. The exact details aren't yet worked out, so we'd appreciate your feedback (again!). I'm not sure auto-upgrading is a route we're interested in.
- Remember that Max Concurrent Online is the only limit, bandwidth etc has a price pr. gb when you cross the quota in the package.
- The logo will be there in the free version, and removed once you're on one of the paid versions. We just haven't added the logo yet, because it was not as important as ensuring the multiplayer service is rock solid. Again, that's our first priority right now.
- If you're on the semi-pro version, but don't use it for a month, we won't bump you down to free -- Instead, stay on free until you need to move up, which accomplishes the same goal.

Nonoba functionality:
Just use the nonoba systems :-) No, really... You can build the multiplayer parts of your game with Player.IO, and then also use the nonoba api from within your game. The nonoba api has methods for brining up login and signin boxes, and also payment boxes.

For accounts: Facebook has more users than Nonoba. Why not use facebook connect for flash in your game instead? We're planning on adding a service for people who wish to register and login users from within their game, but don't want to integrate with another userbase. That is, where they want people to have accounts especially for their game. If you try this, and run into issues, contact us and we'd be more than happy to help. We've talked about making an example for this, but just haven't got the time right now.

I hope this answers most of your questions, and:

"I'm sorry this letter is so long, I didn't have time to make it shorter."
— George Bernard Shaw


- Oliver

Best,
Oliver
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am

Re: features

Postby Tsuken » January 28th, 2010, 12:09 am

Hey Oliver,

Thanks a lot for the long message.

I'm still trying to figure out what kind of game I want to make using Player.IO, hence all the questions about the possibilities :)

What I meant by "whole game" was, imagine having a browser MMO with ticks (like so many used to). But at some point in time no users are connected. It would then not be possible to process that tick because the game is no longer running until someone connects again. I understand what you mean though by having something connect to process the tick and such.

As for crossing the limits, I think it's fine the way you put it. But you seriously have to change the pricing page and not use the very light gray color: http://playerio.com/pricing/
I had to highlight the text to read it. The color you used for "Gigabytes" "Users" and "Forums" is fine on my screen. The light gray color makes it looks suspicious (once you find out it's there), but there is no reason for it.

I was asking about the Nonoba accounts just to know what's possible, I was more interested in the online payment system then the user accounts. Being able to make games for Facebook is really good.

As for requests/ideas for the persistent solution, I'm mostly just guessing myself. But databases is definitely a requirement.

As for server-side languages. C# is fine. I've never really programmed with it, but it's a lot like Actionscript 3 and it's going well so far.
Tsuken
 
Posts: 41
Joined: January 26th, 2010, 7:54 pm

Re: features

Postby Cyclone103 » January 28th, 2010, 4:34 am

Go for vb.net as well please ^^
Cyclone103
 
Posts: 155
Joined: January 18th, 2010, 6:47 pm

Re: features

Postby Oliver » January 28th, 2010, 12:28 pm

Cyclone, we've allready added vb.net support -- it'll be in the next release, don't you remember?

Tsuken; no problem. We know that our success is tightly linked to your success, so we're doing everything we can to answer and fix all issues developers like yourself run into.

Regarding the tick issues; Another way to think about it is this: If a tree falls in the forest, but nobody is around, does it make a sound? -- That is, if a tick is processed, by nobody is there to see the result, does it matter if it was processed then, our in a catch-up thing later ?

I've just had the color of the pricing-subline changed, it'll be updated in the next release. Thanks for the feedback.

Can you elaborate on the statement "But databases is definitely a requirement." -- What do you mean? Do you mean you need to run complicated SQL queries, or do you want to have access to storage that has database like qualities (tables, rows, columns, easy lookup) ?
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am

Re: features

Postby Tsuken » January 28th, 2010, 2:15 pm

By "databases is definitely a requirement", I mean, for a world to be persistent we need to be able to store data. Game data, like types of units, but also which user made which unit and the location of it. So even when the user is not online, the unit is still there for other users to see.

I'd definitely suggest databases, considering they're made to look up queries in an instant, even with thousands of rows of data and many tables. And considering the fact that at some point you want to sell the Enterprise plan, which should allow for 25000+ users online at the same time. So that would be a lot more than 25000 user-data stored.

But if you have something else in mind that works just as well, go for it. I'd love to know how it would work though.


I found something else wrong with the pricing page. If I roll over "game traffic" and get the tooltip telling me what it means, not all the text is showing up. I looked up page source and the full text is:
Game Traffic - Game traffic is all the data sent between your game and Player.IO. It includes traffic to and from multiplayer games. There is no seperate cost for the amount of processing time your games uses on the server cluster

The part in bold doesn't show up on my screen. I'm using the latest Firefox. O and Firefox found a typo in the text as well :D It's "separate ", not "seperate".


And while I'm at it, another suggestion. How about having different server locations for possible lag issues? 1 in Europe, 1 in the US and one in Australia (yeah I'm not going to say China when I live in New Zealand :P). Just a suggestion.

Cheers
Tsuken
 
Posts: 41
Joined: January 26th, 2010, 7:54 pm

Re: features

Postby Oliver » January 28th, 2010, 2:44 pm

Databases
I got it; you want more than simple key/values on users. Check :-)

Pricing issue
Can you post a screenshot? i just tried with my firefox, and all text popups nicely. My firefox is 3.5.7 on windows 7 right now.

Server by Geography
Yes. The system is made so we can boot game servers from anywhere -- it's easy to make sure rooms are created close (lag-wise) to your location, but it's harder to ensure that you join rooms that are close by before others (ie, make a lobby that's geo-aware).
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am

Re: features

Postby Cyclone103 » January 28th, 2010, 9:23 pm

Sorry Oliver, I read the vb.net post after I read this one.


Sounds great!
Cyclone103
 
Posts: 155
Joined: January 18th, 2010, 6:47 pm

Re: features

Postby Tsuken » January 29th, 2010, 12:31 am

"it's harder to ensure that you join rooms that are close by before others (ie, make a lobby that's geo-aware)"
Do you mean it's impossible? Say for example, someone changes zone, would it be possible for him to see a list of rooms with their geo-location and pick one from it?

As for the screenshot, I wasn't entirely telling the truth apparently. The text is there, it's just the background that isn't the right size. I use Firefox 3.5.7 with Windows XP
Attachments
pricing.jpg
pricing.jpg (26.5 KiB) Viewed 32175 times
Tsuken
 
Posts: 41
Joined: January 26th, 2010, 7:54 pm

Re: features

Postby Oliver » January 29th, 2010, 9:32 am

Do you mean it's impossible? Say for example, someone changes zone, would it be possible for him to see a list of rooms with their geo-location and pick one from it?


Nope, that's not it. It's just that, no matter where a player is located, we can't (as player.io) make the assumption that they'll only want to play on servers that are close to them.

For instance, if i'm in the states, and you're in japan, i might tell you to "join me in game "blah blah blah"", and then you should be able to go there; we can't just filter rooms from ListRooms based on your location. Perhaps some sort of sorting.. We'll think about it :-)
User avatar
Oliver
.IO
 
Posts: 1159
Joined: January 12th, 2010, 8:29 am


Return to Multiplayer