1850 on left, ChessLR on right
ChessLR is in the final stretch! I was able to fix a problem I was having where wrong reed switches were being reported, which caused all sorts of incorrect piece up and down errors. Turns out it was in the way I was handling the PI4J API and the MCP23017 chips.
So far I have played one game of myself against ChessLR. I lost in the end game. Today I pitted ChessLR against my Radio Shack 1850 chess computer. I was pleasantly surprised when the 1850 checkmated ChessLR on move 36! It started by nabbing a pawn on move 12 and continued to stay a pawn up until move 21, where it nabbed a bishop. It stayed a bishop up the rest of the game.
The reason for playing them against each other is that I wanted to tune ChessLR's engine levels to be about the same as my 1850's. I'm running Stockfish as my engine. So far I see there are four different ways to tune it. You can change the amount of time Stockfish is allowed to think, the max depth it can search, some setting called Slow Mover, and the skill level.
The 1850 has 17 levels. After a little poking around, I found the manual. The first 9 levels are for casual play. I plan to mimic the first four or so levels. The tournament levels I don't plan to mimic, but I do plan on having them play a few games to see how the 1850 plays against ChessLR. Once I figure out the time controls on Stockfish.
|Level||Average response time per move|
|0||0.5 seconds (handicap level for beginners)|
|1||2 seconds (default setting)|
Next 4 are tournament levels and are time controlled games:
|Level||Primary time control||Secondary time control|
|A||30 moves/1st 30 min||30 moves/30 mins.|
|B||40 moves/1st 2 hours||20 moves/hour|
|C||40 moves/1st 2.5 hours||16 moves/hour|
|D||50 moves/1st 2.5 hours||20 moves/hour|
And the last 4 are blitz and problem solving.
|E||5 min blitz game|
|H||Problem solving level|
|Speed||8 MHz cpu running at 2 MHz|
|Display||16 board LEDs|
|Board type||Press sensory|
Changing the movetime and search depth level is handled on the go command like this:
go movetime 1 depth 1
I'm giving Stockfish 1ms to think, and search 1 plies only.
The level is controlled via option name Skill Level, which can be 0 thru 20. It defaults to 20 and that is what I had left it on for the test. To change it to level 0, you can use issue the following UCI command:
setoption name Skill Level value 0
There is a fourth option called Slow Mover I can play with as well, which apparently effects the time the engine gets to think. But I don't understand what the difference between this and movetime is so will need more research:
setoption name Slow Mover value 10
I plan to use skill 0 with the movetime and depth above for the next game I play against it.
Me vs ChessLR. I lasted way longer then I was expecting to last. I resigned on move 40 as I would have suffered too much material loss and my positon was loosing anyway.
[Event "Game ID 1054"] [Site "Foxcroft"] [Date "2019.10.23"] [Round "1"] [White "Lee Patterson"] [Black "ChessLR"] [ECO "C21"] [Result "0-1"] [GameID "1054"]
1.e4 e5 2.d4 Qh4 3.Nc3 Bb4 4.dxe5 Qxe4+ 5.Qe2 Qd4 6.Bd2 Qh4 7.Nf3 Qh5 8.Qc4 Na6 9.a3 Be7 10.Be2 Qg6 11.Bd3 Qe6 12.Qxe6 dxe6 13.Ke2 h5 14.h4 c6 15.Rae1 Nc5 16.Kd1 Nxd3 17.cxd3 Kf8 18.d4 b6 19.Kc1 Ba6 20.Bg5 Bc4 21.Re4 Bd3 22.Re3 Bg6 23.Bxe7+ Nxe7 24.Kd2 Nf5 25.Re4 Rd8 26.g4 Ne7 27.Rf4 c5 28.Ke3 hxg4 29.Rxg4 Nf5+ 30.Ke2 Nxd4+ 31.Nxd4 cxd4 32.Nb5 d3+ 33.Kd2 Rd5 34.Nxa7 Rxe5 35.Rd4 Re2+ 36.Kd1 Kg8 37.Re1 Rxf2 38.Rh1 Rxb2 39.Ra4 Rb1+ 0-1
ChessLR vs Radio Shack 1850. Pretty nifty game. ChessLR movetime 1 depth 1, 1850 level 2.
[Event "ChessLR vs Radio Shack 1850"] [Site "Foxcroft"] [Date "2019.10.24"] [Round "1"] [White "RS1850"] [Black "ChessLR"] [ECO "A04"] [Result "1-0"] [GameID "1070"]
1.Nf3 a6 2.d4 d5 3.Nc3 Nf6 4.Bf4 e6 5.Ne5 Nh5 6.Be3 Nd7 7.g4 Nhf6 8.g5 Ne4 9.Nxe4 dxe4 10.Bg2 c6 11.Nxd7 Bxd7 12.Bxe4 Bd6 13.O-O O-O 14.Qd3 g6 15.Kh1 Kg7 16.Bg2 e5 17.dxe5 Bxe5 18.Bc5 Re8 19.Rad1 Qa5 20.b4 Qxa2 21.Qxd7 Rab8 22.Ba7 Rbd8 23.Qxb7 Rxd1 24.Rxd1 Qxc2 25.Re1 Qc3 26.Rf1 Rd8 27.Qxc6 Qxb4 28.Be3 Qh4 29.f4 Rd6 30.Qc5 Bxf4 31.Bxf4 Rd7 32.Be5+ f6 33.Bxf6+ Kf7 34.Bd5+ Rxd5 35.Qe7+ Kg8 36.Qg7# 1-0
Copyright © 2019, Lee Patterson