After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 475535 - Chess needs a "very easy" mode
Chess needs a "very easy" mode
Status: RESOLVED FIXED
Product: gnome-chess
Classification: Applications
Component: General
git master
Other Linux
: High enhancement
: ---
Assigned To: Michael Catanzaro
gnome-chess-maint
favorite
: 495704 (view as bug list)
Depends on: 705382 705383
Blocks: 703950
 
 
Reported: 2007-09-10 17:08 UTC by Pedro Villavicencio
Modified: 2013-08-07 15:43 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Pedro Villavicencio 2007-09-10 17:08:49 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."
Comment 1 Robert Ancell 2007-09-11 01:14:38 UTC
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.
Comment 2 Miguel Martinez 2007-10-31 19:50:20 UTC
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
Comment 3 Robert Ancell 2007-11-01 00:21:11 UTC
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".
Comment 4 Pascal de Bruijn 2007-11-10 20:40:25 UTC
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
Comment 5 Robert Ancell 2007-11-11 00:19:43 UTC
*** Bug 495704 has been marked as a duplicate of this bug. ***
Comment 6 Andreas Røsdal 2007-11-26 19:57:24 UTC
It seems that this is pretty difficult with GNU Chess:

http://lists.gnu.org/archive/html/bug-gnu-chess/2007-11/msg00001.html
Comment 7 Pascal de Bruijn 2008-03-08 16:38:22 UTC
Well, do we really *need* GNU Chess?

Why not make another GPL licensed engine default?

Maybe Sjeng, Fruit or Crafty?

Comment 8 Pascal de Bruijn 2008-04-05 15:28:52 UTC
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.
Comment 9 Pascal de Bruijn 2008-04-05 15:39:04 UTC
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.


Comment 10 Scott Ritchie 2009-05-19 20:05:52 UTC
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
Comment 11 Valdis 2012-10-08 15:21:15 UTC
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 )
Comment 12 Michael Catanzaro 2013-05-25 19:18:22 UTC
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
Comment 13 Michael Catanzaro 2013-05-25 21:26:03 UTC
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.)
Comment 14 Michael Catanzaro 2013-07-21 14:54:08 UTC
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.
Comment 15 Michael Catanzaro 2013-07-28 03:11:42 UTC
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.
Comment 16 Michael Catanzaro 2013-08-04 03:11:15 UTC
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.
Comment 17 Pedro Villavicencio 2013-08-07 15:43:24 UTC
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!