On Fri, Nov 24, 2023 at 11:21:00AM -0800, Trevor Slocum wrote: > I have drafted an initial specification of a Universal Backgammon Interface > (UBI). > > This protocol facilitates interoperable communication between backgammon > engines and clients.
I have some comments on the <state> item and the evaluation commands and replies. The <state> doesn't contain the cube value and position. Should they be transmitted earlier by another command ? It seems more natural to me that they belong to the state. A similar issue exists for the match score (in "away" format ? 0-0 for a money game ? how to flag a Crawford game ?) The OkDouble and OkMove replies don't contain the estimated equity ? As described, maxmoves looks more like a minimum number of expected moves (if there are enough legal moves). XG, GNUbg, and probably BGBlitz and Snowie use move filters, evaluating all moves at a low ply then doing a deeper evaluation of the most promising ones. It may be more natural to use 0 for "respond with the moves evaluated at the higher ply or rollout for the selected level" and other values for "respond with <n> moves", possibly implying "expand your move filter if needed". Whether you agree with the latter or not, should it be expected that all returned moves have been evaluated at the same level ? Otherwise that level should be in the response (for each play). Maybe it should be there anyway.
