DFight is a multi-player 3D board game for Linux written using Clutter. It is inspired by a popular board game called Khet.


The current release of DFight is 0.2. This is the first release. Download the source here.

Ubuntu package

There is a PPA available with a package for Ubuntu. To install, just type:

sudo add-apt-repository ppa:bpeeluk/dfight
sudo apt-get update
sudo apt-get install dfight


The source for DFight is available in a git repository. Clone it with the following command:

git clone git://git.busydoingnothing.co.uk/dfight.git

You can directly browse the source code with cgit here.


DFight provides a virtual board to play the game with but it doesn't enforce the rules. You are free to move the pieces about however you like and you it won't force you to take turns. There is no AI player so you will need a friend to play against. It's best to play with two computers over a network or the Internet, but it's also possible to take turns with one computer.

How to play

To play a game over the network you can can select ‘Start new game’ on one computer and ‘Join another game’ on the other computer. If all goes well the second computer should discover the first computer and the name of the first person should appear in the list on the second computer. You can click the name to join the game and the second person's name should appear on the first computer. Any number of other computers can also join the game and control the board but it is still only a two-player game.

If you want to play over the Internet or if the auto-discovery doesn't work you can tell dfight to connect to a specific server with the ‘-s’ argument when you start DFight. Eg if the computer who started the game is at, you can type

dfight -s

When the game is started you will see an empty board. You can rotate the board by clicking on it and dragging it around. You will probably want one player to spin the board to the other side and the other to leave it where it is.

You can add pieces to the board by clicking the ‘+’ symbol in the bottom right of the screen. An image showing all of the different pieces is displayed. To add one of them, just drag it out of the menu on to the board.

To move pieces around you can just click and drag them. Both players will see the piece as it moves around. As you move the cursor a blue circle will appear on the other player's board to show where your cursor is pointing. This is intended to make it more noticeable when a player makes a move and so that you can point at parts of the board to discuss them.

To rotate a piece, right click it and a circle with two halves should appear. Click on either half of the circle to rotate 90° in that direction.

To stack a piece just drop it onto another piece. If you click the bottom piece of a stack it will move the entire stack. If you click the top piece it will just move that piece. You can stack any piece on top of another but it only makes sense to stack the pillars according to the rules of the game.

To remove a piece from the board, just drag it to the edge of the screen and let go of it.

To fire the lasers you can click either of the red circles at the edge of the board. The path of the laser will be shown and any pieces that get hit will glow. When either player presses the laser buttons the laser will be shown on both screens.

The board is automatically saved periodically on the computer that started the game. When you start a new game, the board will be as it was when you left the previous game.

For the actual rules of the game you can find the instructions of the real board game on the Internet.

Other keys


The game is still very much a work in progress but it at least is complete enough to play a game. Some planned features are: