- Updated Sunday, March 27th 2016 @ 09:40:12
There are a few things relating to IO which I'd like to raise:
It would be great if the engine informed the bots of the opponent's last move. This can be useful to the bots, and although they can extract the information from the changed board state, doing so takes precious time. If the engine informs the bots by IO, slow languages like Python will be at less of a disadvantage. It also disambiguates the case where the opponent has passed, and the case where the bot has sent an illegal move and is receiving the same board state again.
Assuming there is a round limit, should bots be informed of this by IO? At first I thought they should, but on further consideration I think that as long as the limit is high enough (about 300 rounds, 600 moves for 19x19) it's better not to tell the bots the exact endpoint. It isn't meant to be strategic information, it's only there to ensure that the games are not too long. However, it might be worth discussing, especially if the round limit were left as short as it is now. In that case the game is very different and I think the round limit becomes key information which the bots should have.
As outlined in a previous post, I think bots should be informed of ko by IO. Calculating it for long cycles can be a very large operation, and the engine will have to do it anyway. Bots which use an efficient superko implementation in their lookahead will still gain an advantage, so there's no reason not to tell all bots the currently-foribidden squares by sending '3' instead of '0'.
On a minor note, the IO log says "Output from your bot" for all turns, including moves made by the opponent.
- Created Sunday, March 27th 2016 @ 20:47:27
+1 for this prposal. Last move is important especially if it was pass. Bots should imo know the move limit, the game rules should be transparent (which btw is also a reason not to let an extranal program like gnugo act as judge, as has been proposed elsewhere).
- Created Monday, March 28th 2016 @ 03:00:57
+1 for sending ko points and last move. Detecting it ourselves is tedious and more so due to the way the current state is being sent.
Don't really care about the round limit as it isn't random and can be hardcoded into the program.
- Created Tuesday, March 29th 2016 @ 09:11:47
+1 for communicating forbidden-to-play points (which is not only Ko points by the way) +1 for communicating last move
There is a specific thread about round limits. Let's discuss them at that place.
DeveloperCreated Tuesday, March 29th 2016 @ 09:15:50
Good points, all proposed changes (including from other posts) will be considered when updating Go for the first time, which will be this week or next week.
I don't see smileys last minor note happening though?
- Created Tuesday, March 29th 2016 @ 13:04:32
You're right, I don't know how I convinced myself it was happening, the IO logs look completely correct to me now.