fsmosca/UCIChessEngineProtocol

Add help command

Opened this issue · 0 comments

Proposal to add help command. The help command would tell the user about the meaning of options. The user can quickly see what it is without reading the full documentation of the program.

Let's have an example from CDrill engine.

info string CDrill 2000 64bit
info string type help for some option descriptions
>>uci
id name CDrill 2000
id author Ferdinand Mosca
option name Hash type spin default 64 min 2 max 256
option name OwnBook type check default false
option name Sinful type check default false
option name Decent type check default false
option name OwnMaterialWeight type spin default 100 min 0 max 1000
option name OppMaterialWeight type spin default 100 min 0 max 1000
option name PSTWeight type spin default 100 min 0 max 1000
option name PawnStructureWeight type spin default 100 min 0 max 1000
option name PassedPawnWeight type spin default 100 min 0 max 1000
option name MobilityWeight type spin default 100 min 0 max 1000
option name ThreatWeight type spin default 100 min 0 max 1000
option name OwnKingAttackWeight type spin default 100 min 0 max 1000
option name OppKingAttackWeight type spin default 100 min 0 max 1000
option name KingShelterWeight type spin default 100 min 0 max 1000
option name RepeatScore type spin default -100 min -30000 max 30000
uciok
>>help
type uci to see the engine informations and options it supports.
Option Decent: The engine when ahead will play a suboptimal move so that the opponent can equalize. However if behind, it will try to find the best move. The engine will not attempt to win the game but to draw or lose it.
Option Sinful: The engine will play blunder, bad and dubious moves most of the time especially in a bad position. There are times that it will play the best move. The engine will attempt to win the game.
Option PSTWeight: PST stands for Piece Square Table. The piece values are not included. The bonus/penalty depends on the square and piece type locations.
Option RepeatScore: If there is repetition seen, the engine will return this value.

The format is <Option> <Option name> <:> <Description>