Hello I am in the process of making a Turn-based Board game for iOS. I want the game to play like Words with Friends where one player takes a turn and the game-board is updated and then the next player is able to make a move.
My question is what would be the best way to go about this type of game play?
Would I need to use a server for the player to connect with to update the board with their turns or would I be able to do it phone to phone?
Any help pointing me in the right direction would be appreciated. Thank you
It really depends on how you plan this game out. If you want wide spread usage, and eventually want the game to span out to a large audience of people, doing ad-hoc gaming is out of the question. People EXPECT social networking capabilities, and if you simply include no option to do this from you application, then it will fail no matter how good the game is, especially in the mobile space.
So you really have to think objectively at this point, and by no means am I trying to be a downer, but I’m simply a realist:
Do you really need a 3D engine for this type of game? Unity’s built in over-head is 7mb for an empty scene with all package size optimizations in place.
Are you experienced with handling multi-user, social-network type of environments? It’s not a terribly complicated task when you think about it, but is quite the opposite when you engage in practicing it.
Have you taken a look at Apple’s Game Center turn by turn multiplayer solution? If this is attractive to you, are you planning to launch on Android and make it cross platform? If so, platform agnostic solutions are your best choice, which means making your own servers possibly.
Even if you are familiar with social-networking, are you able to create a user-database server for user’s that don’t use social networking at all for gaming? Creating usernames that are dynamic and unique, tracking analytics for each of these, e-mailing and text messaging invites, etc.
There is a lot more that goes into a game of this type. If I were to answer you directly, then a server based solution is the way I would go if I wanted the ability the reach the most players as I possibly can. If you don’t want all the feature sets that games like Words with Friends, Scamble, Draw Something, or similar games, then yes, ad-hoc gaming is possible. It just won’t get you very far.
- I think Unity is the correct choice for you project
- We have built a turn based game that used Twitter posts to record turns so you have loads of options
- The game I’m working on now is a 2D platformer and before I reduced it’s memory usage it was 32MB as an iOS app. In 3 days I got it down to 16MB without any visual quality lost.
- There is no doubt in my mind that you have set yourself a large task, but Unity is a great game engine and you should never let anyone tell you something isn’t possible with it There will be hardships and difficulties to overcome, but the strength in Unity is as much in it’s supportive community as the tools themselves.
- Break your game into smaller hurdles and try to tackle them one at a time. You’ll get there eventually.
While it’s obvious that I mostly disagree with Danny, I think he’s right that the social and networking components will be the most difficult. I would start with them:
- Get turns happening across multiple devices
- Figure out how to invite players and manage game session
- Build your game around those pillars
To start, go buy the [Game Center Turn Based Multiplayer plugin for Unity from Prime31]. His plugins are top notch, you won’t be disappointed. This uses the apple turn based hooks in Game Center (it won’t work for cross platform, but it’s a great way to start as it means you won’t have any server fees
Google play has some server network solution that works with both iOS and Android (have no experience by it myself). They got a tutorial online, search “Google Play Turn-based Multiplayer in iOS”
There are a couple of examples you can buy in Asset store for both Game Center and Android. Most of them seem a bit incomplete though.