Hi.
Working a bit on Alvaros proposal.
Maybe something like this could work?
Suppose we have Player A and Player B
Player A
Decides to do:
Action A, Action B, Action C
In order to succeed upon these actions he need to roll a d6.
We want to make sure that Player A is not able to simulate the d6 before sending the mail, and is not able to find a seed that gives him the
results he wants.
Send information about Action A, Action B, Action C and in addition a number (PartialSeedA)
which can be a random number decided at the location of Player A and that Player B never need to create.
Encrypt: "Player A Name:" + PartialSeedA
in a part of the Mail with the Action A, Action B and Action C.
Player B
Decides to do:
Action D, Action E and need in the same way to roll d6.
Send information about Action D, Action E and in addition a number (PartialSeedB)
which can be a random number decided at the location of Player B and that Player A never need to create.
Encrypt "Player B Name:" + PartialSeedB
in a part of the Mail with the Action D, Action E.
-
When Player A receives the mail about actions from Player B he knows that Player B cannot do more manipulation to the seed and also not to change actions.
So Player A sends an decrypt key regarding his own PartialSeedA.
Player B decrypts the seed from Player A's mail and the text showing his name proofs that the encryption/decryption is "real".
In the same way Player B receives mail from Player A and sends his own decryption key to Player A.
Both players have now decrypted PartialSeedA and PartialSeedB - both combine these two into one new number that can be used as a seed.
If this protocol works it does probably not work so well for many players...
Both players' game logic now use the same seed to generate d6 results to resolve the Actions.
Sisofys