The Game of Chaxx

Discussion of chess software programming and technical issues.

Moderator: Ras

rfadden

The Game of Chaxx

Post by rfadden »

One of the reasons I am here is to talk about some of the ideas (and experiences) that I have had recently or less recently.

I was on CCC in the early days but I got busy at work I got totally into my other developments and I left the world of Computer Chess for a while. Surprisingly I came back and left, and came back and left. Over the many years I have had my account expire here and I have come back later to sign up again, and so on, repeat...

This to me is an interesting topic.

Notice that some here never had any gaps such as this. Some have been far more consistent in their interest in and their pursuit of computer chess related developments.

Here if you don't mind I would like to write of my experiences during a period of time where I felt a little less interested in computer Chess and at the time I felt a little more interested in pursuing another game (a fresh new experience, but similar to Chess).

This writing could be useful for folks out there who perhaps have had an experience something like my own. Many people could experience this same thing.

So it could be that a person's interest in computer chess just becomes diminished a little, perhaps after putting in a lot of effort. It could be that if you have been in computer chess for 10, 20, or 30 years there will be a natural cycle where your interest ebbs a bit.

I believe this discussion and any effort that you might put in this direction could end up rejuvinating your interest in Computer Chess. This could be called "taking a vacation from computer chess." Vacations are good. Vacations can clear your mind and they may help you feel refreshed and ready to go back to work or ready to get started on a major new development.

The game is called "Chaxx" and first I would like to describe my experience with this game.

--------------

I would like to add that "Chaxx" is a generic, unused name that I am now using. I went on Google and I checked for any references to the word "Chaxx" and there are no references to this word (well there was one really strange reference to something written in French that was really old, odd, and had nothing to do with a game).

So in the future whenever you see reference to the game of "Chaxx" it is this game that I am writing about. Hint: Chaxx does not infringe upon anyone's trademark, it is not a name that has been used in print, and no one owns this name presently.

------------

Over on the Rybka forum Vasic Rajlich was talking about the future and how his own developments may go in the direction of open opportunities if he is unable to maintain the undisputed lead in computer chess. Honestly I thought he was talking about applying himself to a chess engine that attempts to give far better output for those who use an engine for analysis. I agree that if Vas ever runs into a problem with staying on top of the heap then yes I believe he could do great things with the topic of making an engine produce far more useful output for human analysis of chess games.

So someone interpretted his comments as him saying that he would apply the search techniques of Rybka toward some other game. Vas then came on and sort-of went with this idea because it actually was something feasible.

I ran into this same thing (applying chess search algorithms to other games) when I started working on the game of Chaxx. In my copied article here you'll see that I touch upon many different subjects. Part of my writing is all about fun and bringing up fun thoughts.

I believe fun is a really important part of our activity here. We do this for fun, right? I mean it's not a job, it's not a paying career...

-------------------------------------------

On this very same subject (applying chess search techniques to other games) I was feeling a bit burned out on Computer Chess and I had been intensely curious about another game that seemed very challenging, and so I did pursue this same idea over a period of many months and I have been waiting for the opportunity to bring up this subject.

So in other words the topic has been raised... taking chess search techniques and applying them to another interesting game that does not happen to be Chess.

If you guys don't mind I'd like to describe the experience that I had in doing this kind of development recently...

The Game of Chaxx, and the "Engine" that plays Chaxx:

The (it is not Chess) game is called "Chaxx." This name is a reference to the way the game is somewhere between Chess and Checkers. It has a simple piece and move characteristic, yet there is a depth to the game that gives somewhat the same interest level as Chess.

I received this board game in 1988 and I played one game with my younger sister and she beat me. It was Christmas time, the game was a gift and I kept the board game but I didn't play. Later, having kids around I found the game and I taught my Step Sons and we played a few games. As usual, these two guys were not interested in playing after they realized "i'm too good" (ha). I played a few games with my Nephew and that's it.

The game is really great so I decided to implement it in the computer so I could see how well I do against my own algorithm. One thought here is that if the outcome is like Chess, it is not that hard to write a program that is better than the author (the raw power of the computer... you know...).

Only after I had everything working did I find out that I had implemented a famous game that has three different names depending on very subtly different rules. In a Nutshell this is the game of "Camelot" (if you go along with one slightly modified rule of the game). Here is a quote from Wikipedia about the origin of the game, and also note I will include a link to a site that shows the game and that gives the rules, online:

http://en.wikipedia.org/wiki/Camelot_(Board_game)

