ID:154147
 
As some of you may know, I've been updating Tom's chess game. I have a number of nice fixes and enhancements in place, but one thing has kind of got me stumped.

I want to have a rating system that works like the US Chess system. In order to make this work, I need a way to save current ratings somewhere for each player. The question is, where should I store them?

1. MANTRA-rankings. This is inadequate for my needs. Scores are not directly saved (or at least not retrieveable), and only relative rankings are displayed. Other information can also not be saved, such as number of games played.

2. Local (Client-side) save files. I don't mind so much that someone could tinker with the file, though that is a small concern. I'm more worried about people logging in on a different machine, and wondering what happened to their ranking. Also, there would be no way to display a list of rankings on a web page.

3. Separate rank server. I may go this way, using my own server space, but I'm worried about people discovering the protocol I set up, and having fun with my database. If it weren't for that one concern, this would definitely be my path of choice.

Anyone have any other ideas? Air Mapster has a nice high-score system for ShapeShifter... are there any other examples out there of something similar?

I appreciate any opinions.

.s
Skysaw wrote:
3. Separate rank server. I may go this way, using my own server space, but I'm worried about people discovering the protocol I set up, and having fun with my database. If it weren't for that one concern, this would definitely be my path of choice.

Anyone have any other ideas? Air Mapster has a nice high-score system for ShapeShifter... are there any other examples out there of something similar?

For the most control, this is probably the way to go. On the one hand, it would be nice for builtin support from Dantom like the Mantra ranking, but on the other, it will still have limitations that they might not think of.

As far as concerns about people discovering the protocol, that's what my whole BYONDscape series is about, as you probably know. It should be pretty easy to make the details effectively impossible to guess or fake. Ultimately the only way someone could truly compromise a well designed system is by decompiling the dmb file itself. Based on what I know about the system, I have zero concerns about this. Decompiling (and subsequently understanding) an executable file is difficult enough as it is, and that format is fully documented. I figure there are about 1.5 people who really know anything at all about the dmb format. ;-)

I've been hoping to release my high score library very soon along with another BYONDscape article to introduce it. But with a wedding in a few more weeks, that may or may not happen before then... Feel free to drop me a line if you'd like to take a sneak peek at what I've got - it's fairly complete, just not as generalized or configurable as I'd like for a production release.