Contents

1. The Game Connection


figure 1: tic tac toe

figure 2: 6x1x5

Connection is a strategy game. Two players are making their moves by placing marks on the board one after the other. The first move is done by the player
with the red marker, following by the player with the blue marker. As soon as one player has reached a given number of markers in a row in horizontal,
vertical or diagonal direction, he won and the game is over. In figure 1 player two won with three blue markers in diagonal direction. In figure 2 player one
won with four markers in vertical direction. The game is played on a board with user defined dimensions. The dimensions are given as numerical values
in x, y and z direction.In figure 1 you can see a board of a size of  x = 3, y = 3 and z = 1 where x is the number of fields in horizontal direction,
y the size into the depth and z the number of fields in vertical direction. Figure 2 shows a board with x = 6, y = 1 and z = 5. Since y is only 1,
the board doesn't has a depth, instead it expands into the vertical direction.

2. User Interface

2.1 After the start


figure 3: menu

The program uses the Irrlich engine, a very good 3d engine. Therefore it is possible to select a video driver at the start of
the program. If you don't know which driver to select just choose the OpenGL driver. If no accelerated driver works for you, you can
select the apfelbaum software renderer.
After the program start you will see a tic tac toe board in the centre of the screen and a menu at the top of the screen (figure 3).
You are player one. Left click on a field to make you move there. The player two, an automatically loaded neural network,
will answer you move with his blue mark.
Hold down the left mouse button and move the mouse to rotate the board.
Hold down the left and right mouse button at the same time and move the mouse to zoom the board.
Hold down the right mouse button and move the mouse to move the board.

2.2 Game Preferences


figure 4: game preferences
You can change the settings of the game by opening the game preferences window (figure 4) by clicking on Game->Preference (figure 3).
To change the board dimensions enter new values for  X, Y and Z and then click on set to apply the changes. If a neural network exists for
this dimensions it will be loaded automatically. Furthermore you can select the type of both players. With the two buttons below AI Setup
you can open two other windows which can also accessed over the menu. By checking the button show probabilities the values which led
to the last computer move will be displayed.

2.3  Neural Network Setup


figure 5: neural network setup
Open the neural network setup window (figure 5) by clicking on AI->Neural Network Setup (figure 3). Here you can train, load and save neural networks.
You can load already trained networks. Click the button load net and choose one of them. The name of a network file is xyz_w.net where the letters representing
the dimensions. For the tic tac toe board the filename is 331_3.net. The information's about the actual loaded network are displayed under Network Informations. To
train a network for the actual board settings enter the learn parameters under Network Settings and click start to begin the training. Max. error is the maximum error
and learn rate the learn rate for the back propagation algorithm. The step size is the step size parameter of the temporal differences algorithm. Check large input
vector if the board representation to the network should be three neurons per game field instead of one neuron. Stop automatically will cause the program to stop
the training process after both computer players reached a good ability to play the game.

2.4 AI Competition


figure 6: ai competition
Access the AI Competition window (figure 6) by clicking on AI->Competition (figure 3).
If two computer players are selected in the game preferences window (figure 4) you can let them play against each other by clicking start competition in this window.
The both players will play 10000 games against each other where the selected player makes random moves. If the player who makes random moves cannot win one
game because of luck, the opponent plays very good..

4. Developer Documentation

See here.

3. Download


DescriptionFileSize
Complete game inclusive sourcecode and documentation. Can be compiled on Linux.connection.zipX MB
Only the procompiled executable for Windows.connectionWin.zipX MB