Need a little direction for turn-based iOS

Hi everyone,

I’ve been working on a project for about a month now and I’m at a point where I need to start thinking about how to implement important features into my game. I started programming in C#/Unity earlier this year in some spare time, but never finished anything. Made a quick sidescrolling pixel shooter and a few other simple things. Nothing huge.

What I’ve got now is a hex tile based board game. Very simple. If anyone has played FFVIII back in the day, it works similar to Triple Triad- each direction on the hex tile has a number and the higher numbers win and flip to your color. Have the most tiles at the end and win!

I’ve done quite a bit of research on forums for the past week and it’s all incredibly overwhelming. I’m not looking for someone to write this for me- I’m simply looking for someone to help me find the right direction. I’ll figure it all out from there.

From what I understand so far, Unity’s built in multiplayer is damn near useless for this project. I saw some suggestions for Prime31’s gamecenter plugin for turn-based games (new in iOS 5?), but I want cross platform compatibility. iPhone should be able to play against iPad/Android, and potentially webplayer/facebook etc. ‘With Friends’ style, in-app purchases, Facebook connect, yadda yadda yadda. You know the drill.

I also saw some discussions about Photon and SmartFox, and looked into them, but again it’s all so overwhelming that I can’t decide which way to go, and if they’ll do what I need.

In my head, I picture this working with pushing data online to a database which then asks the next player to take their turn. There needs to be able to be games of 2, 3, or 4 people. I assume PHP/MySQL would be the solution? I have some basic knowledge of the languages, but again, it will definitely be a learning project to make it all work. My family also recently acquired a bunch of old servers that used to run credit cards, I think from around 2009? Not sure if they’d be useful, but I can’t imagine this project will turn out so huge that my ISP will shut me down for too much use.

Here’s a screenshot from a few weeks ago: Imgur: The magic of the Internet Not as pretty as it is now, but I’m away from the computer I’m developing on (vacation)… this has just been rattling around in my head hahah.

I’d really appreciate some direction is all. If I’ve posted a common question, I apologize, but I’ve searched quite a bit across the web. Thank you! :sunglasses:

Look at player.io - it’s going to be the simplest thing code-wise.

Thanks, I looked into it and it looks pretty impressive. However, it doesn’t really seem like it’s talked about much? I’m a little worried there won’t be as big of a community or documentation to help me out when I come across issues.

Is there any reason at all I should consider using SmartFox or Photon- keeping in mind that I have my own servers already in the cost? Player.io seems awesome, I’d just like to make sure it’s the right decision before I dive into something here.

Player.IO has been around for at least a few years, in the Flash world, and is clearly quite capable - see Everybody Edits, for example, which is a great simple demonstration of its matchmaking, communications, commerce, and storage systems. I think the Unity support is new, which would explain the lack of discussion about it here.

Pricing can be a significant consideration with these things, but Player.IO lets you run a local server during development so you should at least be able to give it a good trial, without spending anything except your time.

Player.IO is expensive for a lot of games as it charges per GB of traffic [and fairly pricey at that!]. On the flip side, games that don’t rely on a lot traffic - e.g. turn based games - can get phenomenally good pricing. On a similar note there’s limited amount of computation available, highish latency, little low level control, restrictive libraries/code features you can use etc All things that suck, unless you’re making a fairly simple game.

While I’m a not a big fan of their support [it does exist, but they are very slow/selective as to what forum questions they will answer]- TBH it’d be easier to learn their API’s with little support than it would be to learn someone else’s API’s with a ton of support. I’ve mucked around with Player.IO, Photon, uLink, Photon cloud… and the last three while powerful are very complicated, so much so I’d not have much confidence in coding newbs chances.

The next best thing might be trying photon cloud, only focusing on getting RPC’s working and ignoring most of the rest of the complexity.

Hey guys, thanks for your replies! :slight_smile: I haven’t been able to find much help online recently, so it means a lot to have someone take the time out of their day to respond.

I’ll look more into Player.io today and start diving into it. This is a pretty simple project so the limitations shouldn’t really be too much of an issue. I figure an asynchronous turn based game should be a million times easier to do than live multiplayer. Again, thanks again for the suggestions.

On the topic of Php/Http:
For a turn based game, this is an option but still not a good one. When you use Http, you need to poll for events and this adds up as lag or causes useless traffic (still a problem in the mobile world). You likely won’t learn a lot to re-apply to other games either.

I just realized this might be an issue for some solutions: I unfortunately only have my Macbook while I’m away from home. I’m currently in Poland for a year and couldn’t take my Windows desktop with me. (brutal, I know) The development server for player.io looks like it’s not really fit for working with on Mac. I got it to build and run, signed in, but couldn’t get the sample project in Unity to play nice with it. Errors all over the place.

Reading around a bit, it looks like I’ll have to install virtual Windows or go with another solution entirely. Any suggestions?

You need to take it up with them - as a potential customer they should be eager to help you get it working.

Haha yes, you’re probably right. But if there are any other solutions that would potentially fit my situation better, I’d love to hear them!