"Camelot is an abstract strategy board game (like Chess or Checkers). One of the first games published by Parker Brothers, Camelot was invented late in the 19th century and originally published under the name of Chivalry. Its publisher, with a mixture of hyperbole and genuine pride, called it the best board game invented in the last 2000 years! The game (reissued as Camelot in 1930) flourished through dozens of editions and numerous variants, achieving its greatest popularity in the 1930s, but remaining in print through the late 1960s. In the 1980s, Parker Brothers briefly republished it under the name Inside Moves. It has been out of print since then, but it maintains a small core of fans who are hoping for another revival.
Camelot is easily learned, and generally more fun for novices to play than either Chess or Checkers. It is exceptionally tactical almost from the first move, and therefore quick to play to conclusion. There is now a World Camelot Federation, with free membership."

-----------

In C++ I wrote a rudimentary board display and move entry system, and then I implemented a Move Generator and then of course I started with a minimax search, etc... There was a real challenge to this programming because a "move" can go on and on, taking almost all (or all) of your opponents pieces in one turn. When you attempt to apply computer chess thinking to that kind of game the differences can cause one to really have to think HARD! So that was the main thing. Having to really think through a new problem is refreshing...

Here's where the story might get interesting for folks here. As I was applying minimax, alphabeta etc. in this new space, once I had the basic techniques working I found that the most effective next step for me was to start implementing all of the search algorithms that are in Fruit 2.1! No kidding, if you started on this journey you would soon find that the nicely expressed and highly readable algorithms in Fruit 2.1 serve as a really great model to use when implementing a hopefully sophisticated game search engine.

Of course I had to develop my own Eval Function from scratch, since Fruit is no help there for the game of Chaxx.

I took detailed notes of the very first game that I played against my own program. In my first game against the machine it beat me! It took away all of my pieces! It won.
I wrote my own reactions in the notes file, and these notes include quotes such as "holy Bleep!" (actually much worse than this)... I swore, and I could not believe that the program "killed" me in the first game... Actually I added the more advanced Fruit search techniques *after* that first game. This engine is now a monster (like Rybka!)

So since this development was so much fun I decided to mention my experience on the chess forums. I have been on and off CCC since the early days and I figured my fellow Computer Chess implementers and enthusiasts there (and also here) might like to hear of my experience in programming a new game.

So if anyone here feels even slightly burned out on developing computer chess algorithms, then it turns out that there is another game that is really great that you could try as a change of pace.

My goal here is to issue a friendly and fun challenge to Vas. My Chaxx engine against your Chaxx engine! (My engine has some Fruit 2.1 in it, and if Vas ever implements an engine to play this game, then I imagine his will have a lot of Rybka in it.)

Also I figure the many computer chess experts here might be interested in trying their hand at this game.

Please follow some of the Wikipedia links including to the World Camelot Federation so you can see graphic images of the game and read a very accurate description of the rules. You'll see that this is a fascinating game!

http://groups.msn.com/worldcamelotfeder ... rules.msnw

-----------

There has been one Chaxx engine vs engine match that I know of... I found, much to my surprise that the product called Zillions of Games can be loaded with a rules file and it then can play the game of Camelot (almost identical to Chaxx). I purchased this product, but then I also had to sligtly modify my program so that it could also play Camelot (a very slight rule change)... So in this first engine match, my engine Crushed the opponent engine mercilessly. It was like watching Rybka play against Sargon... (I think Rybka can beat Sargon).

So now I need some worthy challengers, engine writers to take up the challenge of this game. Also we need to write our own FICS (Free Internet Chaxx Server) so we can play this game against each other...

If I post any more on this subject I'll put it in a different thread since this is not actually Chess related or Rybka related...

Vas if you are up for the challenge, I will give you my source code to save you some time... (I suppose most people are going to say "no, don't look at it... stick with Rybka 3.0".) Yes, that's a good point...

So if anyone here becomes even slightly tired of computer chess, consider that your knowledge can be applied to this other very interesting game. After writing my Chaxx playing system I returned to computer chess feeling highly refreshed!
rfadden

Re: The Game of Chaxx

Post by rfadden »

Here I will attempt to embed an Image of the game of Camelot that will show roughly some of the look and feel of: Camelot, Chivalry, Inside Moves, and other variations of the game that are all include in the game of : Chaxx

Image


http://groups.msn.com/isapi/fetch.dll?a ... 4hJhwu2gQc

Ok, this doesn't seem to work... (not for me, not now anyway) so if you see this url and if you know how to post this image here, then please go ahead and post the image here.

This is an image from "Zillions of Games" a really great gaming system that I highly recommend to everyone. You can currently try out the game of Camelot (as shown here) by buying and downloading this game, and then by downloading a file that defines the game of Camelot.

Thanks.