Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Request for features needed in online high score table

Author
Message
spooky
22
Years of Service
User Offline
Joined: 30th Aug 2002
Location: United Kingdom
Posted: 11th Jan 2006 16:12
I am about to begin writing a tutorial on how to implement a proper high score table with online syncronising, as used in many DBPro games, including my game 'Splat'. I have been asked to help a guy who wants to incorporate it in his game but he has little or no PHP knowledge.

What I'm after is the sort of options you want. Currently my code is a bit of a mess and not easily configurable but before I rewrite it all I need some ideas.

It already has antiswear filters, anti-cheat measures, but I'm sure some of you have ideas what you want to see. I was thinking of monthly/yearly summaries, overall list, etc.

Obviously everyones games are different and may want different name lengths, option to show date, time, level, etc

I want to make it is simple as possible to implement so even noobs can use it.

Most important thing is that it must be as tamperproof as possible so noone can cheat, even if they know how program works. Lots of use of password keys and ascii code altering needed.

One thing I don't like about some high score systems (not mine!) is way you are forced into updating online as soon as you put your name in. If you are not connected to net at the time because on dial-up, or your connection is down, or your website is not responding, then you lose your score! That's why I like the system I use, where you have seperate sync option on menu which you can run whenever you like, even days later.

Any more ideas, or shall I just get on with it.

Boo!
Van B
Moderator
22
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 11th Jan 2006 16:19
It sounds like you have more bases covered than we'd probably think of!. One thing that would be nice is if you could view the high scores from within the game - instead of having a web page listing the scores, you could have them shown alongside the local high score table - personally I hate it when games load up web pages, my PC hates it too and often crashes at that.

Alongside score and name, an extra string storage would be handy I think - then you could add in the level number, character used, cause of death, or any other additional info quite easily - perhaps even a comment from the player.

Been wondering about how this is all done, looking forward to your tut.


Van-B

Put away, those fiery biscuits!
the Last Programmer
19
Years of Service
User Offline
Joined: 14th Jul 2005
Location: Abilene, TX
Posted: 11th Jan 2006 17:52
Being able to add in any additional information dynamically would be cool. Like, let's say I want to save the player's name, location in game, score, weapon currently equipped, and lots of other information. But keep all that information related to that same character, so it doesn't accidentally get associated with someone else. Similar to the 'key' and 'foreign key' found in mySQL.

Password protected. And many different levels of access. So there can be an administrator and other lower level people who can change the data, but only with their own unique passcode.

Being able to save pictures or models or images on the internet, instead of just text. So some players can share a shot of their final boss, or whatever, with everyone else. Kind of like a trophy for gamers. Text based hi-scores are old and boring. Images would be cool if you could add it.

Being able to dynamically change the settings would be awesome. Let's say that some gamers writes their name as "IAmAHacker" and their score is as good as it gets: "9999999999". We all know this person just hacked in to type in the best score possible. So the administrator should be able to log in and delete this person's name and score, THEN should be able to set a filter on the name so that nobody could type in "IAmAHacker" ever again.

Also, what you could do, is have people's scores be put on a stack, so that the administrator has to approve of the score in order to be posted on the internet.

These are just a few of my thoughts. I hope you can do them. Good luck.


www.fishbrosentertainment.com
spooky
22
Years of Service
User Offline
Joined: 30th Aug 2002
Location: United Kingdom
Posted: 12th Jan 2006 14:22
@Van B - I would never open web pages within a game - all the games I have tried with web-page high scores never worked properly and looked bad. I like the idea of showing local and net table side by side - great for comparisons. I will certainly make it you can easily define extra data you want in table, like level number reached, coins collected, character type, etc. I'm not sure about user comments as that could be open to abuse, but could be fun I suppose. I thought about having a comment field but it would have to be authorised first before being made public, but I think it's better that high score table is fully automatic. Imagine having to constantly authorise stupid comments, possibly day.

Traditional high score tables are simply name and score to keep things simple and not clutter up screen. Adding date, time and possibly level is just about acceptable.

@the last Programmer - having option of images is just too much hassle and also bandwidth hungry, and also danger of 'dodgy' pictures appearing. I toyed with idea of allowing a small avatar upload but the code needed to fully administer uploading, authorising, downloading, etc is not worth it (not for V1 anyway!)

I like the idea of an admin function to administer dodgy scores, but I'm making it so dodgy scores are impossible to upload. Options to edit or even delete lines with unsuitable names, and maybe putting a ban on ip adresses sounds a good idea. Yes, logging ip address is a must.

Thanks for the advice both of you. I now have enough info to proceed.

Boo!
Nicholas Thompson
20
Years of Service
User Offline
Joined: 6th Sep 2004
Location: Bognor Regis, UK
Posted: 12th Jan 2006 14:57
This sounds like it could be excelent - may I suggest:
1) The option for storing loads of stuff (ie, not just score and name, maybe deaths, accuracy, etc) - great idea. Easily done too, I think... Would just require another table or 2.
2) May I ask how you plan to keep it secure? Must a user be registered? Obviously encryption - but the problem with reversable encryption is always going to be the key. If its static, its easily hacked. If its non static - how to you get around cheating?

spooky
22
Years of Service
User Offline
Joined: 30th Aug 2002
Location: United Kingdom
Posted: 12th Jan 2006 15:19
1) It's a high score table - not a bloomin high score table with loads of superfluos details. I have already stated that you can specify additional fields to store extra stuff, but there's only so much info you want on a 'simple' high score table before it starts to look cluttered. There will be tables involved either. To make things as simple as possible (and also the fact 1&1 dont give you MySQL in basic package), there is no database as such, just simple text files.

2) Pointless having users register. There will obviously be plenty of encryption and passwords and keys and bit flipping, with added checksums, character counts and other stuff thrown in for good measure and that should be ample. These will have to be well hidden in DBPro exe as simply putting key$="somesortofkey" is stupid and loading up DBPro exes in notepad shows plain text strings easily.

I spent a lot of time and effort protecting high score table in my splat game and it has not let me down yet.

I may also add a log file that shows any hack attempts or attempts at cheating the system.

The code to do high score tables is fairly simple and even the php script I wrote for splat is only 214 lines and there's not that many complicated commands in there. I'm hoping that at least one person will utilise the code.

Right, back to work, boss is hassling me.

Boo!
Peter H
21
Years of Service
User Offline
Joined: 20th Feb 2004
Location: Witness Protection Program
Posted: 12th Jan 2006 16:00
Sounds great! i was wanting to implement online highscores in my latest game but i didn't know how...

i'm sure this would be very usefull, because online highscores always make a game funner, you get that competition going

"We make the worst games in the universe..."

Login to post a reply

Server time is: 2025-06-06 16:01:22
Your offset time is: 2025-06-06 16:01:22