I'm thinking of building a bridge robot that bids and plays a hand. Are there any standards for robots to play against each other?
Under the conditions of contest for ACBL/WBF sponsored World Computer Bridge Championships Section VI. Method of Play the use of a Table Manager is mandated, of which two examples are mentioned by name:
One copy of each robot will be played on a computer. Exception can be made to allow two copies of each program (a pair) to be played on one computer.
Matches will be controlled by a Table Manager program. One that may be used Bridge Monitor, developed by Gerard Joyez, or a Table Manager developed by Ian Trackman of Blue Chip Bridge Ltd. The latter program is the property of Blue Chip Bridge Ltd which has full copyright and other intellectual property rights to it. If it is used it will be supplied to acceptable potential contestants solely for the purpose of preparing for the Montreal competition. To receive a copy an entrant must agree to the above restrictions, abide by the copyright, agree not distribute the program, and sign a release statement provided by Blue Chip Bridge, Ltd.
Transmission of information as to deals, bids and play of cards and otherwise, will be consistent with the protocol defined on http://www.bluechipbridge.co.uk/protocol.htm.
Programs must not communicate with their “partner” program or any other program nor search for any information. Any attempt to do so will be deemed to be a violation of the rules. The penalty is disqualification. The ACBL reserves the right to implement whatever network monitoring and/or other measures that it thinks fit without disclosure to the participants.
Under these conditions of contest, the protocol defined at http://www.bluechipbridge.co.uk/protocol.htm has been a de facto standard since 2005:
2. The basic concept is that there are five programs, ideally running on five separate computers. One program plays for each hand. The fifth program acts as the "Table Manager". The Table Manager’s function is to deal the cards, transmit and receive all communications among the playing programs, keep the score and (to a limited extent) enforce the rules of the game.
3. All communications are in plain-text ASCII format (characters #10, #13 and #32 to #127 only), using TCP/IP. It has been suggested that all 8-bit ASCII characters should be allowed for e.g. accented characters, but this might cause display problems for receiving computers (opinions please).
10. Most messages are in plain English, so that the transmissions will be intelligible to operators and observers without decoding.
1. To connect with the Table Manager, a player opens a client socket to the Table Manager’s computer. The player sends "Connecting ["team name"] as [Hand] using protocol version [x]". The team-name should be enclosed in double-quotation marks (ASCII #34) to avoid any conflict with reserved words used in this protocol. So that the team-name can be used as part of a file-name for hand records etc., it should consist only of characters which would be valid as part of a file-name. ....