Search Unity

Do you want Online High Scores?

Discussion in 'General Discussion' started by npsf3000, Dec 10, 2011.

?

And the answer is:

  1. Yes, Give it to me!

    47 vote(s)
    70.1%
  2. No, and your wasting my time (>_<)

    12 vote(s)
    17.9%
  3. Relax Dude, I just do this...

    8 vote(s)
    11.9%
  1. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Would you be interested if I was to offer a simple to use high score service that among other things was ranked?

    I've found finding a ranked HS solution impossible. One game that I thought had it covered was actually downloading half a meg of data in the background! From what I've read traditional DB's do not handle ranked scores well, requiring inefficient paging.

    Of course, I'd also like to know if I'm bonkers and there is a better solution, or you simply work around it.

    Thanks.
     
    Last edited: Dec 10, 2011
  2. UnknownProfile

    UnknownProfile

    Joined:
    Jan 17, 2009
    Posts:
    2,311
    That would be very nice, indeed. Just make sure it works with iOS! :D
     
  3. TehWut

    TehWut

    Joined:
    Jun 18, 2011
    Posts:
    1,577
    Why would you not want online highscores?
     
    AndrewGrayGames likes this.
  4. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    @rab236 - if I was to do it I'd use the WWW class - so it should be usable on any platform.

    @ TehWut - Thanks :)


    A couple people noted:

    'Relax Dude, I just do this...'

    But haven't actually posted what they do. Grrrr.

    :p
     
  5. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Would we be dependent on you to provide a service? Because if so that doesn't really sound desirable... what if you decide to shut down your server? I would think this would appeal only to casual developers?
     
  6. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    Isent it usualy done by just by wrighting to a xml file then pulling the info from that? ive never done it but it dosent sound that hard but i supose it is? if so then yes a high scores system would be nice, would be great if you could eather host your own high scores server or pay a monthly fee to you to host it.
     
  7. Stefano_1990

    Stefano_1990

    Joined:
    Oct 10, 2011
    Posts:
    278
    he might release the source for the server etc so people could use it on their own server? (an idea)
     
  8. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Hi guys,


    Thanks for the comments, there are already giving me points to consider!

    If there is sufficient demand I was thinking of hosting it myself - setting a nominal fee of say $20/mth* for 1Mn scores + all the IOs you can eat. Reactions on pricing? I figure that'll be cheaper than self-hosting even if I was to offer it.

    I would have some sort of back-up system in place, so that if something was to go wrong [or you simply wanted to] you would be able to download all HS's. Given the justified concern I'd make sure it's in an easy to parse format [CSV, XML or JSON - To be decided].

    As Imaginary Human guessed this is primarily aimed at casual developers, but do tell me if your interested in a non-casual role and what features you need. I'm sure we could come to agreeable terms on a case by case basis, including source should you want to host it yourself. There's not that much to what I'm doing, I just want to recoup costs.

    @ Titany - NO! Here's why. 9MB download for 1Mn scores, no ordering, duplicates, and requires re-compression on the server every time you add a score. If you want to update your scores that's another 9MB download. You can be a tad smarter than that example, but ultimately it's orders of magnitudes less efficient and capable.

    I do have a question for you guys, do you want the client to submit the score or do you want to submit from a server? If people want the former I'll have to give you some way of preventing spammers.


    Thanks,

    NPSF3000


    * Pricing is highly speculative, it depends a lot on how much the end feature set costs me, as well as how many people want it. I do want a reasonably low entry price however.
     
    Last edited: Dec 11, 2011
  9. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    im not quite shour what you mean? wouldent the score go directly from the end user to your service? or would i have to set up a server wich takes the score from the end user?

    but yes most likely i would use this aslong as it was simple(for simple folk like me :D) and works with unity script
     
  10. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    I'd probably implement both ways - so that you can submit from the client or submit from the server. The latter of course allows you more control over validation, the former would be more retroactive.

    Good to know that I've now got 4 interested parties :)
     
    Last edited: Dec 11, 2011
  11. Stefano_1990

    Stefano_1990

    Joined:
    Oct 10, 2011
    Posts:
    278
    I find $20/month actually very very much. The cheapest PHP host including a database will probably cost you around $5/month. If you got minimal PHP skills you can patch something together that will fetch from the database and send you back json, xml whatever your heart desires.

    Validation is always done on the server side. I would imagine you want some kind of application id and password the app has to identify itself with. Validation of the actual score is not your problem. If somebody hacks the game and manages to post a score of 100000000 compared to an average score of 300 its not your problem.

    So looking at the limited scope of what it has to do I would have thought of $1.99 - $5 / month.
     
  12. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    i dont think its unreasonable what he is asking he has to make money aswell, prehaps if he made it so theres no upfront fee and then its just $20 a month.
     
  13. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Hi Stefano,

    As I said in my initial post the problem isn't developing a HS system [I can do that for free right now] but getting one that will give me ranked HS.

    Can you develop and host a HS system in PHP for $5/mth that will be able to handle tens of thousands of requests daily like:

    • What player X has a score of 25. What position is he?
    • Who has the 287921st score?
    On a data-set of a Million or more scores? With regular backup to a third party service like AWS in case of disaster?

    If you can I'll hire you! If not then there's a fair chance I'll have to do it myself, hence this thread.

    I should note that the biggest factor on costs right now is Scale. Right now I'm trying to bring it down from $200/user to ~$20/user by talking to you guys and building features you want. I'd probably be able to drop that further if I could tap into a market of hundreds of millions of HS. That said even if I could I'm not sure I would. For smaller games there is already plenty of options, for bigger games $20 is nothing - and they'd prefer I spent the money making sure the service was better.

    Regarding validation I'm going to leave it to the dev, but I do want to give them some tools. I'm thinking of recording IP's of submissions, allowing the upload of a KB of verification data, and allowing the dev to blacklist IP's. It's enough to give them some power should they need it.


    Regards,

    NPSF3000
     
    Last edited: Dec 11, 2011
  14. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    That $20/mth figure does not have any set-up fee attached. Just be warned that everything here's speculative. I'm trying to find the market.
     
  15. Stefano_1990

    Stefano_1990

    Joined:
    Oct 10, 2011
    Posts:
    278
    If you throw all of the player scores for all the games then good luck with that.

    Otherwise you can think of maybe 100-200 requests/s on a single core. So you get an idea of how many scores you can fetch. If I were you I would try to distribute games into DBs. This also means that scaling is not that much of an issue. So if you have a real TOP seller and actually 200 people want to fetch HS simultaneously and you can not do with a 1-3 second delay than you might want to think about some more hardware.

    Backup is no issue. You mirror your DB. Job done.

    Not quite sure why you cant to upload 'verification data' if a simple salt would be enough. Together with the App key and password they would have to reverse engineer the game and then you have bigger problems than HS.

    I have no idea how IP blacklisting would work with mobile devices. I would think that they change their IP fairly frequently. So I would do it by saying that to communicate with your server the app needs to send a user key with it that is generated from the app install. This way you would be able to identify a handset and turning it off/on wouldnt do anything (which it would if you use IP based identification)

    Otherwise just get OpenFeint.

    If you look at the average unity user I would say that they generate maybe a few requests a minute if at all.
     
  16. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Hi Stefano,


    1) I have tried this with DB's BTW. The first one would simple cost a fortune and the latter was too slow for large datasets [avg a second a query]. I haven't tried MySQL but from what I've gathered it would also rely on paging and therefor also be slow.

    2) Mirroring a DB does not give backup.

    3) I said I would probably allow some verification data to be uploaded. Verification data, when implemented correctly, can hamper reverse engineers significantly.

    4) IP blacklisting is just one tool in the arsenal. Same with verification data.

    5) Averages are a poor measure, especially when I'm developing for a niche that clearly doesn't fit the average.

    6) I'm not sure what open-feint offers, but as it looks like it's mobile only what's the relevance?.


    Regards,

    NPSF3000
     
  17. Snowfly

    Snowfly

    Joined:
    Jan 25, 2009
    Posts:
    35
    You might have missed this, but OpenFeint announced earlier in the year that they're taking their API cross-platform. Mac App Store is pretty much confirmed, and Windows app stores and web-based can't be too far behind.
     
  18. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Does OpenFeint require a login for the user to submit a HS?
     
  19. Snowfly

    Snowfly

    Joined:
    Jan 25, 2009
    Posts:
    35
    Yes, once for every game that integrates it. Which social gaming platform wouldn't? It's also free to use. One edge I see your service having over it is OpenFeint doesn't allow you to view leaderboards from the web at the moment. But their userbase is huge, and OpenFeint-enabled games get free promotion on their platform.

    Just want to add that I'm not discouraging you from pursuing this, but I do think these are important things to consider while you're surveying the market.
     
    Last edited: Dec 11, 2011
  20. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    That will meant that your high-score system is tied to open-feint and it restricts what audiences your games can target, for example you'd miss out on Kongregate. As such it's not an option for me, but thanks for bringing it up - it's good to know about.
     
  21. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    If you do it on your own: If you own a web presence you often own some sql and php access which gives you everything you need. I could expect people being more excited by some example code how to do it (implementation in the client and the php/sql part on the server side). Not that it's hard to do but you also first have to do it.
     
  22. Snowfly

    Snowfly

    Joined:
    Jan 25, 2009
    Posts:
    35
    It's a competing service, so you can turn that on it's head. Go with Kongregate Arcade (web, Android) and miss out on OpenFeint (iOS, Android, Win 7, OS X, PC). Devs choice, really. Unless your service is a leaderboard aggregator of some kind.

    Also, which audience you're going for is also a top consideration, since the userbase is what makes the leaderboards (and there will be users registered on both):
    Kongregate: 14.5 million users, core games
    OpenFeint: 115 million, casual gamers

    So are you going for web-based games, and not local applications? I think I might have misunderstood.
     
    Last edited: Dec 11, 2011
  23. Stefano_1990

    Stefano_1990

    Joined:
    Oct 10, 2011
    Posts:
    278
    Why can you not access kongregate arcade from a desktop client? The API from kongregate should be the same. (Unless they employ some weird black magic witchcraft)
     
  24. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    @taumel I've gone over why that doesn't work several times now. In fact I believe there are a couple solutions on the Asset Store that consist of what you've outlined.

    @ Stefano_1990 Snowfly - My particular use case is web-based, but the service would be multi-platform. Given you use a JS library for the kongregate API doing a desktop build [which I've no intention of] would be probably be difficult but possible.

    With the service I'm thinking of building it doesn't matter if you're using Kongregate or OpenFeint* - you can use both! You'd submit a score to your local integration and to the ranked HS. The former would be good for the social features, the latter would give you a ranked global scoreboard!


    *[You would need to look at the T&C obviously].
     
  25. descenderdante

    descenderdante

    Joined:
    Sep 3, 2009
    Posts:
    218
    Well I know a well known platform that will be release Unity support real soon (meaning a week tops).With support for all platforms .And as I know so far it will be free so stay tuned :p
     
    Last edited: Dec 11, 2011
  26. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Does it support Kongregate? Does it support ranked scores? If so, PM me.
     
  27. descenderdante

    descenderdante

    Joined:
    Sep 3, 2009
    Posts:
    218
    Yes has support form ranked scores,achivements ,contests ,virtual goods and yes it works with Kongregate. Also with some crossapp features
     
  28. Snowfly

    Snowfly

    Joined:
    Jan 25, 2009
    Posts:
    35
    Mainly because of their terms of service. You have to be running a game on their platform to be using their API.
    http://www.kongregate.com/pages/help#format

    NPSF/BlueEyes - Interesting times for leaderboard services then! I have to say I'm in love with the idea of Kongregate users being rewarded with redeemables at Gamestop. Definitely something to think about, if you want to reward your users for making the top leaderboards, since they spend so much time gaming already. I know of one service provider whose entire business model is based around this, sort of like OpenFeint meets Groupon, and it's not just restricted to games.
     
  29. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Well I'll give Bluee.Eyess his week, and if nothing turns up I'll banish him to Romania!
     
    Last edited: Dec 11, 2011
  30. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
    ...and the rest is history: blue eyes implemented a highscore system within a week, made millions and npfs3000 turned into a grumpy dude trying to survive with badly payed programming jobs on a weekly basis.
     
  31. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    LOL.

    I have another product in the planning stages, one that should have much larger audience. Build a HS system would be interesting, but I doubt it would do much more than cover costs on a good day.
     
  32. taumel

    taumel

    Joined:
    Jun 9, 2005
    Posts:
    5,292
  33. Stefano_1990

    Stefano_1990

    Joined:
    Oct 10, 2011
    Posts:
    278
  34. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    I appreciate your help, but posting tutorials to code that completely fails to achieve the goals of this thread isn't useful.

    I've already got a more secure, stable, scale-able, managed, featured, cost effective, quicker to set up etc. solution. The problem is that neither solution is ranked as per the OP.
     
  35. Snowfly

    Snowfly

    Joined:
    Jan 25, 2009
    Posts:
    35
    Was blue.eyes' mystery leaderboards platform Unity itself?
     
  36. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Nope, it is a very legit and very interesting platform. Though I'll probably skip it for this current client because it's not released yet [for unity] and would be too disruptive.
     
  37. vdek

    vdek

    Joined:
    Sep 2, 2011
    Posts:
    368
    This is what services like Amazon S3 are for.
     
  38. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    Your price point is way off. There are many services that already do this and more (i.e. general analytics not just leaderboards) and some of them are free (e.g. playtomic).
     
  39. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    As of yet there hasn't been one mentioned in the thread. I'll take a look at playtomic as it *might* be able to do it.
     
  40. mehware

    mehware

    Joined:
    Nov 19, 2007
    Posts:
    739
    GameCenter is great for iOS and there is a plugin for it.

    Consider Windows Azure, its a pay as you go cloud hosting service and I believe they offer 90 days free with a free small instance which would def handle the high scores.

    http://www.windowsazure.com/

    I win!

    - Matt
     
  41. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    http://playtomic.com/api/unity#Leaderboards

    By the way my comment came off a bit negative which wasn't the intent. I've thought of doing something similar myself (to the point of doing a bit of a SWOT analysis, although not much further).

    Here some (unorganised) thoughts I had:

    IMO the main offering here is that the developers won't have to to maintain a server themselves (any serious indie developers will be able to whip up a highscore server). Which means your main selling point should be some kind of guarantee that you wont close down in 6 months. Other selling points, easy integration, flexibility, low cost entry point.

    In terms of commercialization the best two strategies (again IMO) were:

    - to offer the service free to attract a large customer base and then introduce premium services (for example being able to export your data, more view options for analytic data, a premium content platform, etc). It's going to be hard to attract serious developers without some kind of guarantee that you wont go out of business (or just take down the servers) for some guaranteed amount of time.

    - to charge based on traffic and data volumes. Free to start, slowly incrementing price. Positive here is that customers who have a lot of volume are likely making money from their game, and hence more willing to pay.

    For me the biggest turn off was the competition, not just from direct competitors (playtomic), but services like Open Feint and Game Center. Most people trying to make from indie game development are focusing on mobile, its pretty difficult to compete with these two services. However if you focus on web based games (for example), then you face another issue; a large percentage of the customers in this space have web development expertise and already need to maintain a server, there's little to motivate them towards an external solution.

    Good luck if you do pursue this. At the very least you should be able to use forum contacts to gather a small customer base.
     
    Last edited: Dec 28, 2011
  42. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Hi JohnnyA,

    Yeah I noticed that leader-board section on playtomic, which is why I didn't explode with frustration :)

    The reason my price point was so high [compared to alternatives] is because the DIY solution requires a fair bit of RAM - so that's an instant limitation. Add in the strong competition and I've got a very niche product - though one that people will pay $$$ for if they need it.

    With luck, playtomic will just work and all that risk/reward will become moot.

    I do appreciate your advice however, because I've identified another market that I think would be more commercially viable :)
     
  43. JohnnyA

    JohnnyA

    Joined:
    Apr 9, 2010
    Posts:
    5,041
    :) Good luck mate!
     
  44. AnomalusUndrdog

    AnomalusUndrdog

    Joined:
    Jul 3, 2009
    Posts:
    1,553
    To get a player's rank in an sql database, you just count how many distinct records there are whose score is above that player's score

    for example if your score is 12,345 to get your rank:
    Code (csharp):
    1.  
    2. SELECT count(DISTINCT score) AS rank FROM highscoreTable WHERE (score > 12345);
    3.  
    It will count all existing score entries that are higher than 12,345, minus duplicates (same scores would mean same rank). And that is effectively your position in the high score table.
     
    Last edited: Jan 1, 2012
  45. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
     
  46. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    You're talking about millions of score entries to a market that has developers lucky if they have a couple of thousand users who play it for a week before it dies. Doesn't compute at $20.

    For indies you'll be wanting to charge $5 for top 100 for their game, $10 for 500 and $20 for unlimited. These tiers encourage you to check out the higher end deal, because the massive scaling of bang for your buck. It also encourages developers to have a go at throwing away $5 a month for a top 100 list if they don't know anything about the process.

    If you can automate it, you might do well. But flat pricing of $20 for 1 million is totally pointless, nobody cares about holding the scores for 1 million people, and throwing away $20 a month is beyond absurd for zero business opportunity. Holding 1 million scores will never be a selling point. They might as well not have online scores.

    Just my 2 cents: offer a small package, 100 scores and up.
     
  47. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Posts:
    3,830
    Hi Hippo,


    My need is/was quite a specific niche. Building a HS system that displays the top 100, 1,000 or even 10,000 scores in a ranked manner is fairly trivial and could easily be accompanied on a few $ of hardware. The costly aspect would be building the billing system and website! It's a market I might branch into, but given the competition, I doubt it would ever be a profitable one. The particular niche I've identified [many scores - ranked - no branding] has clients willing to spend three figures monthly on, so $20 month isn't that bad - especially when the alternative [barring playtomic if it works] would cost four figures or make-do without.

    That said I've not committed to making anything or the $20 figure, they were purely for feedback. As such I thank you for yours :)


    Regards,

    NPSF3000


    ----


    For all real purposes this thread is dead - we've covered everything several times. If you do feel the need to add to it p[lease ensure you've read the whole thing!
     
  48. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    If C# is more of your thing, in an Express version of Visual Studio, you could create a simple MVC project - complete with server code - and their Web Builder stuff will help you find a hosting service. Most of those cost about $5/mo as well. In fact, you can find some of said options here.

    The business thing is your decision, but at $1/mo, you'll break even if 5 developers subscribe to your service (based purely on financial cost, not necessarily time investment.) Make of that what you will.

    EDIT: Oh, balls. Thread necromancy again. WTF!?
     
  49. JamesLeeNZ

    JamesLeeNZ

    Joined:
    Nov 15, 2011
    Posts:
    5,616
    shame ;P

    although I didnt notice myself while reading through the posts... heh.
     
    AndrewGrayGames likes this.
  50. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    One of these days when I can make a game that's worth a crap, I'm so going to make a game about thread necromancy. This crap is going to be brutally mocked.
     
    Ryiah likes this.