Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Fair dice problematic in Snowie

1 view
Skip to first unread message

André Nicoulin

unread,
Sep 4, 1998, 3:00:00 AM9/4/98
to
Hi,

A crazy amount of effort is devoted to the discussions in rgb about random
number generators, fairness of the dice in backgammon softwares/servers,
cheating, etc. This let us conclude that it is a topic where us, poor human
beings, get irrational and do not accept the truth as it is...

I dont even want to enter into the mosh, but only to report how Snowie Pro
handles the problematic. The problem we faced was in fact simple: how to
make thecustomers confident that the random number generator does not cheat
?

Actually, we implemented two different "things":

1. In Snowie, you can get the entire dice sequence BEFORE playing, and save
it in a file. Then you play with this sequence. If you feel unconfident, you
can always verify a posteriori by comparing the dice you got while playing
with the initial file. Try the menu OptionsŚSet Random Gen Seed, and check
the "Save 5000 rolls in a file".
2. You can implement your own random number generator. For computer
scientists, it is extremely easy. The random number generator is in an
external DLL named SnowieDice.dll. The bottom part of this post provides the
needed information in order to write your own SnowieDice.dll. Feel free to
contact us for any technical details you would need (sup...@oasya.com).

The Oasya Team

------------------------------------------------------
// Copyright by Oasya SA, Switzerland.
// Dll for Snowie random generator use for dice
// Created 02/02/98
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define DllExport __declspec( dllexport )
////////////////////////////////////////////////////////////////////////////
///
// This function set up a random seed, based e.g. on
// the current timestamp, such that you dont always get
// the same sequence of dice when restarting Snowie.
extern "C" DllExport int SetRandomSeed()
{
// Example using the standard Win95/98/NT generator
srand((unsigned) time(NULL));
return(0);
}
////////////////////////////////////////////////////////////////////////////
///
////////////////////////////////////////////////////////////////////////////
///
// Specify a particular seed
extern "C" DllExport int SetSeed(long lSeed)
{
// Example using the standard Win95/98/NT generator
srand((unsigned int)lSeed);
return(0);
}
////////////////////////////////////////////////////////////////////////////
///
////////////////////////////////////////////////////////////////////////////
///
// Provide a random number in [1,2,3,4,5,6]
extern "C" DllExport int GetNextDie()
{
// Position iDie as you want, you can even do a Input
// form/window such that you can enter your dice manually
// !!!
return(iDie);
}
////////////////////////////////////////////////////////////////////////////
///


Joseph B. Calderone

unread,
Sep 4, 1998, 3:00:00 AM9/4/98
to
Snipped

Andre,
It is not the random number generator thats doing the cheating, Its the
games programmer that can manipulate the dice without even using the
generator. All the programmer has to do is determine where your pieces
are and then select the pips required to give the game the advantage.
Arent you amazed at how easy the computer gets back on the board when
you have a 5 point prime. and you can dance when he has 3 & 4 opens.
--
Joe Calderone <joe...@roanoke.infi.net>
"Don't force it, Use a bigger Hammer. Well,
No sense being pessimistic. It wouldn't work anyway"

André Nicoulin

unread,
Sep 4, 1998, 3:00:00 AM9/4/98
to
Dear Joe,

I think you misunderstood my post. In Snowie, by using an external dll, you
(the programmer) can control the sequence of dice. You have no access to the
position. If you want, you can include a window in your dll, and anytime
Snowie asks for a dice, you input it manually in your form...

Besides this, refering to my first pt, when you pre-save 50000 rolls in a
file, the game has not yet started. Hence you have no access to the
positions too...

Hope it clarifies things a little bit.

Regards,

The Oasya Team


Joseph B. Calderone a écrit dans le message
<35EFC3...@roanoke.infi.net>...

Phill Skelton

unread,
Sep 4, 1998, 3:00:00 AM9/4/98
to
Joseph B. Calderone wrote:
>
> André Nicoulin wrote:

> > 1. In Snowie, you can get the entire dice sequence BEFORE playing,
> > and save it in a file. Then you play with this sequence. If you
> > feel unconfident, you can always verify a posteriori by comparing
> > the dice you got while playing with the initial file.
> >

> > 2. You can implement your own random number generator.

> It is not the random number generator thats doing the cheating, Its
> the games programmer that can manipulate the dice without even using
> the generator. All the programmer has to do is determine where your
> pieces are and then select the pips required to give the game the
> advantage. Arent you amazed at how easy the computer gets back on the
> board when you have a 5 point prime. and you can dance when he has 3
> & 4 opens.

This is why they included feature 1 above - you can produce a file
containing all the rolls for the game beforehand. To cheat in the
manner you described would require the dice used in the game to
differ from the pre-rolled ones. Unless you are prepared to believe
that Snowie only cheats when you haven't asked for the dice rolls
to be saved into a file in advance, and that it also keeps track
of which values of the seed it has cheated on in games before so that
it knows to mis-inform you if you get it to produce the same rolls
using the same seed later. And you could check this (in theory)
by wiping Snowie from your disk and re-installing it, and seeing if
any of the sequences change for a given random number seed.

There are other ways of cheaing of course... :-)

Phill

Albert Johnson

unread,
Sep 4, 1998, 3:00:00 AM9/4/98
to
"André Nicoulin" <nico...@oasya.com> wrote:

>Hi,
>
>A crazy amount of effort is devoted to the discussions in rgb about random
>number generators, fairness of the dice in backgammon softwares/servers,
>cheating, etc. This let us conclude that it is a topic where us, poor human
>beings, get irrational and do not accept the truth as it is...
>


>
>
reply


Ian Shaw

unread,
Sep 4, 1998, 3:00:00 AM9/4/98
to

Joseph B. Calderone wrote in message <35EFC3...@roanoke.infi.net>...
>André Nicoulin wrote:
>>
>> Hi,
>>
[snip]

>> 2. You can implement your own random number generator. For computer
>> scientists, it is extremely easy. The random number generator is in an
>> external DLL named SnowieDice.dll. The bottom part of this post provides
the
>> needed information in order to write your own SnowieDice.dll. Feel free
to
>> contact us for any technical details you would need (sup...@oasya.com).

[snip]

>Andre,


>It is not the random number generator thats doing the cheating, Its the
>games programmer that can manipulate the dice without even using the
>generator. All the programmer has to do is determine where your pieces
>are and then select the pips required to give the game the advantage.
>Arent you amazed at how easy the computer gets back on the board when
>you have a 5 point prime. and you can dance when he has 3 & 4 opens.

>--
>Joe Calderone <joe...@roanoke.infi.net>
>"Don't force it, Use a bigger Hammer. Well,
> No sense being pessimistic. It wouldn't work anyway"

Joe,

If you can implement your own random number generator, you can make it do
whatever you like. The checker play bit of the software would have to use
the numbers you gave it or be caught out. Can you ask for any more than
that?

Nice one, André. I'm sure that it won't be too long before some alternative
DLLs are available.

Ian

Rodrigo Andrade

unread,
Sep 19, 1998, 3:00:00 AM9/19/98
to
Just wondering... who would be imbecile enough to buy a $300 software and
still think it cheats?

RODRIGO

0 new messages