The following article by Fernando Villegas was published on the Computer Chess Club's "Web Computer Chess Reports" section. Thanks to Fernando, and also Steven Schwartz at ICD for permission to preprint the article here.
Many of us, including myself, have a sketchy, childish idea of what a foreign country is. With just a couple of images we think we have a good grasp of it and about what we can expect of it. This is especially true for far countries and/or non-members of the club of super powers with enough political, economic, and military might to bother other countries and sometimes makes the business of living in this world a really fastidious mess. If you are an American you probably suspect something about how France or England really is and vice versa, but if you are an American or European chances are you know nothing at all of Argentina or New Zealand or Chile or Turkey. Or Australia, a country about which too many people believe is just a mix of wonderful beaches with pretty girls surfing all day over the waves and tough guys like Crocodile Dundee wandering in the desert and taking snakes as breakfast. Nevertheless, Australia is a very sophisticated nation, a rich and a blessed one that does not appear all days in CNN precisely because it is in the margin of the sad material that is the regular stuff of journalism. So sophisticated and advanced is it that it has one of the highest computer literate population ratios of the world, and so, of course, has also a respectable number of maniac's like us with a insane degree of interest for chess programs and the wars between the people who program them.
Having said that, it is only natural to expect not only Australian amateurs chess programmers trying their hands in local tournaments, but also commercial chaps trying to compete commercially in and outside Australia with his products. And Rob McDonell is one of them.
If you are one of those guys that contribute to enrich telephone companies with a daily surfing in the net, probably you already have seen or heard something about a company whose name is Ark Angles and about its star products, KChess and KChess Elite. Maybe you already have downloaded a demo and tried it because it is offered in many software sites. And after doing that, maybe you have wondered about its author, this "McDonell guy" who does not appear in any of the Who's Who of chess programming. And of course you have wondered about what is being pursued by the author of a program that is surely of decent strength, but not quite one of the top ten or even top 20. Well, this little interview perhaps will answer some of these questions. And maybe also gives you a glance of aspects of this little industry entirely different to that we which you are used to see each day in CCC or in another of the "professional" sites of this community of chess computer fans.
With it you will suddenly discover that chess computers is not only what we as fans think. There are also a great number of people looking for other things in a chess program, not just another 13 extra Elo points of a new engine and an extra 1 MB in the hash tables.
Now, to the questions and the answers:
FV: Rob, who are you?
RM: Well, I am a happily married man, and I hope, married to a happy woman too, Kathy, with which I we have two boys, David (4) and Thomas (2). We live in a small town called Hazelbrook, which is in the Blue Mountains, an hour's drive west of Sydney. I am qualified as an accountant, but with a strong preference for systems work. I have worked for IBM for 11 years in various accounting and business analyst roles and still do some contract work for them developing small productivity systems for the accounting and treasury departments. Computers are one of my main hobbies, so I've combined work and leisure by writing my own software from our home business. I'm a committed Christian, and love to read the Bible and learn more about the Lord Jesus. I also read science fiction and action/adventure stories, like to go for bush walks, listen to contemporary Christian music as well as the great composers, and watch movies of all kinds. I like to solve mathematical and logic puzzles, cryptic crosswords, and mazes, so that's probably why I enjoy programming so much.
FV: When did you begin chess programming and which was your reason to
do it? Maybe the stimulus of a chess program you knew? Or it was a theoretical
kind of challenge?
RM: I got into chess programming a bit by accident. I'm only a fair chess player myself, but I got hold of Borland's Turbo Chess engine some years back and decided to work up my own program. We had only just started our software development business, Ark Angles, in 1992, and I wanted to make a few programs available as quickly as possible. The original KChess quickly became popular and I really enjoyed working on it, so it became my main project. The challenge, for me, was to produce a chess program that would actually help ME to play better, and if it could do that, then it might help others too. I also wanted to produce an attractive program that was enjoyable for every player, no matter what their ability, so I spend a LOT of time working on the interface rather than the engine. The result, a few years later, was KChess Elite, which is our top selling program.
FV: Besides using the Turbo Chess engine, which was the source of your
knowledge and ideas?
RM: I looked around at other programs, talked to novice chess players, and get a fair bit of feedback from customers. In fact the people who use KChess are the best source of inspiration, as they constantly make suggestions about what they would like to see in the software. I also get ideas sometimes from other non-chess related programs - for example, lot's of programs now have a "tip of the day" feature, so I've just added that into the next version of KChess Elite. I also browse various chess sites on the web, such as the Computer Chess Club. One such site gave me the idea for the glossary of chess terms which I included in the last version.
FV: What about strength?
RM: Playing strength is not the major focus in KChess. Sometimes I get very good players wishing the program were stronger, but much more often it's feedback from people asking "how do I beat this program?" or "how do I keep my six year old interested in chess when they can never win?". So, while the program can play very well, it's really about being enjoyable and instructive. So the main parameter is to make a program that people love to play with, and feel they are learning from. I'm not really trying to compete against any of the other programs. I'm trying to create my own space in terms of the quality of the interface and how it helps people to play. In fact, one happy accident is that KChess Elite turned out to be very good for blind people. It has audible feedback, and works well with screen reader software. It also has keyboard control for almost everything. So another goal I've adopted more recently is to continue to develop this capability, and make KChess Elite the program of choice for anyone with sight impairment. For similar reasons, I've never attempted to get KChess into any competition. I'd like to do it someday, and see how it goes. Perhaps even get it rated. However, so far I've been concentrating in other areas. I want KChess Elite to have the most powerful and elegant interface of any chess program in the world. This relates to major factors such as the variety and quality of hints, tips and feedback obtainable about the state of the game. For example, I'm currently working on a plain English description of the relative strengths and weaknesses of each player's position. It also includes issues such as the range of piece sets, screen layout, screen resolution and colours, input controls supported, printing capability, language customization, audio responses and the like. A major piece of this strategy is to add multi-player capability, the ability to use KChess as the front end to Internet chess servers and play against other chess engines. It even includes better play-by-email functions. I also want to promote KChess Elite more and more into he general education market. I'm working on some other educational software as well, so this will fit together nicely. I would like to get more information about what sort of capabilities schools would look for in chess programs.
FV: So you never will engage in a race to be a top ten or even top
RM: Top five for enjoyment, flexibility and attractiveness and top 10 for educational value, yes. For playing strength I look for just a decent all round performer.
FV: Are you working now in some better and/or more featured version?
RM: KChess for Windows (or KChess Classic as I'm now calling it) is now frozen, although it continues to sell in small numbers. But KChess Elite will continue to be enhanced for many years to come. I'm nearly finished with version 2.6, which has some minor improvements. Versions 3, 4, 5 and beyond are on the drawing board, to add the sort of capabilities mentioned above, such as more feedback options, multi-user capability, front end to Internet servers and other engines, perhaps a larger book, multi-language versions and so on. I also plan to release a CD version so that we can include a big collection of stored games, a tutorial, more audio responses, and higher quality piece sets. I've also thought of possibilities of a more animated 3D version, however that will not be in the near future.
FV: Although you clearly are not aiming to what is called the
professional market, maybe you can satisfy a little bit our insane curiosity
telling us something about KChess bowels: language, size of source code, size
of hash table if any, how did you create the opening book, search techniques it
uses, and so forth.
RM: Well, KChess Elite was developed in Borland Delphi, which has Pascal as the underlying language. Delphi enables compilation in both 16 and 32 bit versions without change to source code, so that's how we are able to cater for all our customers no matter what version of Windows they are running. It is a visual development environment like Visual Basic, so much of the interface is made up of components linked together. There is also about 18,000 lines of code. The chess engine is still largely Turbo Chess with some code improvements. The book is unchanged from Borland's version, which is one of the weaknesses of the program. I hope to completely replace the book one day.
FV: Tell us about the computer chess market in Australia. Other
products, degree of interest of chess players, etc.
RM: It's no different from anywhere else in the world, really. Australians have always bought chess programs from all over the world, whether off the shelf or through the Internet. We are really part of a global market when it comes to software. Some Australians like to buy locally developed products when they can, others just buy whatever suits them best. Fortunately, for many of our customers, these two objectives coincide with KChess Elite. We at ARK ANGLES in turn, sell our products all over the world. Over the last year about 75% of our KChess Elite sales have been outside Australia, with the USA being the single biggest destination. In general Australians have a high acceptance of new technology, often second only to the USA, and sometimes in front. We have one of the highest ratios of PC ownership in the world. Although I've not seen any figures, I presume this characteristic would apply equally to chess software, making Australia a good market for it's population...
If from the words of McDonell you got the impression that KChess Elite is something like a toy, a very very weak program just for kids, let me tell you that is not the case. I have played KChess Elite from time to time and it is not easy at all to get the ball. Let me extract and translate for you a comment this program deserved in the number 17 of the french specialized chess computer magazine "La Puce Echiquečnne", in June 1998. The comment was done for a somewhat weaker version (16 bits).
"KChess Elite", says the review of this magazine, "is not very performing at blitz, but defends himself like a beast in certain games. Crafty, The Crazy Bishop and GNU Chess have been compelled more than once to accept a draw..." According the review, this program got 2030 Elo in LCT2 test. Not so bad, not a toy. And probably the 32 bit version is somewhat stronger due to the faster processing speed.
(A lot of thanks to Larry Tamarkin, who "debugged" this text from its first, maybe-english original version)
Published by ARK ANGLES