Author: David Dahlem
Date: 07:50:10 07/31/02
Go up one level in this thread
On July 31, 2002 at 07:44:22, Mike Byrne wrote:
>With all new and revised predefined "krafty" levels whcih can be set using the
>crafty.rc file. "krafty" levels are designed to make Crafty play weaker - thus
>more enjoyable for lower rated players.
>
>There are now 14 predefined "krafty" levels:
>
>pawngrabber
>beginner
>novice
>simpleton
>woodpusher
>knight
>bishop
>player
>club
>expert
>master
>im
>gm
>standard
>
>Here are the results of the two lowest rated "krafty" levels - "pawngrabber" and
>"beginner" in a Chessmaster 8000 tournament using the various "Josh"
>personalities.
>
>CM8K Personality Ratings
>
>CM8K Performance Results for Crafty Beginner and PawnGrabber modes:
>
>8 Man RR Tournament
>
>CM8K Personality Ratings Points
>
>Josh Age 6 1200 5.0
>Josh Age 7 1365 3.5
>Josh Age 8 1600 8.0
>Josh Age 9 1800 9.5
>Josh Age 12 2100 10.5
>Muldoon 2300 14.0
>
>Crafty (“krafty <level>”)
>Beginner 3 wins 3 Draws 8 Losses 4.5
>PawnGrabber 1 win 2 Draws 11 Losses 2.0
>
>Mission Accomplished – Pawngrabber played at a level less than 1200 – which is
>good.
> Beginner played somewhere between 1200 and 1300 – which is perfect.
>
>All other levels will play increasing better as their vision (search depth) and
>evaluation assessment increases goes up.
>
>
>Source code for krafty <level> option - require changes in other areas as well
>
> /*
> ----------------------------------------------------------
>| |
>| "krafty" command sets the playing level by piece values |
>! !
>| |
> ----------------------------------------------------------
>*/
>
> else if (OptionMatch("krafty",*args))
> {
> if (nargs < 2)
> {
>
> Print(4095," Usage: krafty <level>\n");
> Print(4095," Valid levels are:\n\n");
> Print(4095," pawngrabber ->queen <500>, rook <400>, knights
><300>,\n");
> Print(4095," ->bishops <300>,pawns <250>\n");
> Print(4095," beginner ->queen <550>, rook <400>, knights
><300>,\n");
> Print(4095," ->bishops <300>,pawns <225>\n");
> Print(4095," novice ->queen <600>, rook <400>, knights
><275>,\n");
> Print(4095," ->bishops <275>,pawns <200>\n");
> Print(4095," simpleton ->queen <600>, rook <400>, knights
><275>,\n");
> Print(4095," ->bishops <275>,pawns <175>\n");
> Print(4095," woodpusher ->queen <600>, rook <400>, knights
><300>,\n");
> Print(4095," ->bishops <300>, pawns <150>\n");
> Print(4095," knight ->queen <650>, rook <400>, knights
><350>,\n");
> Print(4095," ->bishops <250>, pawns <150>\n");
> Print(4095," bishop ->queen <650>, rook <400>, bishops
><350>,\n");
> Print(4095," ->knight <250>, pawns <150>\n");
> Print(4095," player ->queen <650>, rook <400>, bishop &
>knights <300>,\n");
> Print(4095," ->pawns <150>\n");
> Print(4095," club ->queen <750>, rook <450>, bishop & knights
><300>,\n");
> Print(4095," ->pawns <125>\n");
> printf("more...");
> fflush(stdout);
> (void) Read(1,buffer);
> Print(4095," expert ->queen <1200>, rook <500>, knights
><300>,\n");
> Print(4095," ->bishops <300>, pawns <125>\n");
> Print(4095," master ->queen <1100>, rook <500>, bishop &
>knights <300>,\n");
> Print(4095," ->pawns <125>)\n");
> Print(4095," im ->queen <1200>, rook <600>, bishop
><400>,\n");
> Print(4095," ->knights <400> pawns <110>)\n");
> Print(4095," gm ->queen <950>, rook <500>, bishop
><310>,\n");
> Print(4095," ->knights <310> pawns <100>)\n");
> Print(4095," standard ->queen <900>, rook <500>, bishop & knights
><300>,\n");
> Print(4095," ->pawns <100>)\n\n\n");
> }
> else if (OptionMatch("pawngrabber",args[1]))
> {
> QUEEN_values=500;
> ROOK_values=400;
> BISHOP_values=300;
> KNIGHT_values=300;
> PAWN_values=250;
> learning=0; /*learning off*/
> search_depth=2; /*search depth = 2 ply*/
> book_selection_width=5; /* wide book*/
> book_random=1; /*book randomness on*/
> }
> else if (OptionMatch("beginner",args[1]))
> {
> QUEEN_values=550;
> ROOK_values=400;
> BISHOP_values=300;
> KNIGHT_values=300;
> PAWN_values=225;
> learning=0;
> search_depth=3;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("novice",args[1]))
> {
> QUEEN_values=600;
> ROOK_values=400;
> BISHOP_values=275;
> KNIGHT_values=275;
> PAWN_values=200;
> learning=0;
> king_safety_asymmetry=50; /*less king safety awareness - aggressive*/
> king_safety_tropism=150; /*more agressive*/
> passed_scale=150; /*passed pawn weighted 50% more*/
> search_depth=4;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("simpleton",args[1]))
> {
> QUEEN_values=600;
> ROOK_values=400;
> BISHOP_values=275;
> KNIGHT_values=275;
> PAWN_values=175;
> learning=0;
> king_safety_asymmetry=-50; /*more king safety awareness - defensive*/
> king_safety_tropism=80; /*less aggresive*/
> search_depth=4;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("woodpusher",args[1]))
> {
> QUEEN_values=600;
> ROOK_values=400;
> BISHOP_values=300;
> KNIGHT_values=300;
> PAWN_values=150;
> passed_scale=150;
> search_depth=5;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("knight",args[1]))
> {
> QUEEN_values=650;
> ROOK_values=400;
> BISHOP_values=250;
> KNIGHT_values=300;
> PAWN_values=150;
> king_safety_asymmetry=-50;
> king_safety_tropism=80;
> learning=0;
> search_depth=5;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("bishop",args[1]))
> {
> QUEEN_values=650;
> ROOK_values=400;
> BISHOP_values=350;
> KNIGHT_values=250;
> PAWN_values=150;
> learning=0;
> king_safety_asymmetry=50;
> king_safety_tropism=150;
> search_depth=5;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("player",args[1]))
> {
> QUEEN_values=650;
> ROOK_values=400;
> BISHOP_values=300;
> KNIGHT_values=300;
> PAWN_values=150;
> learning=0;
> search_depth=6;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("club",args[1]))
> {
> QUEEN_values=750;
> ROOK_values=450;
> BISHOP_values=300;
> KNIGHT_values=300;
> PAWN_values=125;
> learning=0;
> king_safety_asymmetry=50;
> king_safety_tropism=150;
> search_depth=7;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("expert",args[1]))
> {
> QUEEN_values=1200;
> ROOK_values=500;
> BISHOP_values=300;
> KNIGHT_values=300;
> PAWN_values=125;
> learning=0;
> king_safety_asymmetry=50;
> king_safety_tropism=150;
> passed_scale=150;
> search_depth=8;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("master",args[1]))
> {
> QUEEN_values=1100;
> ROOK_values=500;
> BISHOP_values=300;
> KNIGHT_values=300;
> PAWN_values=125;
> learning=0;
> king_safety_asymmetry=-50;
> king_safety_tropism=80;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("im",args[1]))
> {
> QUEEN_values=1200;
> ROOK_values=600;
> BISHOP_values=400;
> KNIGHT_values=400;
> PAWN_values=110;
> learning=0;
> king_safety_asymmetry=-50;
> king_safety_tropism=120;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("gm",args[1]))
> {
> QUEEN_values=950;
> ROOK_values=500;
> BISHOP_values=310;
> KNIGHT_values=310;
> PAWN_values=100;
> book_selection_width=5;
> book_random=1;
> }
> else if (OptionMatch("standard",args[1]))
> {
> QUEEN_values=900;
> ROOK_values=500;
> BISHOP_values=300;
> KNIGHT_values=300;
> PAWN_values=100;
> king_safety_asymmetry=0;
> king_safety_tropism=100;
> passed_scale=100;
> pawn_scale=100;
> booster_base=60;
> booster_level=300; /*booster level=300 is off*/
> book_selection_width=3; /*narrow book*/
> book_random=0; /*no randomness*/
> }
> Print(4095,"\n\n\n");
> Print(4095," queen value..........................%d\n",QUEEN_values);
> Print(4095," rook value...........................%d\n",ROOK_values);
> Print(4095," bishop value.........................%d\n",BISHOP_values);
> Print(4095," knight value.........................%d\n",KNIGHT_values);
> Print(4095," pawn value...........................%d\n",PAWN_values);
> Print(4095,"\n\n\n\n");
> }
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.