# The &kbackgammon; Handbook

Jens
Hoefkens

    jens@hoefkens.com

Bo
Thorsen

    gobo@imada.sdu.dk

Developer
1999
2000
Jens Hoefkens
&FDLNotice;
2000-12-22
1.96.01

&kbackgammon; is a graphical backgammon program for &kde;. It supports backgammon games with other players, games against computer engines like &GNU; bg and even on-line games on the First Internet Backgammon Server.

KDE
game
backgammon
FIBS
gnubg

## Introduction

&kbackgammon; is a graphical backgammon program. The objective of backgammon is to move your checkers off the board before your opponent does. While the rules of backgammon are moderately difficult (the most difficult part apparently being the initial positioning of the checkers), this document does not try to teach these rules: please refer to the Web, a book, or (probably best) a friend for this.

&kbackgammon; offers you a graphical backgammon board that can be used almost entirely by using the mouse (although textual commands are also available and it should be possible to play backgammon without the mouse, too). Therefore, &kbackgammon; is easy to use and allows you to concentrate on the important aspects of playing backgammon.

In order to play backgammon, you usually need an opponent. &kbackgammon; offers you to play against hundreds of different opponents of various strength on the First Internet Backgammon Server. If you prefer, you may also use the Offline Engine which allows you to play against yorself or friends that are with you at your computer.

In the near future &kbackgammon; will allow you to play against &GNU; Backgammon, which is a powerful backgammon program that usually runs without a graphical frontend. It plays on FIBS with a rating of about 2000 (which is quite high).

Additionally, plans are on the way that will allow games over the Internet between two &kbackgammon; programs (and their respective users). Finally, the architecture of &kbackgammon; is quite open and it is possible to include support for other engines easily (if you are interested in this, please contact the author).

## How to use the Board

&kbackgammon; is centered around a graphical backgammon board. This board consists of the checkers, the dice, and the cube. All these game elements can be conviniently manipulated with the mouse.

The following image shows a typical game situation with the white player moving from 1 to 24 and the black player moving from 24 to 1. Currently, the white player owns the cube and has just rolled 3 and 4.

The backgammon board
The Board

If it is their turn, players can roll the dice by double clicking on the squares representing the dice or by using the corresponding menu entry or toolbar icon (if the toolbar is visible and rolling has been included in the toolbar).

If they own the cube, players can double the cube by either double clicking on the square representing the cube or by using the corresponding menu entry or toolbar icon (if the toolbar is visible and the cube has been included in the toolbar).

If it is their turn to move, players can move checkers by clicking on them and moving the mouse pointer to the desired location (while holding the mouse button continuously pressed). This is called dragging the checker. Depending on the selection made in the current engine's configuration, the move will be finished once the maximum number of checkers has been moved (this may be anywhere between 1 and 4 checkers, although it will usually be 2 checkers).

In addition to dragging the checkers, the board offers a feature called short move feature. If this has been enabled in the board's configuration menu, checkers can be moved by simply clicking on them. The board will then automatically make the shortest move possible away from the current field. If the short move feature is enabled, it may be set to single or double click. This option is very useful for users of touchpads that are sometimes difficult to use for dragging.

Finally, the board has a certain smartness: it will only accept moves that are allowed (based on the current dice). While the offline engine allows this to be switched off (for the Edit Mode), this is usually very helpful for unexperienced users (and advanced players will probably never notice this). This featue can also be used to cancel a move in progress: just drop it over an illegal field.

## Backgammon Engines

&kbackgammon; is built around the backgammon board, which doesn't know anything about how to play backgammon. The whole infrastructure (rolling the dice, &etc;) that allows backgammon games is handled by backgammon engines.

### The Offline Engine

The offline engine allows you to play against yourself, or probably more fun, another person sitting with you.

### The FIBS Engine

FIBS is the First Internet Backgammon Server, a 24-hour international online community of backgammon players of all ages and experience from Beginner to Experts.

As well as playing the game, FIBS allows you to save games, chat with other players, and has a complex rating system.

There is also a large website well worth some of your time, if you are a backgammon fan.

### The &GNU; Backgammon Engine

The GNUbg engine does not yet exist (although it already has an entry in the Engine menu). Therefore, the remainder of this section should be taken with a grain of salt.

Use of the GNUbg engine requires a working installation of the actual GNUbg program. &kbackgammon; then starts GNUbg in the background and communicates with it. All this is transparent to the user (&ie; it is hidden from the user) and all interaction with GNUbg is through the &GUI; elements of &kbackgammon;.

If there are other enhancements that can help using GNUbg from &kbackgammon;, please contact the author of &kbackgammon; (or better: send a patch). Some of the more advanced features will probably be position analysis and save/restore functions. However, playing is the most pressing issue.

The one thing that will never happen is a combination of the GNUbg and the FIBS engine! Using computer programs to enhance user ratings is cheating!

## Game options

The options to &kbackgammon; are set by selecting Settings Configure KBackgammon... from the menubar. This will bring up a dialog box.

## Commands/Keyboard Shortcuts

The following sections briefly describe each menubar option.

### File Menu

&Ctrl;N Game New Game

  Start a new game

&Ctrl;O Game Load Game

  Load a previously saved game.

&Ctrl;S Game Save Game

  Save a game so you can finish or replay it later.

&Ctrl;P Game Print...

  Print a picture of the board.

&Ctrl;Q Game Quit

  Quit and close &kbackgammon;

### Move Menu

Move Engine

  Choose from the various game engines here.

&Ctrl;Z Move Undo

  Undo the last move you made.

&Ctrl;&Shift;Z Move Redo

  If you have previously undone a move, you can redo it here.

Move Redisplay

  Redraw the board.

Move Roll Dice

  As you may expect, roll the dice.

Move Done Moving

  Let the other player know you have finished moving.

Move Double Cube

### Command Menu

Information missing...

Command New Game

Command Edit Mode

Command Swap Colors

### Settings Menu

&Ctrl;M Settings Show Menubar

  Toggle on and off the menubar.

Settings Show Toolbar

  Toggle on and off the toolbar

Settings Show Command Line

  Toggle on and off the Command Line.

### Help Menu

&help.menu.documentation;

### Default Key Bindings

The following tables show you the default key bindings of &kbackgammon;.

#### Key bindings

Key Combo | Action
--- | ---
&Ctrl;P | Print Game
&Ctrl;Q | Quit &kbackgammon;
F1 | Help Contents
&Shift;F1 | Whats This Help
&Ctrl;Z | Undo move
&Shift;&Ctrl;Z | Redo previously undone move

These key bindings can be changed by selecting Settings Configure Key Bindings from the menubar.

## Credits and License

&kbackgammon;

Program copyright 1999-2000 Jens Hoefkens jens@hoefkens.com

Documentation copyright 2000 Jens Hoefkens jens@hoefkens.com

&underFDL; &underGPL;

## Installation

### How to obtain &kbackgammon;

&install.intro.documentation;

The home page of &kbackgammon; is located at http://backgammon.sourceforge.net. It will usually contain the most up-to-date informationon the program available.

### Compilation and Installation

&install.compile.documentation;