Would Photon work for a turn based card/board game?

edited June 2011 in Photon Server
I have developed the idea, wireframes, and specifications for a new game that will be built for iOS and Android. It uses the same turn based multiplayer mechanics of words with friends. So play a turn, wait for other players to play, and eventually it is my turn again. It will be 2-4 players. I will need to be able to invite friends from in game list, email, or facebook. Invite random players. Will need to be able to chat in game with other players.

Would Photon be a good fit? It seems like most of what I read is about it looks like Photo is better for live action games.

Comments

  • Photon will work fine for turnbased games, too. A turn-based game will not need the same networking power in terms of speed: for a turnbased game it would be fine to use a solution, not able to send data more than 1 or 2 times a second, but it does not hurt the turn-based game, to use a solution, that it oculd send more often, than it needs to. You could compare it with cars: if you need the power of the engine of a subcompact car, a sports car will work for you, too, although, it would not work the other way round.
    However, solutions, only suitable for turn-based games and not for realtime-games, could eventually reacht their limits with the chat-functionality, if your players use it intensively, while a realtime-capable solutio like Photon will have not problems with chat-performance at all.

    But, Photon does not provide the fucntionality for Email, Facebook, etc. S social gaming solution like for example openfeint would be able to do that (but it would not be capable to help you with the core-multiplayer-part: sending ingame data and chat-data between players). MAtmaking via game-lists, random-players, etc. or even approaches like skill-based matchmaking will work fine with Photon.

    Photon and OpenFeint can live and work together just fine, so you can use both for their respective tasks (actually this has already be done by other games in the past).
  • Thanks for the great reply. It would seem to me that maybe with these slower turn based games that do not require up to the second communication, that a web based API might be better. I can build web apps no problem. Maybe I develop a solution that uses a REST API to send information to the server i.e. user account creation, user login credentials, user friend request, user chat message (almost like a text message), user board movement, ect.
  • Kaiserludi,

    Can you point me to some apps that have used Photon and Open Feint in the same app? Hopefully an example on both Android and iOS?
  • Of course you can do a restful api and get along with http requests somehow but in the era of the iPhone, I would expect better as a customer and as a developer, I know restful is not even easier to implement.
    Let me explain:
    Our pre-Photon product "Neutron" used http calls, because socket communication (TCP / UDP) wasn't available on mobile devices at that time. Over a course of 4 years, we came across many issues with the http handling on both sides. There were repeats where none are expected, there is no session tracking, no timeout, huge overhead and a lot of delay if you want to keep traffic down.

    We switched to sockets and a more flexible product: Photon.
    Using UDP is the opposite of HTTP calls: Slim, bi-directional and with that: fast! With the addition of our protocol, it's now also reliable. You can easily send and receive stuff. The client api is available on multiple platforms. If you want Android along with the iOS, you can use their Java SDKs instead of more C++. The server stays the same. No surprises (cause we covered them).

    As for integration in social networks and game specific features: A lot of the general game infrastructure works out of the box with the Lite Lobby Application. You don't have to invent rooms and how to send turns. You can even store user- and turn-data on the server via properties. Anything that's more game specific can be done by you with the help of any C# project out there. Integration of Facebook, payment, databases.

    True, you have to solve this with Photon, but you can concentrate on this and nothing else.

    In the end, of course, you have to chose the tools and language you like most. But you wouldn't ask here if it's a fit, if you would rule out C# as programming language.
  • Maybe I should explain myself a little better. I am not a programmer. I am a project manager in the software industry so I understand a lot of concepts, can sometimes fix bugs, and can manage people/projects. I wish I was a programmer!

    I am a guy who has lots of great ideas and has to hire/partner with people to see those through. I am paying for this one out of pocket so I am doing a lot of leg work and research before finalizing any kind of deal. I wouldn't even consider myself an "indie" company. I would consider myself a hobbyist. Honestly I want to develop this game because it is truly fun (Ive been playing with real board pieces to test the concept with friends here and we are all loving it). I have run across you and SFS as already developed solutions that can handle cross platform multiplayer options.

    Part of has been thinking of just doing an iOS version using gamecenter and seeing how it is received and if it makes any money, investing in an Android version and the server required for cross platform play.
  • We offer a free 100CCU license for Photon. 100CCU means: Up to 100 users can play at the same time, without you having to pay anything to us. So, if your game flops, you will not have to pay us anything for using Photon. You only will have to pay a onetime-fee for a license, which is allowing more users at the same time, if your game gets successful enough to have more than 100users playing it at the same time and than as an indie you can get 500 CCU for 450$, 1.000 CCU for 950$ or unlimited CCU (only limited by the performance of your server hardware (the licenses are per server, so using multiple servers means the need for multiple licenses, but there won't be the need for multiple servers for the kind f game, you are planning, until having many thousands of users online at the same time, meaning tenthousands total)) for 1.450$ on-time fee. So it is unlikely, that you will have to pay anything for using Photon, without making money with your game.
  • I assume you are familiar with Words with Friends on the iPhone? This is a turn based game between two players that can take a week to finish some times. My multiplayer game mechanics will be similar. Play a round and wait for your opponent. While the other player is "waiting" since they are in an active game, would that could as a concurrent user?
  • That depends on how you would handle it technically. If they keep there connection to the sserver all the time, than they would count as concurrent users, but that wouldn't make much sense, as they would have to send pings to tell, that they are still there for days, even if they do not make a move all the time and if one looses connection for a few seconds just once the game would be over in the middle.
    So a better solution would be to store a unique identifier of every player, currently involved in a game (or in several at the same time, if that should be allowed), in which games he is involved and the current game situations on the server and just update the data, everytime, they someone makes a move and sends his mvoe to the server. The other clients now could connect to the server once in a while, to check, if a move has been made in a game, they are involved in and then disconnect again.
    You will have to experiment, how often you want the players to connect for updating thei information to have them not to wait to long for a move, made some time ago, but as teh connections would only be needed for a few seoncds, you could build up connections every 5min or so and still have thousands of players online within the 100ccu of the free license. Looks like with that approach we will not get very much money from you :(
  • Thanks for the good explanation. I am currently exploring using Unity3D as the dev platform for my game and integrating it with Photon. With all the time I do researching and reading, I wish I could just code :)
  • Do you know anyone who has used Adobe AIR 2.6 on a mobile device with a Photon server? Still researching the best cross platform development platform and AIR is now a decent option.
  • I think some customers are using AIR but noone told us they are using it cross platform.
  • Kaiserludi wrote:
    That depends on how you would handle it technically. If they keep there connection to the sserver all the time, than they would count as concurrent users, but that wouldn't make much sense, as they would have to send pings to tell, that they are still there for days, even if they do not make a move all the time and if one looses connection for a few seconds just once the game would be over in the middle.
    So a better solution would be to store a unique identifier of every player, currently involved in a game (or in several at the same time, if that should be allowed), in which games he is involved and the current game situations on the server and just update the data, everytime, they someone makes a move and sends his mvoe to the server. The other clients now could connect to the server once in a while, to check, if a move has been made in a game, they are involved in and then disconnect again.

    This is the same sort of approach I was looking at for my game as when the user is managing their character I don't need them to be constantly connected. Though when they enter a battle with other players I want it to be real-time turn based. Though for smaller battles having it go this route could work as well.

    My thought also was that I'm developing for iOS so was wondering what the battery drain would look like if I was keeping a connection open even though nothing is really being done until you start a battle other than customizing your character and shopping for items.
    Kaiserludi wrote:
    You will have to experiment, how often you want the players to connect for updating thei information to have them not to wait to long for a move, made some time ago, but as teh connections would only be needed for a few seoncds, you could build up connections every 5min or so and still have thousands of players online within the 100ccu of the free license. Looks like with that approach we will not get very much money from you :(

    It seems like a sad fact, but take heart, in the event that a modest amount of people start playing something like that, many people that play games like Words with Friends, some players get into playing back and forth quite vigorously as I have done with friends before. So that can drive up the CCU some. Though I find I would rather be safe with more than just the free license once I launch my game to make sure I don't start hitting any unexpected ceilings if my game rapidly decided to grow.
  • That brings to mind a good question: Is buying a license and activating it on the server rather instantaneous? Meaning can I buy it and get in within minutes and activate it on the server a few minutes later if I see growth?
  • shaxs wrote:
    That brings to mind a good question: Is buying a license and activating it on the server rather instantaneous? Meaning can I buy it and get in within minutes and activate it on the server a few minutes later if I see growth?
    The new license will be created manually by us within 1 workday and sent to you by mail. From there on, login on your server, replace the old license file with the new one, restart Photon.
  • I edited the above answer. Generating the licenses is not automated yet. We will send you one within a workday though.
Sign In or Register to comment.