The Game Competition

Three of six members in the Lithuaninan team have just found the winning way

The Game Competition became a great success. After two days of individual
problem solving it felt fine to work in a team. The rules of BoiBoy was easy to
understand but the game was complex enough. None of the teams "solved" the
game and the question is still open: "Who will win, RED or BLUE, with best play
from both sides?" You have a chance to test your skill against the competing teams.
Their programs can be downloaded here.

The announcement

Thursday 3 August will be The Game Competition Day. BOI 2000 will pick up the
idea from Ahto Truu, Estonia in BOI'98. The teams will fight against each other
in a round robin tournament and the country with the best game program will bring
The BOI Game Challenge Trophy.

During the breakfast you will get the rules of the game and can immediately start
to discuss the problems with your friends in the team. After that, in five hours, you
work together and try to create a program as strong as possible. Your team dispose
six computers and the competition is a lot of how to work in a team.

To have a chance to do a rather strong program you have to know something about
game programming. We will tell you right now that the game will be of board game
type. There is a board, two players, some pieces and the two players alternate to move.
Like chess, checkers or othello.

Because we will give you a chance to prepare we will enumerate some important ideas
and also give you some links to places on Internet where you can find more.

Note that every computer during the five hours are connected to Internet and that
you can bring diskettes, books and papers.

To write a good chess program, for example, from scratch will maybe take a year.
There is a lot of testing and tuning and also many other points too complex for this
competition.

Read about this things in

and try to create at skeleton of a game program for the start

The rules of the game BoiBoy

During the last day, the Game Competition Day, of BOI 2000 you have to
write a program, together with your friends in the team, who can play the game
BoiBoy.

After five hours of programming, testing and tuning (10:30 - 15:30) there will be a
tournament with the seven programs to find the winner (16:30 - 19:00).

The rules

The board has 7x7 squares. In the beginning of the game there is a counter on
each square. The counters are of three different colors.

The start configutration of BoiBoy

In the figure you can see the start configuration. Red always starts the game.
In his first move Red can take away, from the board, any one of the yellow
counters . In all following moves Blue and Red take turns in removing a
counter of any color. The only rule is that \ku{the new counter is one
square away from
(in chess terms ''a king move'' from) the last removed.
That will mean, it is possible to remove a counter of your own color, a counter
of the opponents color or a neutral yellow one.

For each removed red counter Red gets one point and for each
removed blue counter Blue gets one point.

The game can end in two ways

That's all.

Test the game

To be familiar with the game you can test your skill
competing with the BoiBoy -- a windows program C:\BOI
After some games you will understand the idea.

Your competition entry

Your product, the program your team create, must be delivered
to the manager latest 15:30. It should be a DOS-program.

The tournament
After lunch a round robin tournament will take place in the same room as the evaluation
took place the day before. Your program will meet the other six teams program in matches
of two games. One as Red and one as Blue.

In a match two computers, one board and a chess clock will be
used. When your computer gives the move, one member in your team
moves the piece and press the clock in that order. The other team
enters the move to their computer and wait for the replay and so on until
game is over.

Note that you must make the moves proposed all the time, even if
you think you can make a better move your self.
So it is important that the other team can read the output from your
computer and understand the text. Of that reason we decide to use this
dialog. On the first line there must be printed the name of the
team, where your country's name is a part.

THE FINNISH LIONS
COLOR ? RED
MY MOVE C3
YOUR MOVE ? B4
MY MOVE C4
YOUR MOVE ? E1
IMPOSSIBLE MOVE!
YOUR MOVE ? B5
...

and so on. You can, if you want, for your own security, have a test
of the input data as in the example. At end of the game the
program report

THE GAME IS OVER

The game don't need to announce the result.

A won game will give 2 points to the winning team and 0 points to
the losing team. If a game end in a draw it will give 1 point to
each team. A match kan end with three different results, 2-2, 3-1 or
4-0. The team who have collected most such points when the tournament
is over is the winner.

Try to trim your program to play a full game in around 4 minutes.
You will be given some extra time to handle the board, the clock
and the computer.

If the tongue of the chess clock falls down when your computer
is ''thinking'' or when you are executing the move on the board, you
have lost the game, even if you are one move from the victory.
Be careful when you enter the move into the computer. Even if you
have the security test, its possible with typing error. Also be careful
when you execute the computer's move on the board. If you have
switched the clock and the move was executed in a wrong manner on the board
the game is lost.

Use the black counter to mark the last made move. If something goes
wrong, please stop the chess clock and call the referee.

Note the game. It's nice if one member of each team will write
down all moves of the game on a peace of paper.

More than the program Your product can contain not only the program but
also different types of data files, with for instance an opening library. Together
(in unzipped form) not more than can be stored on a diskette.

Randomness. Perhaps your program comes to a situation where to choose between
two 'equally good' moves. In this situation you can use random
numbers to do the decision. That can mean that two games between
the same two programs must not be the same.

To your assistance you kan use Internet to search for suitable information.
Here is the address to the web of BOI 2000, where you can find some links to good
places riksvasa.haninge.kth.se\boi00\boi00.html. You can
also bring diskettes, books and papers, which is announced on the
web.

Your team don't have to stay in the computer hall all the time. You are allowed
to go to where you want.

Questions If you are uncertain about the rules or need help
with the interpretation you can ask the managers. It's possible for
the managers append information to this paper during the
competition.

The Results

In The Game Competition the students worked in teams. Here the Swedish
team is discussing the function of the position evaluation

Lithuania won all ten games except one (a draw against Sweden).
Latvia couldn't take part because early departure and there was only two
members in the Danish team.

Country

Lit

Fin

Swe

Pol

Est

Den

Total
1. Lithuania

----

4

3

4

4

4

19
2. Finland

0

----

3

4

4

4

15
3. Sweden

1

1

----

4

4

4

14
4. Poland

0

0

0

----

2

4

6
5. Estonia

0

0

0

2

----

2

4
6. Denmark

0

0

0

0

2

----

2

Downloads

Here you will find the six programs that took part in the tournament. You can
download them a try to beat them with your own program!

 Lithuania (8kB)
 Finland (7kB)
 Sweden (22 Kb)
 Poland (12 Kb)
 Estonia (24 Kb)
 Denmark (17 Kb)

For the Swedish Vikings it wasn't easy to be defeated, so they
went on for the rest of the night and here is what came out. (Sweden Plus 31 Kb)
If you make an even better program let us publish it here. Perhaps you can solve
the game and tell us who will win with best play from both sides.