Hiscore Lifetime

Discussion in 'Public Game Developers Forum' started by Broxxar, Dec 5, 2013.

  1. Broxxar

    Broxxar Member

    Jun 7, 2013
    18
    0
    0
    Kingston, ON
    #1 Broxxar, Dec 5, 2013
    Last edited: Dec 5, 2013
    How long should high scores last? I'm thinking of showing scores for daily bests, weekly bests, and monthly bests.

    Should I do annual? Or maybe just all time? If anyone has experience with implementing high scores or just any insight on the matter I'd love to hear it.

    Also as a side question, has anyone released a title on iOS that didn't use game center for high scores? I'm planning on rolling with my own SQL/php back end, if only to get cross-platform between android/iOS.
     
  2. Hendrix

    Hendrix Member

    Dec 6, 2013
    6
    0
    0
    Power Engineer
    BC, Canada
    I'm facing some of the same questions for my own game so I will chime in with my 2c.

    It depends on what kind of high scores you are saving as to how long you should display them for, or how many you should display for that matter. It is a problem I am currently starting to face as more high scores fill my tables, the discrepancies between each score start to narrow. Since I am using time, rather than a numerical score, many overlapping times start to become posted and soon you have 100 people with the same ranking. This could be a non issue for you but something to consider in that you want to have a good level of variance between the scores.

    As for the question of how long you should display them for, if I was to implement it this way (high scores are currently permanent) I would most likely go all the way and add a way to filter by daily, weekly, monthly, all time etc. This should be trivial if you are able to implement a way of timestamping when a score was entered.

    This leads me into the side question, where I decided to roll my own solution for high scores and other online functions for the exact reason you posted, which is cross platform compatibility. I am releasing for PC, iOS, and Android and, knowing absolutely nothing about php/mysql, decided to just jump in and learn. It was quite trivial setting up a database on my hosting, and most will have guides on how to do this anyways. From there I am simply sending http posts to my site and updating the tables accordingly. The benefit of doing all of this from scratch was the flexibility to add other features such as a level editor where the levels can be sent over to the database in the same way as a high score, as well as the ability to have my own somewhat limited analytics. Just something to consider if you are already doing your own online backend, as its trivial to track other things about your game that can prove quite useful during testing.

    If you have any questions about setting up your own backend for high scores, fire away, but its certainly doable and unless you want to be limited by what you can track with gamecenter, is the way to go.
     
  3. Broxxar

    Broxxar Member

    Jun 7, 2013
    18
    0
    0
    Kingston, ON
    This is awesome. Totally hadn't considered this but eventually I'd like to make a version of the level editor that is accessible to users. Great idea.

    I've sort of got mine working the way I want it, and you can check it out here:

    http://broxxar.itch.io/banana-blast

    Right now the sorting by Bananas or Distance buttons are doing nothing and you just see bananas no matter what. The time buttons on the other hand should be working fine. As you said, it's an easy query change if you just timestamp every score.

    I'm still wondering how much value there is in life time highscores. They'd become "stale" in a sense as people learn to max out score based on the artificial score cap enforced by the difficulty curve. Also with short life time on scores, the inevitable cheaters who crack the hash and post phony scores will get filtered out over time (hopefully my system will be secure enough that cheaters are infrequent).

    Tacking on extra analytics is also a great idea. I might just do a little bit of that ;)

    Thanks for your input. I'm definitely feeling satisfied with the decision to do a custom backend instead of having to implement GameCenter and whatever Android/Play has going on.
     
  4. Hendrix

    Hendrix Member

    Dec 6, 2013
    6
    0
    0
    Power Engineer
    BC, Canada
    The issue with scores becoming "stale" seems more of an issue for your game (I tried it out briefly, seems like a great mobile time waster) since everyone is competing on one (2 if you could distance and bananas) list. With my game, each level has its own high score table, but the issue still arises on straight forward levels where you have an artificial cap on how fast you can possibly beat the level. Eventually I imagine I'll have hundreds of identical first place times which is why I like your idea of having daily/weekly/monthly/life times.

    I want to emphasize that if you are doing your high scores using php/mysql, make sure you use mysql_escape_string (though I think this is depreciated and you should be looking at mysqli now) to prevent injection attacks and some bored kid from blowing up your database.

    You can try out my game in my sig (just click play now on the main site if you are lazy and want to play in browser) to see how I use my database. I managed to implement high scores, user created and uploaded tracks, an in game mail system, friends list, cross device syncing, as well as can track everything from how long someone plays to how many times they have played. No doubt about it, rolling your own solution is always the best if you have the tenacity to figure it out.
     
  5. Broxxar

    Broxxar Member

    Jun 7, 2013
    18
    0
    0
    Kingston, ON
    Ahh thanks for the tip about that deprecated bit of PHP, I'll make a note to revisit that because I definitely used it.

    Love your game btw, very original gameplay and great pixel art. I have encountered a little issue with high scores (of all things heh). I got 11.133s on Trial 1-4, which tied me for 3rd overall with 4 other people. The leader board is displaying ranks 1-5, but I've been put in rank 6, so I can't actually see myself on the board.

    That aside, this game is great for competitive leaderboards because the optimal strategy isn't always obvious. Let's see how long I hold that 1-5 record of 17.933s ;)
     
  6. Hendrix

    Hendrix Member

    Dec 6, 2013
    6
    0
    0
    Power Engineer
    BC, Canada
    Thanks for the heads up on that, I really need to revisit the way I sort and order the scores if I do implement filters for day/week/month etc. By the way, I hadn't actually considered this as a solution to the problem of having tons of identical scores before but your post has inspired me a bit. Would be awesome if anyone else had any insights into how they have handled this sort of thing.
     
  7. Toddarooski

    Toddarooski New Member

    Jun 18, 2013
    3
    0
    0
    Full disclosure: I work for Google, so I'm a little biased. :)

    I do want to take a moment and mention that the Google Play Games leaderboards and achievements are available cross-platform. We have both an Android and an iOS SDK that you can use, and we also just released an open-source Unity plug-in, if that happens to be what you're using. We have support for multiple leaderboards and automatically support daily / weekly / all-time leaderboards.

    That said, rolling your own using PHP/MySQL can certainly be a lot of fun and a good learning experience. I would watch out for security issues -- sanitize any and all database inputs. And you will run into scalability issues if your game happens to be a runaway hit. But I suppose that's a good problem to have.

    Anyway, shameless plug for the Google Play stuff:
    * Android Getting Started
    * iOS Getting Started
    * Unity Plug-in
     
  8. Broxxar

    Broxxar Member

    Jun 7, 2013
    18
    0
    0
    Kingston, ON
    Appreciate your honesty! Awesome that this is cross platform and has a Unity plugin. Looks like that plugin was just put on github last week. I'll definitely be taking a look at that later.

    I'll probably stick with my current implementation for now but perhaps if I do have a runaway hit with scalability issues this will be a better fit ;)

    Thanks for the info!
     
  9. Toddarooski

    Toddarooski New Member

    Jun 18, 2013
    3
    0
    0
    Hey, sure thing. Good luck with the database building!
     

Share This Page