This page is under construction.

Smooch - Small Object-Oriented Chess Program

My realistic objective is to create a program that plays reasonably good chess. It must definitely play better than I do, but I cannot hope to compete with DeepBlue hence my program will be simply a "small" program. I also want to write it in object-oriented style for three reasons. First, it's much easier to write OO programs. It requires a different "mindset" which can be quite a shift for traditional programmers, but believe me, once you "get" OO, you won't want to program any other way. Second, OO programs are much easier to understand (which also explains the first reason). And third, I think OO rules! Which is my inarticulate way of saying what a good OO book, "Design Patterns" for example, might say in its introduction and first chapter. My OO language of choice is Java, because I think Java rules! (just read Sun's definition write-up of Java, I concur with all of it).

Now on to my program:

Game programming is a well-studied discipline and extensive research in theory and practice has been done on its two basic components: searching and evaluation. I am not doing anything new in my program, instead I've picked up well-known techniques and simply implemented them.

Evaluation

Searching

1