Hi, I finally made this bot. @imporver-engine and here is a game it played against Stockfish lv 1 :
https://lichess.org/ERVZW189vy3D
As you can see, it only plays random moves when there is no free capture. You can put it on lichess running this script https://colab.research.google.com/drive/190_eBqviomJnLrnDAbrUcYtaq6X-RD0K (my internet connexion is slow here, so it may be uploaded in few hours)
Here is the source code for people interested in https://github.com/PaulJeFi/Improver-Engine
I noticed a problem is it does not plays obvious mate in one. Should I make it play those easy mate in one ?
Hi, I finally made this bot. @imporver-engine and here is a game it played against Stockfish lv 1 :
https://lichess.org/ERVZW189vy3D
As you can see, it only plays random moves when there is no free capture. You can put it on lichess running this script https://colab.research.google.com/drive/190_eBqviomJnLrnDAbrUcYtaq6X-RD0K (my internet connexion is slow here, so it may be uploaded in few hours)
Here is the source code for people interested in https://github.com/PaulJeFi/Improver-Engine
I noticed a problem is it does not plays obvious mate in one. Should I make it play those easy mate in one ?
<Comment deleted by user>
Nice!
Hm, why didn't it take the bishop with the pawn on move 16? Does it take ONLY hanging pieces? I also suggested taking favorable trades.
Also, while I am not saying it should take even trades in general, it should probably take pawns with pawns whenever possible, since at newbie level that's the sort of a thing people often don't notice and is worth punishing.
Also, maybe ensure promotion to queen?
Yeah, making it play obvious mates in 1 would surely be a good idea. Beyond that, I'm not sure how to solve the issue of "make it play to win but don't make it much stronger". Maybe make it start playing to win once the material advantage is enough + sufficient material has been taken off the board? So if it has e.g. a queen and rook vs two pawns, it's okay for it to start calculating the win? Dunno how practical that is. This would require thought.
Nice!
Hm, why didn't it take the bishop with the pawn on move 16? Does it take ONLY hanging pieces? I also suggested taking favorable trades.
Also, while I am not saying it should take even trades in general, it should probably take pawns with pawns whenever possible, since at newbie level that's the sort of a thing people often don't notice and is worth punishing.
Also, maybe ensure promotion to queen?
Yeah, making it play obvious mates in 1 would surely be a good idea. Beyond that, I'm not sure how to solve the issue of "make it play to win but don't make it much stronger". Maybe make it start playing to win once the material advantage is enough + sufficient material has been taken off the board? So if it has e.g. a queen and rook vs two pawns, it's okay for it to start calculating the win? Dunno how practical that is. This would require thought.
So, I've updated the bot's playing strategy :
- moves that mate in one the opponent
- captures (complex part). The bot gives a score to captures the following way :
- pawn takes pawn scores 1 (also for en-passant)
- for undefended pieces, the score is the captured piece value
- for defended pieces, the score is the captured piece value minus the capturing piece value
The bot makes the capture with the best score.
- random non-capture move else, or if every capture score is less or equal than zero.
- random capture if there are only capture moves that are legal and every captures is scored ess or equal than zero.
I did not implemented the "try to win if materially winning" strategy because even if it is actually not so difficult to do, it would take some time and I have not such time to invest on this project.
Here are two games played agains Stockfish lv 1 :
https://lichess.org/SPEvXnf4
https://lichess.org/xyE9kbskyFbC
The bot is still very week and I guess we can scholar mate it.
So, I've updated the bot's playing strategy :
1. moves that mate in one the opponent
2. captures (complex part). The bot gives a score to captures the following way :
- pawn takes pawn scores 1 (also for en-passant)
- for undefended pieces, the score is the captured piece value
- for defended pieces, the score is the captured piece value minus the capturing piece value
The bot makes the capture with the best score.
3. random non-capture move else, or if every capture score is less or equal than zero.
4. random capture if there are only capture moves that are legal and every captures is scored ess or equal than zero.
I did not implemented the "try to win if materially winning" strategy because even if it is actually not so difficult to do, it would take some time and I have not such time to invest on this project.
Here are two games played agains Stockfish lv 1 :
https://lichess.org/SPEvXnf4
https://lichess.org/xyE9kbskyFbC
The bot is still very week and I guess we can scholar mate it.
Very cool. BTW, why is its provisional rating 2000? :D
Very cool. BTW, why is its provisional rating 2000? :D
@CheckmaterELO BTW, the people I told about this bot tell me that they can't get to play it; that it never responds to their challenge.
I don't know anything about lichess bots, really; I thought once they're listed on lichess they are active 24/7?
@CheckmaterELO BTW, the people I told about this bot tell me that they can't get to play it; that it never responds to their challenge.
I don't know anything about lichess bots, really; I thought once they're listed on lichess they are active 24/7?
Nope. They need to activate it by running this script : https://colab.research.google.com/drive/190_eBqviomJnLrnDAbrUcYtaq6X-RD0K
And this bot does not accept rated games.
Nope. They need to activate it by running this script : https://colab.research.google.com/drive/190_eBqviomJnLrnDAbrUcYtaq6X-RD0K
And this bot does not accept rated games.