lichess.org
Donate

DrawBot - a bot that plays the most drawish move

I have seen ideas in this forum to implement a bot that plays the most drawish move possible.

This is an interesting idea, but my goal for some time has been to build a GUI bot - one that is configurable by and can print its output to a web browser.

I have now a very very beta GUI bot which I configured to play as a draw bot:

liguibot.herokuapp.com

The bot the can be run using the above web page. It is configured to play using the account:

@HumbleTestBot

When the page loads, you should see the bot console. In this console you have to press the "LC" button ( Load Config ) which loads the configuration from json bin ( a simple storage for storing json by id ), and starts the control stream of the bot, so now you can challenge it and play a game. While playing the game, you can watch the bot console ( and the engine console ) for feedback.
It's a shame that

jsonbin.io/

is such a small project. Just when I came public with my bot, the server was down for half a day, so the config could not load. Now it works again.

Storing an anonymous json blob under an id using a simple API is a very useful idea. A database is such an overkill for this purpose.

I'm not aware of any robust service that can do this apart from json bin, please if anybody is aware of such a service, let me know.
@lishadowapps i played a 5 min game and really couldn't get out of the opening phase, it took so much time on moving. I am not sure if there was a force move command and near the end it just disconnected.
#3

Thanks for this suggestion. With no small difficulty I have integrated Firebase into my project. This is a very advanced service and the price you have to pay for that is complexity. For any meaningful database access you need a service account. The key for this service account is a largeish json file that you have to download. Working this large a blob into an environment variable is not practicable. You have to commit this file, which is a security problem ( I created a public branch, to which I don't commit this file, but this is certainly a complication ). Also Pyrebase ( Python driver for Firebase ) installation took a long time and locking Pipfile timed out a few times before it finally succeeded. Still the service API itself is sane and business like, and so far storage worked as expected.

#4

The cause of slow moving was that DrawBot play requires infinite MultiPV mode, which generates insane amount of engine output ( cca. 35 times normal, since there are 35 legal moves in an average position ). The logging of this output to the browser slowed down engine output processing. I disabled engine logging during game play and set Move Overhead to a high value. Now the bot plays quickly.
#6

The point of playing against DrawBot is trying to win against a strong opponent, who won't punish your mistakes.

A draw offer was made in correspondence against the bot, which I accepted by hand ( the bot cannot accept draw offers on its own ). This was a good inspiration to add challenge filter and disable correspondence ( since the bot can only play one game a time, an ongoing correspondence game would block it from playing ).

http://imagerepo.bitballoon.com/botaccept.png

This topic has been archived and can no longer be replied to.