Quick Backgammon v. 3.1.0
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++.
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.
3.0.7, .8, .9, .10: Work on the AI
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
Q: How do I bear off?
Q: How do I activate the
Q: Does it cheat?
Q: Will you make a
Q: Why am I allowed to
double after I have rolled?
Q: I win 80% of the
games I play, can't you make it play stronger?
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:
If your performance against the program improves dramatically, by trying either one of these options then the program probably does cheat.
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
But perhaps it will all not be so quick anymore then.
You use this software at your own risk; I make no warranties of any kind regarding its quality or fitness to any particular task.
This game is freeware
The author is the
copyright holder of the program.