Author

Topic: How do you make a Player vs Player Game Fair? (Read 116 times)

legendary
Activity: 1176
Merit: 1024
August 24, 2018, 08:57:26 AM
#5
I am currently working on a project but I am stuck on making its gameplay fair. Here is the issue I am facing. It is a Round based game. A server seed is set for each round and 10 people participate in that. The server seed is the same for everyone but the issue is I can participate myself in the round and as I will have access to the "Unhashed" server seed I can set my client seed in such a way to win over everyone else. So it isn't fair to just use a server + client seed Provable fair system for a game like this. I am wondering what could be done to prevent "tampering/cheating" even if the "house" decides to participate in the round.
As far as I know there is no way to make a player vs player game fair, there is no "provably fair" on player vs player games such as poker.
However, the truth I did not know that provably fair existed before I saw it, I never would think that would exists, yet with blockchain technology and seeding, now we know its possible.

My point is, there could be a way of making player vs player games provably fair or some other way to make it fair and have proof of fairness that we do not know right now, it is not about finding one that exists but actually creating one so everyone can use it and develop on top of it.
legendary
Activity: 1512
Merit: 1218
Change is in your hands
You could check some Casino's scripts shared here on Bitcointalk and take out theirs code for your question.

Mind sharing these "Scripts"? BTW did you bother reading the thread? Roll Eyes You really think I didn't bother looking up on the internet before posting here? You will hardly find anything about making a provable fair Player vs Player game. Most results will lead you to a simple Provable fair system or to DiceVsDice's discussion thread.  Undecided
legendary
Activity: 1512
Merit: 1218
Change is in your hands
Maybe you could mess around with the timings a little. I'm not an expert, so there could be an easier way, but maybe you could generate the seeds in much shorter intervals that would make it impossible for you to change them between the time when it is generated and the time when it is revealed?

From what I got from your suggestion was to introduce a sort of Timestamp on the server seed, correct me if I am wrong tho. But that won't serve any purpose IMO, The house could cheat by sending the unhashed server seed to another table and generate the favourable client seeds to win over the players. Basically you don't want "anything" to be set by the house, Instead, it should be based on something which house doesn't have control over, Only then I believe a game like this could be fair. Some sort of future "object" deciding the Server seed for that round.

Possible Solution:
From what I have thought is to use the "hash" of the new "Block" formed as the server seed. In my case, Once all the spots are filled in the round. The code will wait for the new "Block" to be formed and use its hash to set the "server seed" And decide a winner from there. This way the house has no control over the "Server seed" and can't possibly think of a client seed which would favour them.
legendary
Activity: 2478
Merit: 1360
Don't let others control your BTC -> self custody
Maybe you could mess around with the timings a little. I'm not an expert, so there could be an easier way, but maybe you could generate the seeds in much shorter intervals that would make it impossible for you to change them between the time when it is generated and the time when it is revealed?
legendary
Activity: 1512
Merit: 1218
Change is in your hands
I am currently working on a project but I am stuck on making its gameplay fair. Here is the issue I am facing. It is a Round based game. A server seed is set for each round and 10 people participate in that. The server seed is the same for everyone but the issue is I can participate myself in the round and as I will have access to the "Unhashed" server seed I can set my client seed in such a way to win over everyone else. So it isn't fair to just use a server + client seed Provable fair system for a game like this. I am wondering what could be done to prevent "tampering/cheating" even if the "house" decides to participate in the round.
Jump to: