In 1990, a few years after I started the Gammon Press, I decided to add at least one backgammon program to our catalog. I knew there weren't any great programs available at that time, but I thought I would get a copy of everything that was out there and test them myself. Whatever program could do the best in a series of games against me was the program I would stock.
There was more software available than I initially thought, and I eventually tested about 20 different programs. Most were software that could run on a PC, but a few were standalone hand-held products that you could buy at places like Sharper Image.
Most were really wretched. A couple of programs would lose 15-20 points, per game, on average! Only two of the programs could hold their average loss under one point per game, a sad figure when you realize that a default strategy of just never doubling and dropping every double offered would still lose less than a point a game!
The best package was a piece of software called Championship Backgammon, written by Craig Chellstorp and a couple of programmers. (Chellstorp's name is probably unfamiliar to most present-day players, but he was one of the best backgammon players in the 1980s.) Championship Backgammon could put up some decent resistance and even win a few games against a good player if it could get a little lucky. Its average loss rate was about 2/3 of a point per game. Weak to be sure, but still good enough to give the impression of putting up a fight.
I added the program to the catalog and generated a few sales over the next couple of years. I also generated something unexpected: complaints that the program cheated with the dice! The phone conversations would go something like this:
Me: You think the program is cheating you?
Victim: Absolutely, it's giving itself perfect rolls.
Me: (Incredulous) You mean it's beating you?
Victim: No, no, I win almost all the games.
Me: So you're winning almost all the games, yet you still think you're being cheated. Why?
Victim: Well, a couple of times it saved a gammon by rolling doubles on the last shake ...
Me: Has that ever happened to you in real life?
Victim: Well sure, but not like that! And another time I had a 5-point board, and it rolled doubles to enter three checkers from the bar! You can't tell me it wasn't cheating then ...
This went on for several years. We only sold a few copies, mostly to better-than-average players who could beat the program easily but just wanted an opponent on their desktop. But even though they won easily, they couldn't shake the conviction that the program was "cheating" somehow.
In 1994 the first version of Jellyfish finally hit the market. Jellyfish 1.0 was a quantum leap ahead of Championship Backgammon, although pretty weak compared to the current version, Jellyfish 3.5. In addition, Jellyfish was widely advertised on the Web, so many of the buyers would be relative newcomers to the world of competitive backgammon. By now I realized that if Championship Backgammon could generate some criticism, a much better program might really stir up the moonbats. I was right. A typical angry caller sounded something like this:
Hey, your lousy program CHEATS! Yeah, it cheats! And I know what I'm talking about, cuz I'm a really good player, see, I mean I never read no books or nothing, but I got like a natural talent and I can beat my wife and my kids, and once I even beat a guy in a bar, so I'm pretty good, and I know cheatin' when I see it and this program cheats all the time, and you guys should BURN IN HELL!
You get the idea.
After a few phone conversations with irate customers I began to realize that most of the "my bot cheats me" folks actually fit a clear pattern. They were beginners, who had read at most one introductory book. They never played competitive backgammon, either in tournaments or for any kind of serious money. They had, however, managed to win a few sessions against friends or relatives and as a result were utterly convinced that they were very fine backgammon players, perhaps just a notch short of the top "pros". The idea that they were excellent players was very, very important to them, and when that image was shattered by a computer program, they simply couldn't take it.
As you may have guessed by now, the answer to the question "Does your bot cheat?" is a simple, "No." Jellyfish and Snowie play world-class backgammon. Only the best human players have a chance of standing up to them in a long session, and lesser players simply get ground down. No programmer in his right mind would spend years developing a world-class program, then jeopardize all his potential profits by forcing the program to cheat. What's the point? The program will win without cheating.
What fools beginners when playing a program is precisely what makes backgammon a great gambling game. To a beginner, a good player doesn't appear to be doing anything special; in fact, to a beginner, a good player looks like a weak player. He seems to take too many chances, he seems to double prematurely, he seems to take hopeless positions. Buthe also seems to win. A beginner matched against a stranger who's a good player sees only a weak, lucky player. Matched against a bot, the same beginner now sees a cheat.
Should you take my word that programs don't cheat? No need. Full-featured programs give you the tools to prove they don't cheat. Next time, we'll see how to do exactly that.
Next time: How to Prove Your Bot Doesn't Cheat.