Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

So I'm developing an indie turn-based game for iOS and, in coding up a Game Center matchmaking class, I'm starting to question whether Game Center is even the best choice for what I want this game to do. I need to figure out whether I need to create my own server, invest in a preexisting client or server service, or if I even need to use a server at all. If I do need to use a ready-made service other than Game Center, which server would accomodate my game's needs best? I have limited resources and funds. Here is the list of features I want my game to support, ideally:

  1. Turn-based gameplay (a la "with Friends" and "with Buddies" games)

  2. Smart matchmaking (matching users up with other players of comparable skill/achievements)

  3. Random matchmaking

  4. Facebook matchmaking

  5. Specific username matchmaking

  6. Contact list matchmaking

  7. A way to select what "type" of match you want to challenge an opponent to. (In random, smart, and Facebook matchmaking, there will be different "wagers" the player can make. [e.g. "I wanna play a random opponent for 1000 points. Now, I wanna play my Facebook buddy for 1,000,000 points."] There will be a predetermined range of amounts you can play for. It won't be customizable.)

  8. Buddies list capability (Game-buddies, as opposed to contacts and Facebook)

  9. A higher concurrent game cap than Game Center offers (which I still can't really find a straight answer on)

  10. Scalability (it should support 2 or 20,000,000 players)

  11. Objective-C compatibility

  12. Flexibility (for all the stuff I haven't thought of yet)

Am I dreaming, here? Is there even a service that can handle all of these features? Do I need to invest months in learning a networking language to build my own? If so, how much would I need to spend on hardware?

I've been looking around all morning and, so far, the only seemingly viable option is SmartFox. Under "Everything and the kitchen sink" section here, it says they support "virtual world with Zones, Rooms and RoomGroups, create complex game challenges, send invitations, manage buddy lists, create custom permission profiles, oversee the security aspects and tons more."

Is there an option that Im just overlooking? Thanks for any help anyone can provide. Sorry for the long poast.

One last question: Does anyone know which server Dice with Buddies uses? I was experimenting with how many concurrent games I could get going and my ADHD kicked in at about 80 games. 80 concurrent games would be great for my game, but again, I need the other features I mentioned too. Thanks again.

share|improve this question

closed as not constructive by Byte56, Sean Middleditch, Josh Petrie, michael.bartnett, Nate Jan 14 '13 at 17:33

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Also reading about Amazon Web Services (AWS) now, and it sounds interesting. The more I read, the more I realize why trying to create my own server would be logistically difficult. – baptzmoffire Dec 19 '12 at 0:10
Hi baptzmoffire, you have several different questions here. Some are off-topic ("which technology do I use"), but others I believe are good. You should consider rephrasing to ask what algorithm or technique would best solve your list of requirements. If there's an off-the-shelf solution, that'll likely come up naturally in answers or comments anyway, but we prefer answers that explain how/why to do something rather than where to go for solutions. – Sean Middleditch Dec 29 '12 at 3:23
Thanks, Sean. I'm back to work tomorrow (where I do all my studying) and I'll work on it then. – baptzmoffire Jan 2 '13 at 3:32
up vote 0 down vote accepted

You need two things:

  1. Some software to run on your server(s).

  2. A hosting company to handle your server(s). AWS should be a decent option here, but it's not the only one. I wouldn't suggest buying your own hardware.

For turn based games the server workload should be relatively low, and an in progress game should not consist of anything more than a few extra entries in some database tables. Real time games need much more from the server as each player will send and receive several updates per second from the server.

Here's some more options for the software side of things:

Both are free for light usage.

share|improve this answer
Thanks for the response, Adam. As of right now, I'm gonna take the AWS route. Not sure if I'm going to use GameSpy as of yet, cuz their documentation is ridiculously convoluted. After reading for 2 hours, I still had little understanding of any of the practicalities. I may end up just learning whatever language/skill-set necessary to work with AWS, in particular their SimpleDB, SQS, and SNS services. – baptzmoffire Dec 20 '12 at 21:18

Not the answer you're looking for? Browse other questions tagged or ask your own question.