GNOME Bugzilla – Bug 475535
Chess needs a "very easy" mode
Last modified: 2013-08-07 15:43:24 UTC
This bug has been filled here: https://bugs.launchpad.net/ubuntu/+source/gnome-games/+bug/138570 "Binary package hint: gnome-chess Our easiest chess mode is too difficult. I can beat it some times, but it requires a lot of difficulty. This is too hard - we need a "very easy" chess mode that a complete chess beginner, or even a 10 year old, could conceivably beat."
I'd agree, I certainly can't beat it :) glChess does not provide the AI, it is provided by an external engine (by default gnuchess). So either we need to change the settings on gnuchess or supply an engine that is easier. The list of engines I have confirmed working is here: http://glchess.sourceforge.net/?q=node/22 And the settings file is: ~/.gnome2/glchess/ai.xml As I am not a chess player I am not able to compare the engines well. So what we require is players to feed back on the settings and engines that are appropriate.
Following some of the links in the engine list, I found the rankings of a computer chess championship. It looks pretty extensive. The results are here: http://wbec-ridderkerk.nl/html/BayesianElo_ed14.htm Although this is machine-dependant, please note where GNUchess lays. And then look where crafty is. A kind of sum up follows 5 Fruit 061027y 2845 9 Glaurung 1.21-x64 2789 18 Crafty 20.14BH-x64 2737 82 Phalanx XXII 2455 92 Amy 0.8.7 2434 94 Sjeng 12.13 2430 149 GNUChess 4TM 2207 150 DrunkenMaster 1.2** 2207 199 Faile 1.4 1961 233 HoiChess 0.7.0 1819 262 Amundsen 0.50 1664 I'm not really sure if these engines are actually the same that are listed in the gnuchess site, though. I think this might help. As a final comment, I know one person that says that gnuchess is easy to beat... but he is an international master, so I wouldn't trust him. * in real chess, 100 ELO difference means 7 points out of 10. The chance of drawing a match against someone 400 points better than you is basically nil. ** Now also known as diablo
Thanks Miguel, The problem with rankings like this is these show the engines on their strongest settings. What we need is an engine that on appropriate low settings is easy enough for a beginner to beat (and still play a challenging game). I know Apple Chess chose Sjeng and from what I have heard GNUchess is considered "too hard" and "not human-player like" for beginners. I don't think we need to worry too much about advanced users as there are loads of hard engines and users seeking that sort of challenge can choose them from the new game dialog :) I haven't had any feedback from power chess users about difficulty (either they use other UIs for playing or have installed the harder engines and are happy with them) but a lot of feedback is "I can't beat GNUchess on the easiest settings".
Ideally it would be nice to have at least two levels below the current Easy level: Current - New Difficulty Levels ------------------------------- - Really Easy - Easy Easy - Normal Normal - Hard Hard - Really Hard
*** Bug 495704 has been marked as a duplicate of this bug. ***
It seems that this is pretty difficult with GNU Chess: http://lists.gnu.org/archive/html/bug-gnu-chess/2007-11/msg00001.html
Well, do we really *need* GNU Chess? Why not make another GPL licensed engine default? Maybe Sjeng, Fruit or Crafty?
Crafty can be tuned with commands like this: sd 4 (search depth) sn 100000 (search nodes) ponder off book off egtb off To be honest, I think the sn method is probably best, as this does leave crafty to evaluate deeper into selective trees.
I was playing around with the /usr/share/glchess/ai.xml file the other day, and I noticed, this file can pass options to chess engines. However, it seems only to support the three standard difficulty levels, easy, normal and hard. Adding others, just causes them to be ignored. 3 difficulty levels are by definition inadequate. It's foolish to think 3 levels can accomodate all players. I suggest to flexibilize this file, and allow for as many levels as are defined in the XML file. Having about 9 (or 10) difficulty levels will probably be more adequate: 1 (very easy) 2 3 (easy) 4 5 (normal) 6 7 (hard) 8 9 (very hard) Other Chess games do this as well, Wii Chess defines 10 levels. The first level can be beaten by anyone who is familiar with Chess rules. Level 2 challenges beginners. And Level 3 will probably be challenging to all casual players. When levels rise this should end in level 9, where crafty (or whatever engine) goes full force: egtb,book,ponder,threading to 2 (or 4) cpus.
I talked to the author of an open source chess AI and he recommended we use the Phalanx engine for a believable easy mode: http://sourceforge.net/projects/phalanx Also the Sjeng used by Apple is no longer open source I believe
For Glchess version 2.x it was possible to tweak phalanx engine to be very weak: http://odo.lv/Recipes/Glchess_en Though now, Glchess 3.x does not work with phalanx anymore (see https://bugzilla.gnome.org/show_bug.cgi?id=685732 )
Well Dominique Leuenberger fixed Phalanx integration a while back, and I've applied a couple other Phalanx-related fixes recently. So Phalanx is definitely a possibility now. The downsides to Phalanx are that it's not widely packaged -- specifically Fedora and Arch Linux do not have it -- and that the last stable release is very old (2005), so you have to patch it a bit if you want to build it on a modern system. Also, the "Phalanx XXIII Beta" posted for download on sourceforge has at least one major bug[1], but the version provided by Debian and Ubuntu is fine. Phalanx's easy mode certainly looks VERY interesting. I'll also look into Stockfish's easy mode; Stockfish is more modern and has a significantly more active upstream. At any rate, I don't intend to continue using gnuchess as the default engine because there's still no way to turn off quiescence search, the technique it uses to not lose pieces even on the easiest difficulty level. But while I can play with the difficulty settings, what engine gets installed is ultimately up to distributions. [1] https://bugzilla.novell.com/show_bug.cgi?id=819525
Actually we should be able to turn off quiescence search if we use UCI instead of CECP to interface with gnuchess - I expect this will make gnuchess much easier to beat. (This only works with gnuchess 6 or higher.)
UCI isn't an option for gnuchess -- in UCI mode, it hogs all your CPU, even before a game starts. Plus I can only control the depth of the search when it's using CECP. (I was able to get it to make some pretty dumb moves by removing material from its evaluation heuristic, but they were very unrealistic mistakes like letting the Queen be captured by a pawn. The CPU issue is the blocker here, though.) So there will be no changes to the GNUChess settings, unfortunately. Phalanx's easy mode doesn't feel credible, but we'll definitely use it. I've tuned the Stockfish settings down to a level where I was able to beat it. It's still not easy enough, though. I'll need to look into more engines.
HoiChess seems to have a credible easy mode. This will probably be our recommended default in 3.10. Debian (and therefore Ubuntu) already have it, so it's just a matter of asking them to change the default. Unfortunately I can't know if other distros will be willing to package it. Also, I've figured out how to set search depth for UCI engines. That needs a bit more work to implement properly, though: I'll leave this bug open until that's done.
OK, I think I'm done. There's still room for fine-tuning, but you should see a big improvement in 3.10. (Of course, it will vary significantly based on what engine you're using.) I've changed the difficulty settings for almost every engine; several were either missing difficulties or had broken settings. This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.
Awesome! and almost 6 years later it was fixed ;-). Can't wait for 3.10 to test it (Haven't play chess in a while), Thanks all!