Billabong - AI Game Project for 2003

Tournament Results

For this course, your project is to write an AI program that can play the game Billabong. This game is designed by Eric Solomon and is manufactured by Franjos.  Your program will have 10-20 seconds to make its move. At the end of class there will be a tournament among the AI programs, and the team (or individual) with the winning program wins extra credit points worth half a letter grade.

If you wish to purchase the game, one place you may do so is from funagain games (see links below). However, you do not need to purchase the game, as the rules are described off the hyperlinks here. You could create your own version of the game using pencil and paper, and I have provided a link to an applet that is based on the game.  You can use the applet to learn how to play.  Additional source code will also be made available for a text-based interface that we will use for the tournament.  However, since the interface is text-based, it might take some getting used to.  Your program must be designed to run on a Unix system, as we will be running on Linux for the tournament.  For now you can use mazzy, but later we will be using the Linux machines. Your AI program must run on these machines or your programs will not be accepted.

Here are three dedicated linux boxes you can ssh into to use to develop your code:

These are 2.4 Ghz Pentium IV machines with 512 Mb of RAM. Programs should run much faster on these machines than on mazzy, which is a 600 Mhz Alpha with 128 Mb of RAM.

Tournament Format

We will use the double elimination format described here: tourney.pdf. This is still preliminary; let me know if you have comments on how you think the tournament might be improved. The double elimination format guarantees that each team will play at least twice.

Team Entries

Here are the entries into the tournament in no particular order:
Team NameMembers
Hundred Acre WoodHeather Koyuk
RooMastersDon Tinsley, Will Sistar, Lance Finfrock
The Billabongo PlayasJesse Harris, Ryan Sullivan
Team Bloomin' OnionBelinda Whitman, Chris Reid, John Mueller
ManosKevin Dickerson
The Captain KangaroosBrandon Douthit-Wood, Nate Normandin, Susmita Chatterjee
Binary Bong SmokersMatt Lindberg, Brian Mullen, John Vicente
The Gods Must Be CrazyJon C. DeKoker

Two Player Source Code

I have written a two-player version of the game that you can play or use as a basis for your own program. For playing the game yourself, I recommend using the Froggo applet linked below since the interface is much nicer. The code has been tested to compile under unix on mazzy and is available here:

If you are logged into a CS unix machine, it will be easier to just copy the file out of my home directory. See the README file for details.

Game Manager

The game manager is now available. The game manager runs on a unix machine and allows two programs to play one another automatically, greatly speeding up the time it takes to run a tournament and eliminates the possibility of human typos in entering moves.

Extract using gunzip (gunzip managerv2.tar.gz) and then using tar (tar -xvf manager.tar) and view the README.manager file for information.

The manager package also contains a billabong AI player written by your professor. The "smartclient" binaries implement minimax search using alpha-beta pruning with a simple heuristic. Little attempt has been made at code optimization or a sophisticated heuristic, so with better heuristics and optimization, your program should be able to beat mine :-) Try them out to get a feel for the game. The binaries are compiled only for x86 linux.

Now that the tournament is over, here is the source code for my AI player. It only runs with the game manager.

The Game Rules

The hyperlinked pdf file explains the rules of the game along with the format we will use to specify moves. The page notes some changes we have made to the rules specifically for the CS405 course.

   Rules/Move Format

Here are a variety of links that you may find useful: