Billabong - AI Game Project for 2003
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:
|Hundred Acre Wood||Heather Koyuk|
|RooMasters||Don Tinsley, Will Sistar, Lance Finfrock|
|The Billabongo Playas||Jesse Harris, Ryan Sullivan|
|Team Bloomin' Onion||Belinda Whitman, Chris Reid, John Mueller|
|The Captain Kangaroos||Brandon Douthit-Wood, Nate Normandin, Susmita Chatterjee|
|Binary Bong Smokers||Matt Lindberg, Brian Mullen, John Vicente|
|The Gods Must Be Crazy||Jon C. DeKoker|
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 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.
Here are additional rules we will use for the tournament. More may be added:
Here are a variety of links that you may find useful: