Quick Backgammon

What is it?
Installation
Version Info
FAQ's
Does it cheat?
Future Ideas
Related information
Disclaimer
Copyright notice

Send mail

 

Quick Backgammon v. 3.1.0


What is it?

Quick Backgammon is a program that allows you to play backgammon against your computer.

The idea behind it was to make a light, yet well equipped and well playing program that enables you to play a quick game, without taking over all the resources of your computer in the process.

I wrote it using C++.

Installation

Extract the contents of the zipfile to a (new) folder of your choice and then create a shortcut to the backgw32.exe file.

The program does not write to the registry. All the files that it does create are written to the folder where you installed it only.

To uninstall, you just remove the folder.

Version info

3.0.7, .8, .9, .10: Work on the AI
Calculation of widow size now based on screen height instead of width, to better deal with those wide laptop screens
3.0.6: Improved upon the smoothness of the movement of the pieces under Windows 7
3.0.5: Colors chosen in color-dialog are immedately visible in main screen.
3.0.4: Slightly changed the dimensions of the board elements.
3.0.3: Solved the 'piece remains partially visible' bug. Help File now in CHM format, because of Vista.
3.0.1, 3.0.2: Gameplay
3.0.0: Larger window when screenwidth > 1024
2.9.8, 2.9.9: Small changes in gameplay.
The Win 3.11 version will remain at 2.9.7. I can't get the 16 bit compiler to work anymore.
2.9.7: Resign dialog disables what will not be accepted anyway.
2.9.6a, b, c: Slight changes in priorities in gameplay.
2.9.6: So many small changes made to 2.9.5 that I have made a new version of it.
2.9.4, 5: Further training.
Question mark cursor is now always displayed after 'Suggest move'.
Changed Colorscheme #D.

2.9.2, 2.9.3: Further training. No more doubles as first roll.

2.9.1: Gameplay; I have trained the AI against itself this time. The results were good enough to finally introduce a 'use New/Same/Swapped rolls' option. Cube handling is poor as ever.

2.9.0: Improved back-game.

2.8.8, -9: Gameplay.

2.8.7: Changed the name to 'Quick Backgammon'. Now that there are so many very strong playing, but also rather large programs around, I thought it made sense to name the game after its most important characteristic.
Fixed a bug that appeared when undoing moves through the menu.

FAQ's

Q: How do I bear off?
A: move to position '0' (zero) or click the small numbers at the side of the playing field, or click the bar.

Q: How do I activate the doubling cube?
A: Check 'use cube' in the settings under the 'game' tab.

Q: Does it cheat?
A: No, see
here

Q: Will you make a LAN-version?
A: No.

Q: Why am I allowed to double after I have rolled?
A: To make the gameplay smoother. If I arrange it otherwise you will have to click after each move to indicate whether you want to double or not. I am not especially proud of this solution, but it is what I dislike least.

Q: I win 80% of the games I play, can't you make it play stronger?
A: This is not a neural net program and therefore it will never play a really very strong game. If it is no challenge anymore, you are probably better off playing against
JellyFish. Improving the gameplay is always on my mind, but lifting the program above 'pretty competent' is difficult.

Does it cheat?

When programming a game or any other piece of software you make use of of a variety of standard operating system-provided functions. Things like 'create window', 'create button', 'draw circle', 'open file' and thousands of others. A program really is a 'to do list' that you give to the computer that tells it which function to call in what way and in what order. If you do it right you have a working program; if not you have a bug.

Another one of these functions is the 'give me a random number' function.

So, every time I need a roll, I call this function twice. This function, residing in a dll somewhere in c:\windows, has no idea why or by whom it is being called; it just returns a number.

So, whether the game cheats or not is not in this function itself. The function's relative quality is only in the evenness of the distribution of the numbers; i.e. does say, 4 come up equally often, measured over say, 1000 calls, as say, 5.

whether the game cheats really is in what I let the program do with the returned numbers. Do I let it accept it, regardless of the situation on the board, or do I ask for another number that suits my needs better, or do I let the program calculate a fitting roll itself, and only pretend to use the random number function.

Of this you, the player, will never be really sure as long as I do not publish the sourcecode. However, I did build in some possibilities for you to check:

  • You can manually roll and enter your dice
  • You can replay a game using the same rolls
  • You can provide the program with your own list of rolls and let it use those. If a 'suspicious' roll comes up you can check whether it was indeed to come up

If your performance against the program improves dramatically, by trying either one of these options then the program probably does cheat.

Future ideas

I do not think that computers can really improve much on the game of backgammon except by taking care of tedious things like keeping statistics, setting up the board, remembering what the rolls were or finishing a predictable game.

For this reason I add few new features and am preoccupied mostly with the strength of play and the ease of use.

I would like to make the window resizable. But the interface is pretty full, and letting the user resize the window and keeping all items at the correct place at the same time has until now proved too difficult, mainly because I still want to support smaller screen resolutions.

Things I might also do are:
The possibilty to save and replay complete games.
Variations on the game of backgammon.

But perhaps it will all not be so quick anymore then.

Related information

More on backgammon can be found at:
Backgammon Galore
Board Game Central

Disclaimer

You use this software at your own risk; I make no warranties of any kind regarding its quality or fitness to any particular task.

Copyright notice

This game is freeware

The author is the copyright holder of the program.
You are hereby licensed to use this software for free.
Since the Program is intended for distribution only as freeware, you shall not charge any fee or other compensation for the Program.
You may make copies of the program for private use, but only in its original, unaltered form, with all files included unmodified, and without making any additions, modifications or deletions.