Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Backend service for indie games

Discussion in 'General Discussion' started by Artaid, Aug 22, 2015.

Thread Status:
Not open for further replies.
  1. Artaid

    Artaid

    Joined:
    Aug 20, 2015
    Posts:
    8
    Hi!

    just wondering what kind of backend service do you usually use for process user login and manage in-app purchases? custom server or any third-party service?

    If custom, are you using MySQL database? Redis? or some other?

    How many CCU do you handle?
     
  2. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    851
    Welcome to the Unity forums.

    This topic has been covered quite a bit already. You should do some research with the forum search tools.

    Here's a good thread to start off with: link.
     
    mikaisomaa and Aurore like this.
  3. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    2,984
    Generally speaking, you don't connect directly to MySQL from your game. You set up a web service using PHP and MySQL. Your PHP page talks to the MySQL database, and your game talks to the PHP based web service.
     
  4. JamesLeeNZ

    JamesLeeNZ

    Joined:
    Nov 15, 2011
    Posts:
    5,616
    I would probably just recommend playfab
     
  5. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    I tried them all, and GameSparks for me is by far the best of the lot.
     
  6. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    i tried playfab before it was pretty interesting but since they made a rewrite of their pricing and gamespark is cheaper/ better features/ do not depend on photon for simple things like chat/have better documentation and management webapp, i would definitely use gamespark if i need a backend
     
  7. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Im stuck between Playfab and Gamespark at the moment. Playfab looks like it has more covered, but it has pretty bad unity documentation
     
  8. Brendan-Vanous

    Brendan-Vanous

    Joined:
    Nov 7, 2014
    Posts:
    73
    @Damien Delmarle: Could you let us know the specifics of your evaluation? From the numbers we've crunched, I would argue that we are not more expensive, but I'm happy to work through the details with you. For anyone looking to build a game needing a backend, if pricing is a concern, feel free to reach out to us at devrel@playfab.com. We'd far rather your decision be based upon features, reliability, and scalability - the factors that will make your game successful long-term.

    @ostrich160: Could you let us know what you're looking for, specifically? In addition to our API documentation, we have a number of blog posts, forum posts, and tutorials on developing with Unity. I'm sure we can get you the info you need.

    Brendan
     
  9. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    @Brendan Vanous: sure lets take a game example, where i need to calculate logic (use CloudScript) and sell items with playfab i need to pay 180$ per months for 1k daily user, with gamespark its free for all features and same DAU.

    I would agree however Gamespark documentation is really hard to dive in, most of example cover the same thing, but when you wanna do something different like simple save player data, good luck, i remember this took me few minutes to have on playfab when their pricing was not realtime multiplayer game based on
     
  10. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    GameSparks has tons of youtube videos explaining how to do certain things, also their forums have a lot of knowledge as well, most of my questions are answered in the forums.
     
  11. Brendan-Vanous

    Brendan-Vanous

    Joined:
    Nov 7, 2014
    Posts:
    73
    @Damien Delmarle: It sounds like you're referring to our previous pricing model, where we had 1K DAU for free. We did discontinue that, but it was in part due to our introduction of a Free tier. That tier provides what many F2P mobile games need - receipt validation for Apple, Google, and Amazon, authentication with all those services plus Facebook, Steam, and Kongregate, as well as player data, and title data, all at no cost. So by comparison, you could have 1 million DAU in our Free tier for $0. No other service provides that.

    Yes, if you need the more advanced features, that moves you into a paid tier. However, assuming that you want your title to be successful and go beyond 1K DAU, I firmly believe that our pricing is very competitive, and we're happy to work with developers to meet the pricing of any viable competitor. Again, I would prefer for the decision to be based on the features you need, not the price. After all, the most important thing is that you have the functionality you need to enable your game's features, rather than building features around external limitations.

    @Meltdown: If there are any questions you feel are not answered by our documentation, forums, blog posts, or videos, feel free to let us know. We'll make sure to update with that information.

    Brendan
     
  12. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    I believe after having tested both recently they have both their advantages, depending on the type of game you are doing one will be better for you. they have different sets of features & similar features using different methods for different types of games

    Playfab is more user friendly, you do not need to use cloud script for doing things very simple like reading/updating player data which is a big productivity +, you only need one function to do that.
    Playfab have nice currency system, you can do like clash of clan, increase it every minutes.
    Gamespark have all features for free for 1k DAU which is great for starting.
    Gamespark have a achievement system, even if its pretty basic its usefull but again you need to do lot of code while in playfab you could do that easily with updating player data for example.
    the documentation in Gamespark is not very good and not logical, the youtube tutorial cover the same things as facebook login leaderboards and matchmaking, it miss more details on cloudscript or manipulate player data (except leaderboard). as Gamespark heavily depend on cloudscript, playfab get more points for being easier to use and less feature rely on cloud script server, Gamespark documentation is "partially" not oriented toward unity but only give you json request/response which are usefull in the harnest.
    Playfab on its side have better video tutorials which cover all basic features you would need in your game with drag and drop prefab. it also have a wonderfull MOBA example which cover almost anything you would need for that type of game.
    considering the support they are both very responsive and you can feel they want you to finish your game.

    after few days learning how to use Gamespark i believe its great and very flexible you can do almost anything and their configurator is really neat, but this complexity is big step when you start learning it.but I miss Playfab simplicity doing anything take a minute and give you immediate result However i feel ( not sure yet) less flexibility.
     
  13. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Its more of an all around thing. For example, you have your login example, but what I wanted to make a custom login, where for example it logs you in with your device ID and then allows you to enter a display name. Or how do I implement matchmaking, I know I can use photon, but how do I use that with PlayFab
     
  14. appslabs

    appslabs

    Joined:
    Aug 5, 2013
    Posts:
    121
    @ostrich160 Try Kii Cloud mate. It works really well with Unity and it has great documentation and the APIs are easy to understand.

    You can implement custom login with Kii and use it with photon networking. Cheers!
     
  15. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Does it come with Photon, like Playfab does though? Or any multiplayer/matchmaking?
     
  16. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    Kii only supports Android and iOS. If you're building with Unity, do you really only want to to release your game on two platforms?? If you wanted to release on PC, Steam or WebGL or consoles, you'd need to use a different backend provider.

    @Oisin-GameSparks you might want to follow this thread.
     
  17. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Not right now, but then again if I'm gonna learn to use one of these backend services I may as well choose one thats futureproof, so good point.
    Doesnt look like kii has multiplayer anyway so its not an option for me.
     
  18. appslabs

    appslabs

    Joined:
    Aug 5, 2013
    Posts:
    121
    No, it doesn't comes with Photon. After all its just a backend service. You can implement the matchmaking stuff with photon (using custom room properties, I guess).

    Nope, kii supports almost all unity supported platform. I recently tested it with PC and Web. And for the networking I used Photon. Everything worked fine.
     
    Meltdown likes this.
  19. EETechnology

    EETechnology

    Joined:
    Aug 15, 2015
    Posts:
    185
    For me the best method is using directly MySQL. I dont like using third party services and assets if I dont have too. Its really cool and fun to store the values in Database yourself. You have full control on what you are doing. You just create the database, host it and create some php files which are going to be executed directly from Unity. Its the best way for me ;)
     
  20. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    Apologies, they must have added these platforms recently, when I was evaluating them 6 months ago, they only supported Android and iOS.
     
  21. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    It does seem to support PC and WebGL, as appslabs has just corrected me.

    Gamesparks is running a beta on a realtime multiplayer system tied into their matchmaking and challenge system, unfortunately I'm not at liberty to tell you more. To find out more contact them directly.
     
  22. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    See the issue is, PlayFab comes with Photon, and it doesnt cap the CCU when your using with playfab. However buying it separately wouldnt give me the unlimited CCU
     
  23. Brendan-Vanous

    Brendan-Vanous

    Joined:
    Nov 7, 2014
    Posts:
    73
    @Damien Delmarle: Heh. You're absolutely correct - we do want to see all the games ship. For my part, I spent many years in the ATG team in Xbox, and I loved seeing all the new and different concepts people came up with when we ran the Dream, Build, Play competitions.

    But could you let me know where you feel PlayFab isn't flexible? We've taken pains to make sure we're as flexible as possible, but if there's something we could be doing better, we definitely want to know more.

    @ostrich160: Your scenario of custom login with Device ID and then adding a display name is not a problem at all - it's two API calls - one for the login (using the iOS login for this example, but we have others) and one to set the name. Feel free to let me know if you need more info.

    For matchmaking, if you're using Photon Cloud you need to use their matchmaker, since that's how their system is designed. If you have a non-realtime game, we have a blog post on how to do asynchronous matchmaking in PlayFab (along with a sample project in our Cloud Script GitHub repo), and we support custom game servers if you're building something which requires that (with matchmaking - either using ours or writing your own).
     
    ostrich160 likes this.
  24. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Hi Brendan
    Sorry I always forget to mention, its not really the login I'm having much of a problem with, or the matchmaking. I use them two as an example because I always forget about the third part, which I do really struggle with, which is the inventory.

    I want players to be able to buy characters with in app purchases or in game currency. Thats not much of a problem. My problem comes more in adding the character to the players inventory, and then my biggest issue, displaying the users inventory and allowing them to select the character to play as.

    Sorry I didnt mention this before, I always forget to when I'm talking to someone from Playfab (I've been having a chat with Mark Val over email), despite the fact its really my only issue. Hopefully you can help with this.
    Cheers
     
  25. Brendan-Vanous

    Brendan-Vanous

    Joined:
    Nov 7, 2014
    Posts:
    73
    Sure thing - is the first issue that you're having trouble with the GrantCharacterToUser call? We do tend to get ahead of the Game Manager in our functionality at times, so the front-end dev has to catch up - right now, you can set the CanBecomeCharacter flag by editing the JSON for the item in the catalog directly, using the Edit JSON option (or you can write it to the object in an API call to set the catalog up). We'll have that as a tick-box in the Game Manager soon. The flag itself is there to secure the character creation process in your game, so that a hacked client can't try to make a character using an item you don't want them to.

    To show them to the user, I would recommend using GetAllUsersCharacters (https://api.playfab.com/Documentation/Client/method/GetAllUsersCharacters) to get the info for the player's characters - they're not actually part of the inventory once they've been created.

    Let me know if that helps, or if you have any other questions on this.

    Brendan
     
  26. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    How would I actually display the characters though

    Also my characters are purely cosmetic, no stats. Is this an issue?
     
  27. GameSparks-Shane

    GameSparks-Shane

    Joined:
    Sep 10, 2015
    Posts:
    1
    Hi All,

    Shane from GameSparks here, I did the tutorials you can find on YouTube.

    First of all, I, or anyone else on the team would be happy to give you a live demo on Skype or Hangouts.

    Thanks for all the great comments on here, we're committed to making GameSparks, the most feature rich backend platform for games, and doing so at the best prices. Mail info@gamesparks.com and we'll contact you to arrange a demo.

    Anytime a studio has done a technical deep dive while comparing our platform to others we have come out favorably.

    There's currently 100's of live games running on GameSparks, most of which use Unity. One of the bigger ones is Lara Croft Relic Run which runs on all mobile platforms. Lots of games from indies who use us are getting featured recently on both Apple and Google stores, most recently MazeCraft from Liger Games.
     
    Meltdown likes this.
  28. Brendan-Vanous

    Brendan-Vanous

    Joined:
    Nov 7, 2014
    Posts:
    73
    Not an issue at all. Characters are owned by the player account, and we provide ways for you to give them inventory and stats, but the system is designed to be as flexible as possible - you can use stats and inventory with Characters if you choose to, or not.

    To display your characters to the user, you can use anything you like. PlayFab is a complete backend for games, but it's not a presentation layer. We'll be providing skinnable interfaces for some components later on, but our primary goal is to provide all the services you need without interfering in your interactions with the player.

    Brendan
     
    ostrich160 likes this.
  29. GMM

    GMM

    Joined:
    Sep 24, 2012
    Posts:
    301
    For the systems i have developed, i have always built them customly from the bottom using things like Apache(PHP, MySQL), NodeJS and Redis. For deployment i tend to use Microsoft Azure due to how robust it is(and very cheap for the services you are getting).

    I understand why most people use existing solutions, but having full control over the data is key when we are doing a lot of enterprise solutions(data security sometimes an important factor).
     
  30. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    I used Azure Mobile Services for a game I worked on, and let me just say I found it extremely frustrating to work with. The open source plugin that i used to talk to Azure also had it's fair share of bugs, but many times I was banging my head against the wall trying to figure something out or had to read about 3 or 4 MSDN articles before something clicked or explained something properly.

    I found it's better to just use a solution that takes all those intricacies away and lets you focus on game logic instead of managing server and system configuration and all the headaches that come with it. (Azure Mobile Services has tons)
     
  31. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Im still learning PlayFab, so my issue isnt what do I use, but how do I do it? If you could give me a rough example of how it would work with unity, that'd be great
     
  32. Brendan-Vanous

    Brendan-Vanous

    Joined:
    Nov 7, 2014
    Posts:
    73
    We have quite a few examples and docs on using PlayFab with a Unity focus. A good place to start is out Getting Started Guide (https://playfab.com/docs/getting-started-guide/), since it walks through setting up your game with a catalog, getting the player's info, and making a purchase. At the other extreme, we have things like an open source MOBA game integrated with our service, which you're free to use as a base to build your own (https://github.com/PlayFab/UNION-OpenSource-MOBA).

    If there are specifics areas you'd like more info on, feel free to let me know and I'll get you the pointers to the relevant docs/samples/etc.

    Brendan
     
  33. ostrich160

    ostrich160

    Joined:
    Feb 28, 2012
    Posts:
    679
    Thanks Brendan. The issue is, the getting started guide and the Unity guide are separate, and the unity guide doesnt cover everything that the main one does. Is there any advice you could give me to 'translate' the normal programming language used to something I could use within Unity
     
  34. Brendan-Vanous

    Brendan-Vanous

    Joined:
    Nov 7, 2014
    Posts:
    73
    Sure thing - the "normal" language you're seeing would be Web API calls, which are the base for most features of our service. There's a 1-to-1 mapping between the API name in the base (Web calls) and in any of our SDKs.

    First, the class for the API methods will always be based on the API naming - so, PlayFabClientAPI for the Client API set, for example. It's contained in a PlayFab namespace.

    All the input and output parameters are also a 1-to-1 mapping of the name of each parameter shown in the Web API docs, with the input parameters all wrapped in a class usually named [API name]Request and the response parameters coming back in a class usually named [API name]Response. There will be a few exceptions, for efficiency - for instance, the response info class for all the login calls is LoginResult.

    The actual input to the function call for the API method is always the request class instance you've put your parameters in, followed by a callback for a good response and another for error processing, and finally a custom data object (which you can use for any data you want to have when you're processing the response).

    If an error occurs, the error callback will receive the details in a PlayFabError object, while a good response will get an object of the response type described above.

    Brendan
     
  35. TobyKaos

    TobyKaos

    Joined:
    Mar 4, 2015
    Posts:
    212
    Hello,

    I used ClanOfTheCloud backend: http://www.clanofthecloud.com/ for the game I develop. Well integrated with unity and others platform. Take a look at their free pack.
     
  36. cdutly

    cdutly

    Joined:
    Nov 18, 2014
    Posts:
    3
    Would you share some information about the pricing you feel about using GameSparks? Is it affordable for indie and small studios?
     
  37. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,797
    I have an enterprise account with them. Contact them to find out more about it. You can get your MAU cost heavily discounted if you go this route.

    With this enterprise account, yes its even more affordable.

    Whether you consider it 'affordable' is up to you though. But in my opinion, yes its very affordable, even without enterprise discount.

    But the key is making sure your game is monetising its users correctly. If you have the users, and the game is well monetised, then yes, GameSparks MAU service related costs will be well worth it.

    Take a comparison with say Azure Mobile Services. I spent 6 months working on a game for a client using it. Of those 6 months, about 1 month was lost in configuring servers, fixing configuration issues, debugging problems, searching forums for issues and fighting with the open source plugin I was using.

    With GameSparks I've had none of those issues, everything is taken care of for you. Their SDK is awesome, with a simple callback architecture, and their admin portal is insanely good with some amazing features. I wouldn't dream of the cost it would take to get something up and running like this myself. Gamesparks will literally save you years of development, while making you extremely productive at the same time.
     
  38. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    also now indie get 100k free monthly active users with gamespark, which is pretty great.
     
  39. MikeTagGames

    MikeTagGames

    Joined:
    Sep 30, 2016
    Posts:
    4
    At Tag Games we use our own backend service that we made publicly available back in June, ChilliConnect. We've used it on loads of our own games since 2011 including titles developed with Activision and Mind Candy so it's really robust and proven at scale.

    Lots of good discussion here on pricing for Indies - I know the Chilli team are actively working with devs to figure out what exactly they need and providing bespoke cost-effective pricing. For example, if you just need leaderboards, they will provide you with a price for just leaderboards (rather than you paying a premium for loads of stuff you never need) that tends to work out much cheaper than other available options. The team have also put a lot of effort in to their documentation to make the platform really easy to get started with.

    It's definitley worth checking out for Unity developers.
     
  40. BearHugMark

    BearHugMark

    Joined:
    Feb 21, 2016
    Posts:
    20
    Chilli Connect all the way!! I've just started using it, and it's perfect. Does exactly what you need it to, and the web interface to explore the data on your backend is elegant and straight-forwards. I've been speaking to Mike a little to get set up, and he's been incredibly helpful. Highly recommended.
     
Thread Status:
Not open for further replies.