Turn based multiplayer

I’m planning to implement a turn based multiplayer feature on my game.The players should not need to be simultaneously connected to play a match together. Exactly like the turn based module on the Game Center plugin.
Is there any good solution for this that covers both Android and iOS? What are the pro/cons? Something that won’t die in the near future?

Luis

For Google Play, we are working on updating the GPGS plugin. It’s going to have a lot more things it will do including multiplayer features. I can’t provide an ETA on it, but it feels like it’s getting close.

For Apple, you have Game Center which should support turn based games now. If you want real-time, there is a GameKit community plugin that will handle the full Game Center experience (except for videos).

Then you have the option of creating your own service. Many people would have recommended Parse.com, but Facebook us shuttering it at the end of the year. However Facebook open-sourced their code, so you could in theory run it it on your own servers. There is a plugin for talking to Parse, but since parse isn’t being maintained, there likely won’t be updates to the plugin.

I don’t want to write a history book here, but Corona Developer @develephant created Coronium, a Parse like service that you can self-host. That way you don’t have to worry about someone pulling the plugin on you. Corona Labs has hired @develephant to build a cloud based service for Corona SDK users, but there is a lot of work needed to make it work. He has just announced the beta of the self-hosted version https://docs.coronium.cloud if you want in early. Again it’s doesn’t have turn-based features built in, but you could add them fairly easily and it’s all in Lua. Since it’s in beta it’s not recommended for going into production right now, but if you even started today, it will take some time for you to build it out and hopefully it will be production ready before you need it to be. Also this is a community invited project and I’m confident that someone will roll out a module for turn based support for it, but again you’re looking at some time before it happens.

Then you have the option of using Photon. https://www.photonengine.com/en-US/Photon

They have a plugin for Corona. It’s real time, but you should be able to do turn based with them too.

