Computer Chess Club Archives


Search

Terms

Messages

Subject: Re How about a sample Crafty.rc ? (no text)

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.