★ TouchArcade needs your help. Click here to support us on Patreon.

Developing High Scores/Online Leaderboard Service

09-07-2009, 07:25 AM
#1
Joined: Aug 2009
Location: Amsterdam, NL
Posts: 68
Developing High Scores/Online Leaderboard Service

So, I started researching the different leaderboard services that have appeared Ė scoreloop, openfeint, igetscores, agon, gecode Ė and for my current project I decided that it was best to put together a simple, internal solution. I couldnít find much discussion on the forums about supporting a high scores web service, other than talk about the different social networking services I mentioned.

Are many of you doing this yourself? Is it something you think is better to hand off to a dedicated party, even if you donít use all the extra feature hooks they offer?

As an offshoot of some playing around Iím posting a 2-part tutorial on my blog about how I approached this with a Rails web service (shameless blog link); although the 1st part is just basic iPhone SDK techniques (probably inelegantly done at that), the 2nd part may be of interest, and heroku.com offers free Rails hosting so itís a good place to experiment with no cost but your time.

I assume other developers choose an existing service either (1) because itís probably faster than implementing one personally, and (2) because it provides access to social networking features, and maybe some useful analytics as well. I think I may be a little library-/cloud-phobic in this regard, and would prefer the simplest solution, and one that I totally control.

I guess itís also just a bias on my part that I assume high scores are pretty much always a valuable addition to a game.

Anyway, has anyone here developed a good leaderboard themselves?

Blog : travisdunn.com | Apps : New Breeders, Rogueship, Lobbyist Directory (in review)

ROGUESHIP - Space Trading in a Sci-Fi Universe - get it now in the App Store
iTunes Link | rogueship.net | twitter
09-07-2009, 09:13 AM
#2
I developed my own leaderboard with PHP, MySQL, and HTML written in Notepad on my windows laptop. This stuff runs on my own webserver.

Seriously, I dislike the lack of control that other options provide. I don't like all the social networking and chat options because they detract from, you know, actually playing the damn game! There was not much competition out there back when I did this either, but my opinion still holds true today.

You can see the leaderboards for Rogue Touch here. Global high scores definitely add value to any game, and I'm glad I set it up. My next generation of the online component will be more advanced than just high scores, but I can't talk about that new game just yet

--- ChronoSoft ---
Support your roguelikes! Play Rogue Touch today!
Spirit Hunter Mineko: Demons Reach --- Work in progress! Follow us on Twitter!

09-07-2009, 10:56 AM
#3
Joined: Oct 2008
Posts: 279
Yeah did my own. Simple bit of php to query and update a database, and iPhone code to 'POST' data to website. Uses udid to reference the database. Dead simple really (I thought anyway ...)

Follow me on Twitter
Games/Ports I have on Appstore
GeoTris $0.99, iPlutoid Free, Neverputt ME $0.99, Noiz2sa Free Free, Neverputt HD $0.99
Coming this year MiZoo 2, 2 untitled games in work
09-07-2009, 11:28 AM
#4
Joined: Aug 2009
Location: Amsterdam, NL
Posts: 68
Ah, it looks like I basically fell onto the same page as the both you about how to implement this.

And the Rogue Touch listings are pretty sweet. I like the spread of rankings so that more players get a chance to appear on the boards. It also suggests 'minigames' played around the different ways you can rank. Nicely done.

Blog : travisdunn.com | Apps : New Breeders, Rogueship, Lobbyist Directory (in review)

ROGUESHIP - Space Trading in a Sci-Fi Universe - get it now in the App Store
iTunes Link | rogueship.net | twitter
09-07-2009, 02:02 PM
#5
Joined: Aug 2009
Location: San Francisco
Posts: 362
Send a message via Skype™ to micah
Did either of you put any work into preventing people from cheating? I'm just curious because I've thought about this myself and it seems like it wouldn't be very difficult for someone to craft their own fake POST request and give themselves a really high score.

--=] Insurgent Games website | twitter [=-
Cryptose (TA) - Skeleton Key (TA) - Skeleton Key HD (TA link) - Aeropack (TA)
09-07-2009, 02:26 PM
#6
It's possible but you have to think of the market. Most people aren't going to take the time to do what's necessary to find out what their iPhone uploaded to fake a score. As with most hacking the vast majority of people aren't going to bother and the ones who do usually like the challenge of beating your security which is what attracts them in the first place. Also, it's trivial enough to add encryption to your data and decipher it on the server.
09-07-2009, 02:36 PM
#7
Quote:
Originally Posted by micah View Post
Did either of you put any work into preventing people from cheating? I'm just curious because I've thought about this myself and it seems like it wouldn't be very difficult for someone to craft their own fake POST request and give themselves a really high score.
Yes I put thought into preventing cheaters (as well as people posting scores with swears in their names, since my game is rated 9+)... All implemented nicely, also included a geo-location IP address lookup to assign country flags to players (no need for GPS!). The relevant terms you want to look up are MD5s and hash and salt

Oh, and thanks for the compliment on the Rogue Touch leaderboards Travis, you're right... the format I chose lets a variety of people with differing play-styles to get a ranking place on the boards. Plus I can set up contests with minimal effort: just generate a new SQL Query and PHP script, then post about it in the forums and you're off and running

--- ChronoSoft ---
Support your roguelikes! Play Rogue Touch today!
Spirit Hunter Mineko: Demons Reach --- Work in progress! Follow us on Twitter!
09-07-2009, 07:15 PM
#8
Joined: Aug 2009
Posts: 26
Quote:
Originally Posted by CommanderData View Post
The relevant terms you want to look up are MD5s and hash and salt
Besides the MD5 hash and salt I would recommend using some sort of cryptography to avoid exposing your salt in the binary. For example a simple substitution cipher (link).

Lunarcy a really challenging retro looking arcade game.
09-07-2009, 09:28 PM
#9
Joined: Jul 2009
Location: china--beijing
Posts: 561
in Shark's Treasure ,I used cocoslive,very easy and handy one
www.cocoslive.com
09-08-2009, 01:52 AM
#10
Joined: Feb 2009
Location: Sweden
Posts: 1,634