I do have my gpgs(google play ga plugin, it uses googles rest api. I do charge a one time fee of 8$ for the plugin. Of course this also assumes you have paid the one time Google dev fee of 25$. That was a shame less plug. As important note there is no official APIs or sample but I have heard lots of success with turn based multiplayer. The big limitation is Google play games services on supports push on iOS and use the app Google android. You do have to do some work to get this plugin to work but I think it is worth the price of not have to host and pay for your server. I hope corona finshes there plugin but mine works on Mac( and Windows but requires some work around since thier is no webview)
scottrules44.com/store

There is also the auto lan pluginhttps://forums.coronalabs.com/topic/63788-autolan-ipv6/ . There is also appwarp http://appwarp.shephertz.com/game-development-center/corona-game-developers-home/. Thier is pub nub https://www.pubnub.com/blog/2011-11-11-corona-sdk-multiplayer-networking-api-for-mobile-games/. Thier is noobs hub https://github.com/Overtorment/NoobHub.

The list goes on.

Hi, Thanks for the replies. I’m still studying the options.
Its a very simple game. Here is what I need:
-Login user
-Invite friends with Facebook and or email and or contact list
-Exchange json string with the match data
-Turn and invitation notifications and listeners.
It’s a game similar to Words with Friends. User would just connect anytime, get the match data from sever, send his move then disconnect.

Pubnub is good to send messages. Appwarp is good for realtime. There’s also Photon and gpgs.
Do you think it is possible to do all this with Coronium + Digitalocean? Is there some limitation or feature I should better wait for? Any advice?

I honestly think a parse database(hosted by you) or even Coronium cloud (not LS it is in beta and I believe it is not ready for prime time) is the way to go. You can experiment with Coronium LS but you will have to step outside lua if you want certain features like Facebook. Another thing is corona does not support contacts from android or Mac so you will need enterprise.

Scott, (you may say) Coronium cloud and Parse are not official supported. You would be right and I personal think they will last for a least 2 years without any problems or need to change(unless Apple get more crazy about security).

There is app 42 cloud does things similar to parse and Coronium cloud. At shephertz.com

These are all corona based solution you could always go out and do things you own way on your own sever.

I honestly cannot speak or trust about product that are in early beta or not released.

I can not make decisions for you but if it were me I would use game kit and Google play games services which are free products. When Apple and Google give you lemons you make Lemonade. If you have the money and the time go give server option a go.

On those features you said above, just about all cloud services above have these features. Gamecenter does have a Facebook friends or contact system for finding friends but this is all done in the gamecenter app not your app. I don’t use google play games service at all but I pretty sure they are similar to gamecenter way of handling friends. I cannot speak for corona but if I were a betting man I would say corona gpgs plugin will be ready by the time you get everything setup (which I hope will take a 3 weeks or more) but that is not a corona eta but based on the other posts I have seen and based on how it is in the started phase gives me hope.

Thanks for the clarifications. Coronium cloud seems the best option for me

For Google Play, we are working on updating the GPGS plugin. It’s going to have a lot more things it will do including multiplayer features. I can’t provide an ETA on it, but it feels like it’s getting close.

For Apple, you have Game Center which should support turn based games now. If you want real-time, there is a GameKit community plugin that will handle the full Game Center experience (except for videos).

Then you have the option of creating your own service. Many people would have recommended Parse.com, but Facebook us shuttering it at the end of the year. However Facebook open-sourced their code, so you could in theory run it it on your own servers. There is a plugin for talking to Parse, but since parse isn’t being maintained, there likely won’t be updates to the plugin.

I don’t want to write a history book here, but Corona Developer @develephant created Coronium, a Parse like service that you can self-host. That way you don’t have to worry about someone pulling the plugin on you. Corona Labs has hired @develephant to build a cloud based service for Corona SDK users, but there is a lot of work needed to make it work. He has just announced the beta of the self-hosted version https://docs.coronium.cloud if you want in early. Again it’s doesn’t have turn-based features built in, but you could add them fairly easily and it’s all in Lua. Since it’s in beta it’s not recommended for going into production right now, but if you even started today, it will take some time for you to build it out and hopefully it will be production ready before you need it to be. Also this is a community invited project and I’m confident that someone will roll out a module for turn based support for it, but again you’re looking at some time before it happens.

Then you have the option of using Photon. https://www.photonengine.com/en-US/Photon

They have a plugin for Corona. It’s real time, but you should be able to do turn based with them too.

I do have my gpgs(google play ga plugin, it uses googles rest api. I do charge a one time fee of 8$ for the plugin. Of course this also assumes you have paid the one time Google dev fee of 25$. That was a shame less plug. As important note there is no official APIs or sample but I have heard lots of success with turn based multiplayer. The big limitation is Google play games services on supports push on iOS and use the app Google android. You do have to do some work to get this plugin to work but I think it is worth the price of not have to host and pay for your server. I hope corona finshes there plugin but mine works on Mac( and Windows but requires some work around since thier is no webview)
scottrules44.com/store

There is also the auto lan pluginhttps://forums.coronalabs.com/topic/63788-autolan-ipv6/ . There is also appwarp http://appwarp.shephertz.com/game-development-center/corona-game-developers-home/. Thier is pub nub https://www.pubnub.com/blog/2011-11-11-corona-sdk-multiplayer-networking-api-for-mobile-games/. Thier is noobs hub https://github.com/Overtorment/NoobHub.

The list goes on.

Hi, Thanks for the replies. I’m still studying the options.
Its a very simple game. Here is what I need:
-Login user
-Invite friends with Facebook and or email and or contact list
-Exchange json string with the match data
-Turn and invitation notifications and listeners.
It’s a game similar to Words with Friends. User would just connect anytime, get the match data from sever, send his move then disconnect.

Pubnub is good to send messages. Appwarp is good for realtime. There’s also Photon and gpgs.
Do you think it is possible to do all this with Coronium + Digitalocean? Is there some limitation or feature I should better wait for? Any advice?

I honestly think a parse database(hosted by you) or even Coronium cloud (not LS it is in beta and I believe it is not ready for prime time) is the way to go. You can experiment with Coronium LS but you will have to step outside lua if you want certain features like Facebook. Another thing is corona does not support contacts from android or Mac so you will need enterprise.

Scott, (you may say) Coronium cloud and Parse are not official supported. You would be right and I personal think they will last for a least 2 years without any problems or need to change(unless Apple get more crazy about security).

There is app 42 cloud does things similar to parse and Coronium cloud. At shephertz.com

These are all corona based solution you could always go out and do things you own way on your own sever.

I honestly cannot speak or trust about product that are in early beta or not released.

I can not make decisions for you but if it were me I would use game kit and Google play games services which are free products. When Apple and Google give you lemons you make Lemonade. If you have the money and the time go give server option a go.

On those features you said above, just about all cloud services above have these features. Gamecenter does have a Facebook friends or contact system for finding friends but this is all done in the gamecenter app not your app. I don’t use google play games service at all but I pretty sure they are similar to gamecenter way of handling friends. I cannot speak for corona but if I were a betting man I would say corona gpgs plugin will be ready by the time you get everything setup (which I hope will take a 3 weeks or more) but that is not a corona eta but based on the other posts I have seen and based on how it is in the started phase gives me hope.

Thanks for the clarifications. Coronium cloud seems the best option for me

Hi friend and corona staff mans 

I read your solutions. But did not see anything about the powerful and famous multiplayer services 

For example, when I search the web I found GameSparksas the best solution for inde developers.

I think second place is owned Playfab

You just have to compare the free plan of GameSparks with other service providers.

If I am wrong please guide me.

Gamesparks just use a rest API and playfab has a corona plugin.

Hi friend and corona staff mans 

I read your solutions. But did not see anything about the powerful and famous multiplayer services 

For example, when I search the web I found GameSparksas the best solution for inde developers.

I think second place is owned Playfab

You just have to compare the free plan of GameSparks with other service providers.

If I am wrong please guide me.

Gamesparks just use a rest API and playfab has a corona plugin.