Simulation models |
Several OU students are doing their Master's project (M801) looking at game-playing programs (2006-7). The game being used as a testbed for this project is Pousse, as featured in the 1998 ICFP programming contest. I've put a few additional bits and pieces here for those students. I have local copies of the task description, query log and FAQs, just in case the MIT site should go down. When you're developing a game-playing program, note the clarification about repeated states in the query log. The GUIThe contest page contains a link to a Pousse GUI. Unfortunately, that program only works on an old version of Mr. Ed Scheme, so I've updated it to run on the latest version of DrScheme, which includes Mr. Ed. Here is:
DrScheme runs on both Windows and Linux, so the GUI should work on Windows boxes. All the game-playing robots still seem to run on modern Linux systems (Fedora Core 3). Unfortunately, many of the students don't have Linux, so they won't be able to use the existing robots. There may, however, be a way around this... Cross-compilingAll the entries have source code with them. The easy way to get them running is to find a Windows compiler for the programs and recompile them. Duncan Elvin has done this for two of the entries: they've been recompiled under Microsoft Visual C++. They should still work with the tournament player. You can download To install the entries, install the Pousse GUI as above. Copy the cross-compiled file to the Running LinuxMany (most?) Linux distributions come on a Live CD, which allows you to boot Linux from a CD, without the need to install anything on your existing hard disk. Most of them should then be able to mount your Windows partitions on your hard disk and access files there. Here's a list of such distributions: I've heard good things about Knoppix and Ubuntu, but I've not tried any of them myself. If you don't want to download a CD yourself, you can buy them ready-made for a nominal sum from places like Linux Emporium. Having a Linux Live CD may make it possible to run the existing Pousse programs. The process might go something like this:
An alternative approach would be to use Cygwin, a Linux emulator that runs on Windows. I'm reliably informed that it's a breeze to install. You may need to add some packages to the base installation (such as GCC, the Gnu C Compiler and its libraries) as many of the Pousse robots may expect these to be already installed (run them and see how they complain). There is an option to install X Windows (the Unix-based GUI substrate) inside Cygwin (called Cygwin/X), which should then allow you to use graphical front-ends, such as the Pousse GUI mentioned above.
Note that I've not tried either of these. If you try, let me know how it goes. If people are using the Cygwin approach, I'll try to write a small Bash script (think DOS batch file on steriods) that will play two Pousse robots off against each other. Also, there's an outside chance that I may get something running over the web, but that involves me finding time to set up my own server and learning enough web programming to make it work, so don't hold your breath. The TournamentAs a bit of fun, I'd like to hold a tournament between all the game-playing robots developed as part of M801. A couple of the lecturers here at the OU (including me!) have agreed to take part. The tournament will include the robots from the 1998 ICFP contest. If you want to enter your robot in the contest, the standard rules apply, and it'll be run on my Linux box. That shouldn't be too much of a problem, as most programming languages have Linux ports. More details nearer the time. Drop me a line if you want to know more. This page maintained by Neil Smith (N.Smith@open.ac.uk) |