Skip to main content
GameDev.net gamedev.net
🔒 Locked

Multiple highscore tables

Started by haydxn Sep 12, 2006 at 7:24 PM 0 replies 650+ views
Original Post
haydxn
haydxn
Hi there, This is probably going to sound a bit odd, but I thought I may as well ask here. I'm designing a reusable general 2D game engine with the Juce library. You've probably not heard of it, because it's not really suited for games - it's a cross platform application development library, which has support for graphics, audio, general UI stuff as well as basic containers and other app framework stuff. But that's neither here nor there. I want to make a high-score table system that is flexible enough to allow for more than just a simple 'this player got this score' situation. Consider the following imaginary game: - The player has to stay alive for as long as possible - The player must kill as many enemies as possible - The player must obtain as many points as possible (killing, collecting, staying alive, etc..) Now, these values may hold different significance to different gamers. Some may be interested in staying alive as long as possible. To others, that's great, but rubbish if you're not killing anything in the process - so you want to also see how many kills have been made. That's fine, you can keep a trace of the kills too and display that with the score. But then there's the player who thinks that the killing is what is important, and only wants to see the highest number of kills (and see the other stats as side info). And of course, there is the player who only wants to care about getting as many points as possible. Okay, so a solution would be to keep some kind of database, and just display/sort the table as appropriate for each perspective. Well, that's just fine and all, but to actually allow for such a system, i would have to store EVERY SINGLE outcome of EVERY GAME just in case. Why? Let's say a big long streak of high-survival-time, low-kill games took place. If there were some kind of limit to the number of records held, some other records (with high kill numbers) might get lost due to the insane survival times being stored at the top of the table. I simply don't want to store an entire history. That's pointless. I want to have a table that stores the best 10 survival times (along with their other stats), a table storing the best 10 kill scores (along with the other blah), and a table storing the best 10 overall point scores (along blah blah). Consider also that it is possible that the different tables may all contain score records from totally different games. The problem is making a flexible system that can be implemented by anyone using my game framework, that can cater for this kind of scenario as well as more basic 'score' situations. I think I've almost got a solution, but I was curious as to whether or not anyone else has tackled this sort of issue before. Sorry for the long post!
Bob Janova
Bob Janova
I've not tackled this problem, but it seems to me rather simple (at first glance). Simply store the high score tables seperately, that's (size of table)*(number of tables) sets of stats, which will only be 1000 or so at most (10 tables, 100 top scores on each). That's simply not enough to worry about optimising out games which are on more than one table.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.