Advertisement

Store player statistics locally

Started by September 07, 2016 02:15 PM
3 comments, last by Davi Doro 8 years, 2 months ago

Hello friends,

Here's the scenario: I'm currently developing a 1v1 turn based strategy game. Players can play online using the match-making server. Can I store player statistics locally (on the player's machine), such as number of victories and his rank according to his performance, in a way that the player cannot exploit (cannot = very very hard to)? I want to match players according to their rankings, but I don't want to make a player authentication system and store their scores on my server, it's just too much work.

My first thought was to cryptography their statistics, does that do the job? What are my options?

Thanks!

Can I store player statistics locally (on the player's machine), such as number of victories and his rank according to his performance, in a way that the player cannot exploit (cannot = very very hard to)?


No. for example: A disk cloner can restore whatever the data was before, after someone has a loss they don't want recorded.

What are my options?


Calculating/storing statistics online, or accepting cheating about ranks.
enum Bool { True, False, FileNotFound };
Advertisement

If you have a match-making server already, storing a few statistics should be trivial by comparison, so I don't understand why you think it's a problem.

I was going to say that you could encrypt or sign data to prove it hasn't been tampered with, before hplus0603 proved me wrong with an obvious exploit. A hypothetical workaround for that would be something like Bitcoin's blockchain - you store everybody's statistics on every player's computer (or some compact representation thereof), so that nobody can tamper with them. But that is wildly impractical, especially for a case like this where you don't really need that at all.

Also, there's no reason to write any of this from scratch. There are plenty of online platforms that offer authentiction, statistics, leaderboards, match making, etc. and are very affordable or even free. For instance, PlayFab is pretty complete and has a free tier (not sure on the specifics as I've not used it specifically; I've used similar platforms though).

Sean Middleditch – Game Systems Engineer – Join my team!

I don't trust my current base knowledge to properly handle people's password nor the budget to pay for this service. At the same time, not having a ranked match-making would take away much of the fun.

Follow up questions: If my game happens to be greenlit and is on Steam exclusively, can I store these statistics on Steam servers? Then the player wouldn't have to create an account for my game, right? What should I know about Steam API regarding to this that I'm asking?

Thanks for the help!

This topic is closed to new replies.

Advertisement