A review of Zillions of GamesFrom the programmers of the Zillions of Games program, I received a review copy of their program. There is already a good review of this program, made by David Howe. Below, you can read my review. I agree with David on what he writes; I will also write about a few other aspects of this exiting program.
Zillions of Games is a program for the PC, running under Windows'95, Windows'98, and Windows NT, which enables the user to play a large number of different board games.
The program is delivered by more than 200 different games that can be played (if we count variants of games separately), but the nicest aspect of this program is that it is possible to let it play new games. Hereto, the programmers made a new `programming' language, which can be seen as form of the language LISP (probably the most popular programming language for researchers in Artificial Intelligence). In this programming language, one can program out how the rules of the game. More specifically, the user should define what is the board layout, what is the opening setup, what moves are possible, and what are the winning conditions. In addition, the user can give background information to be shown under the help menu, define sounds to be played or animations to be shown, etc. The user does not have to worry about making the AI - with a clever mechanism, once one has made the Zillions Rules File (or, in short, zrf-file), the Zillions of Games program itself takes care of making the AI. Thus, with relatively little effort, one can make the Zillions of Games program play lots and lots of different games.
To play a home made game, all one needs to do is to double-click on the zrf-file (e.g., in explorer), and the program runs.
A technical commentAI-programs for chess and similar games usually are based upon the principle of a mini-max search with optimizations, like alpha-beta pruning, etc. These principles are the same for many games, but the engines would in particular differ for the evaluation functions - each position is given a value that tells how good the position is for the computer player. It seems that Zillions of Games is based also on this principle. The intriguing part of the program is that it actually builds an evaluation function itself, seeing only the rules of a game, and it does it very fast. In most cases, the evaluation function of Zillions of Games is rather good, although there are a few cases where it seems to miss the essence. This building of evaluation functions is what can be regarded as the biggest technological innovation of the program.
FeaturesThe program has a good interface, that is easy to understand and use. My eight year old son Wim was able without any difficulties to use the program, while he does not read English (as we are Dutch.) After I showed it once to him, he was also able to change settings like the strength of the computer opponent or its thinking time. About all you would like to see in a program like this is there, like saving games, continuing to play saved games, etc.
Also, you can play games over the internet. David Howe and I tried this out, and we played the first two trans-atlantic games of Knight-Tac-Toe. (David won both games), and then played the one and a half millennium old Shatranj over the Internet. This went very smoothly. Setting up a game with Zillions of Games of one of the games that it plays is very easy, although it seems not possible to look on the internet whether there are others that want to play to you: you must make an appointment with someone else in a different manner, e.g., by email.
I found the capability to play over the internet very exiting and pleasant. In addition, the game can also be played over other kinds of networks, but I did not try that out.
Strength of the AIIt seems really to depend on the particular game how strong the Zillions of Games program is. On the average, the program is rather strong, and in many cases, when I used a few seconds per move and a setting to Expert strength, it is much stronger than I am. (This may depend on the computer one uses. On a 486, for strong play, one needs of course a longer time for the computer opponent than on a Pentium-II. I still noticed reasonably good play with a longer time for the related Grand Chess program on my old 486.) The program itself recommends at least a Pentium-90 for good quality play.
For some games however, the engine seems not so strong, especially for multi-move games, like progressive chess. Games where Zillions appears to be very strong include small chess variants. A typical game where Zillions is good is a game like Flip chess.
The Zillions LanguageThe language to write games in will not be easy for people that never made any program. If you can program in any programming language (be it Basic, Pascal, Java, Lisp, C, or another one), it should not be too hard to master also the Zillions language. With a little effort, new zrf-files can be made in reasonable time.
But also, if you do not have the possibility to make your own zrf-files, the program still will be quite nice, I think, as it allows you to play many different board games. In addition to those offered with the program, new ones are appearing regularly on the Internet.
It would be nice to have some tools that allow users to make zrf-files with less effort, e.g., some kind of wizard that allows one to specify chess variants of a certain type. Something for version 2?
The language has its limitations. Using randomization is doable, but its implementation is not very elegant. A feature in the language that is also dearly missed is the use of some kind of arithmetic. It would be nice to have at least some kind of integer arithmetic. Other limitations include the inability to have information hidden for some players, but I think that a good engine that also can handle that needs another AI-breakthrough.
DocumentationThe documentation is one of the weaker points of the program. While most of the program explains itself and does not need documentation, it still would be good to have more than was available: while the online help tells all what one needs to use the program, explanation of the zrf-language was not on the CDrom but has to be downloaded from the website of Zillions of Games. A booklet that explains things like how to select variants, and how to make your own games would be good.
Overall verdictZillions of Games is a program that I really enjoy and value. It is great in use, and brings so many possibilities for playing all kinds of strange or not-so-strange chess variants. There still is room for improvement, especially in the documentation, but as it already is, this program is great for chess variant enthusiasts and other board games. Wholeheartedly recommended!
- Index on Zillions of Games. Links, downloadable chess variants for the Zillions of Games program, etc.
- Review of Zillions of Games, by David Howe.
Written by Hans Bodlaender.
WWW page created: February 3, 1999.