AxolotlFever wrote: ↑Wed Nov 14, 2018 11:21 am
Hi everybody,
I would like to introduce my new chess engine, Axolotl! This engine is written in Java (10), and compiled to 8. It is a UCI engine, and while you can play it on the command line, I recommend connecting to something like Arena. I am new to this, and so I do not think it can offer any serious competition to some of the engines on this forum, which seem terrifyingly good
. Nevertheless this is my first attempt, and the first version is finished!
I am extremely grateful to anyone who shows an interest. In particular I would be curious to get feedback on how I could improve this engine.
Lastly, my engine is completely unrated, and I would not even know where to start! If you are able to give me some idea of the rating, this would be greatly appreciated.
The link to my Gihub is
https://github.com/louism33/Axolotl
(Please let me know if it is not okay to post links, I am new to this forum)
If there is anything unclear, don't hesitate to message me.
All the best,
Louis
This game was played with polyglot as uci adapter in Winboard 4.9(AA).
I have java 11 installed here and this was/should be no problem, as it is intended to be
backward compatible.
[pgn][Event "Test_2018"]
[Site "CAPPUCCINO"]
[Date "2018.11.14"]
[Round "-"]
[White "Axolotl_181114"]
[Black "Zevra v2.0 r172 (UCI2WB)"]
[Result "0-1"]
[TimeControl "40/120"]
[Annotator "1. +0.28 1... -0.21"]
1. e4 {+0.28/6} e5 {-0.21/17 2.9} 2. Nf3 {+0.52/7 3} Nc6 {-0.27/18 3} 3.
Bc4 {+0.34/7 6} Nf6 {-0.05/16 2.9} 4. Nc3 {+0.35/7 5} Nxe4 {-0.04/16 2.9}
5. Nxe4 {+0.11/6 2.4} d5 {+0.14/17 2.9} 6. Bxd5 {+0.64/7 4} Qxd5
{+0.83/16 2.9} 7. d3 {+0.48/6 2.8} Bf5 {+0.85/16 2.9} 8. Ng3 {+0.60/5 2.7}
Bg6 {+0.85/14 2.9} 9. Be3 {+0.14/5 1.8} Be7 {+1.12/14 2.9} 10. c4
{-0.11/5 3} Qxd3 {+2.78/15 2.9} 11. Qxd3 {-0.41/6 2.0} Bxd3 {+2.82/17 2.9}
12. Nd2 {-0.95/6 4} O-O-O {+3.16/15 2.9} 13. O-O-O {-1.22/6 2.4} Nb4
{+4.09/17 2.9} 14. Rde1 {-1.23/6 1.6} Nxa2+ {+4.59/17 2.9}
{Black wins on time} 0-1[/pgn]
Code: Select all
1542198316.410 POLYGLOT *** LOGFILE OPENED ***
1542198316.410 POLYGLOT *** LOGFILE OPENED ***
1542198316.410 PolyGlot 2.0.3 by Fabien Letouzey.
1542198316.410 POLYGLOT *** START ***
1542198316.410 POLYGLOT INI file "polyglot.ini"
1542198316.420 Adapter->Engine: uci
1542198316.813 Engine->Adapter: Starting everything
1542198316.813 Engine->Adapter: Starting Engine
1542198316.813 Engine->Adapter: id name Axolotl
1542198316.813 Engine->Adapter: id author Louis James Mackenzie-Smith
1542198316.823 Engine->Adapter: uciok
1542198316.823 POLYGLOG OPTIONS
1542198316.823 POLYGLOT [PolyGlot] EngineCommand="java -jar Axolotl181114.jar"
1542198316.823 POLYGLOT [PolyGlot] EngineDir="."
1542198316.823 POLYGLOT [PolyGlot] EngineName="Axolotl_181114"
1542198316.823 POLYGLOT [PolyGlot] Log="true"
1542198316.823 POLYGLOT [PolyGlot] LogFile="Axolotl_181114.log"
1542198316.823 POLYGLOT [PolyGlot] SyncStop="true"
1542198316.823 POLYGLOT [PolyGlot] RepeatPV="false"
1542198316.823 POLYGLOT Setting PolyGlot option "EngineCommand=java -jar Axolotl181114.jar"
1542198316.823 POLYGLOT Setting PolyGlot option "EngineDir=."
1542198316.823 POLYGLOT Setting PolyGlot option "EngineName=Axolotl_181114"
1542198316.823 POLYGLOT Setting PolyGlot option "Log=true"
1542198316.823 POLYGLOT *** SWITCHING LOGFILE ***
1542198316.823 POLYGLOT NEW LOGFILE "Axolotl_181114.log"
1542198316.823 POLYGLOT *** LOGFILE OPENED ***
1542198316.823 POLYGLOT Setting PolyGlot option "LogFile=Axolotl_181114.log"
...
1542198397.699 GUI->Adapter: usermove e8c8
1542198397.699 POLYGLOT MOVE O-O-O
1542198397.699 POLYGLOT WAIT -> THINK
1542198397.699 POLYGLOT START SEARCH
1542198397.699 POLYGLOT FEN 2kr3r/ppp1bppp/2n5/4p3/2P5/3bB1N1/PP1N1PPP/R3K2R w KQ - 2 13
1542198397.699 Adapter->Engine: position startpos moves e2e4 e7e5 g1f3 b8c6 f1c4 g8f6 b1c3 f6e4 c3e4 d7d5 c4d5 d8d5 d2d3 c8f5 e4g3 f5g6 c1e3 f8e7 c2c4 d5d3 d1d3 g6d3 f3d2 e8c8
1542198397.699 Adapter->Engine: go wtime 78540 btime 84820 movestogo 28
1542198397.699 Engine->Adapter: The initial board fen is:
1542198397.699 Engine->Adapter: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
1542198397.699 Engine->Adapter: With moves: [e2e4, e7e5, g1f3, b8c6, f1c4, g8f6, b1c3, f6e4, c3e4, d7d5, c4d5, d8d5, d2d3, c8f5, e4g3, f5g6, c1e3, f8e7, c2c4, d5d3, d1d3, g6d3, f3d2, e8c8]
1542198397.699 Engine->Adapter: a b c d e f g h
1542198397.699 Engine->Adapter: +---------------+
1542198397.699 Engine->Adapter: 8 |r . . . k . . r| 8
1542198397.699 Engine->Adapter: 7 |p p p . b p p p| 7
1542198397.699 Engine->Adapter: 6 |. . n . . . . .| 6
1542198397.699 Engine->Adapter: 5 |. . . . p . . .| 5
1542198397.699 Engine->Adapter: 4 |. . P . . . . .| 4
1542198397.699 Engine->Adapter: 3 |. . . b B N N .| 3
1542198397.699 Engine->Adapter: 2 |P P . . . P P P| 2
1542198397.699 Engine->Adapter: 1 |R . . . K . . R| 1
1542198397.699 Engine->Adapter: +---------------+
1542198397.699 Engine->Adapter: a b c d e f g h
1542198397.699 Engine->Adapter:
1542198397.699 Engine->Adapter: a b c d e f g h
1542198397.699 Engine->Adapter: +---------------+
1542198397.699 Engine->Adapter: 8 |. . k r . . . r| 8
1542198397.699 Engine->Adapter: 7 |p p p . b p p p| 7
1542198397.699 Engine->Adapter: 6 |. . n . . . . .| 6
1542198397.699 Engine->Adapter: 5 |. . . . p . . .| 5
1542198397.699 Engine->Adapter: 4 |. . P . . . . .| 4
1542198397.699 Engine->Adapter: 3 |. . . b B . N .| 3
1542198397.699 Engine->Adapter: 2 |P P . N . P P P| 2
1542198397.699 Engine->Adapter: 1 |R . . . K . . R| 1
1542198397.699 Engine->Adapter: +---------------+
1542198397.699 Engine->Adapter: a b c d e f g h
1542198397.699 Engine->Adapter:
1542198397.699 Engine->Adapter: Search for move, clock time: 78540
1542198397.699 Engine->Adapter: info depth 0 score cp 0 pv nodes 0
1542198397.709 Engine->Adapter: info depth 1 score cp -69 pv e1c1 currmove e1c1 nps -3300 nodes 33
1542198397.709 Adapter->GUI: 1 -69 0 33 O-O-O
1542198397.729 Engine->Adapter: info depth 2 score cp -82 pv e1c1 e7f6 currmove e1c1 nps -4000 nodes 120
1542198397.729 Adapter->GUI: 2 -82 0 120 O-O-O Bf6
1542198397.809 Engine->Adapter: info depth 3 score cp -109 pv e1c1 d3g6 d2f3 currmove e1c1 nps -3245 nodes 357
1542198397.809 Adapter->GUI: 3 -109 0 357 O-O-O Bg6 Nf3
1542198398.009 Engine->Adapter: info depth 4 score cp -94 pv e1c1 h8e8 h1e1 e7f6 currmove e1c1 nps -3325 nodes 1031
1542198398.009 Adapter->GUI: 4 -94 0 1031 O-O-O Rhe8 Rhe1 Bf6
1542198398.729 Engine->Adapter: info depth 5 score cp -123 pv a2a3 e7f6 e3g5 currmove a2a3 nps -2923 nodes 3011
1542198398.729 Adapter->GUI: 5 -123 0 3011 a3 Bf6 Bg5
1542198400.089 Engine->Adapter: info depth 6 score cp -122 pv e1c1 h8e8 f2f3 d3g6 d2b3 c6d4 currmove e1c1 nps -2761 nodes 6599
1542198400.089 Adapter->GUI: 6 -122 0 6599 O-O-O Rhe8 f3 Bg6 Nb3 Nd4
1542198400.089 Engine->Adapter: Table size:
1542198400.089 Engine->Adapter: 1208
1542198400.089 Engine->Adapter: time taken millis: 2390
1542198400.089 Engine->Adapter: ------
1542198400.089 Engine->Adapter: Moves per second: 7084
1542198400.089 Engine->Adapter: ------
1542198400.089 Engine->Adapter: best move: e1c1
1542198400.089 Engine->Adapter: ------
1542198400.089 Engine->Adapter: e1c1
1542198400.089 Engine->Adapter: bestmove e1c1
1542198400.089 Adapter->GUI: move e1c1
1542198400.089 POLYGLOT MOVE O-O-O
1542198400.089 POLYGLOT THINK -> WAIT
1542198403.019 GUI->Adapter: time 7615
1542198403.019 GUI->Adapter: otim 8189
1542198403.019 GUI->Adapter: usermove c6b4
1542198403.019 POLYGLOT MOVE Nb4
1542198403.019 POLYGLOT WAIT -> THINK
1542198403.019 POLYGLOT START SEARCH
1542198403.019 POLYGLOT FEN 2kr3r/ppp1bppp/8/4p3/1nP5/3bB1N1/PP1N1PPP/2KR3R w - - 4 14
1542198403.019 Adapter->Engine: position startpos moves e2e4 e7e5 g1f3 b8c6 f1c4 g8f6 b1c3 f6e4 c3e4 d7d5 c4d5 d8d5 d2d3 c8f5 e4g3 f5g6 c1e3 f8e7 c2c4 d5d3 d1d3 g6d3 f3d2 e8c8 e1c1 c6b4
1542198403.019 Adapter->Engine: go wtime 76150 btime 81890 movestogo 27
1542198403.019 Engine->Adapter: The initial board fen is:
1542198403.019 Engine->Adapter: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
1542198403.019 Engine->Adapter: With moves: [e2e4, e7e5, g1f3, b8c6, f1c4, g8f6, b1c3, f6e4, c3e4, d7d5, c4d5, d8d5, d2d3, c8f5, e4g3, f5g6, c1e3, f8e7, c2c4, d5d3, d1d3, g6d3, f3d2, e8c8, e1c1, c6b4]
1542198403.019 Engine->Adapter: a b c d e f g h
1542198403.019 Engine->Adapter: +---------------+
1542198403.019 Engine->Adapter: 8 |. . k r . . . r| 8
1542198403.019 Engine->Adapter: 7 |p p p . b p p p| 7
1542198403.019 Engine->Adapter: 6 |. . n . . . . .| 6
1542198403.019 Engine->Adapter: 5 |. . . . p . . .| 5
1542198403.019 Engine->Adapter: 4 |. . P . . . . .| 4
1542198403.019 Engine->Adapter: 3 |. . . b B . N .| 3
1542198403.019 Engine->Adapter: 2 |P P . N . P P P| 2
1542198403.019 Engine->Adapter: 1 |R . . . K . . R| 1
1542198403.019 Engine->Adapter: +---------------+
1542198403.019 Engine->Adapter: a b c d e f g h
1542198403.019 Engine->Adapter:
1542198403.019 Engine->Adapter: a b c d e f g h
1542198403.019 Engine->Adapter: +---------------+
1542198403.019 Engine->Adapter: 8 |. . k r . . . r| 8
1542198403.019 Engine->Adapter: 7 |p p p . b p p p| 7
1542198403.019 Engine->Adapter: 6 |. . . . . . . .| 6
1542198403.019 Engine->Adapter: 5 |. . . . p . . .| 5
1542198403.019 Engine->Adapter: 4 |. n P . . . . .| 4
1542198403.019 Engine->Adapter: 3 |. . . b B . N .| 3
1542198403.019 Engine->Adapter: 2 |P P . N . P P P| 2
1542198403.019 Engine->Adapter: 1 |. . K R . . . R| 1
1542198403.019 Engine->Adapter: +---------------+
1542198403.019 Engine->Adapter: a b c d e f g h
1542198403.019 Engine->Adapter:
1542198403.019 Engine->Adapter: Search for move, clock time: 76150
1542198403.019 Engine->Adapter: info depth 0 score cp 0 pv nodes 0
1542198403.029 Engine->Adapter: info depth 1 score cp -3 pv d2f3 currmove d2f3 nps -3100 nodes 31
1542198403.029 Adapter->GUI: 1 -3 0 31 Nf3
1542198403.059 Engine->Adapter: info depth 2 score cp -17 pv d2f3 e7f6 currmove d2f3 nps -3100 nodes 124
1542198403.059 Adapter->GUI: 2 -17 0 124 Nf3 Bf6
1542198403.219 Engine->Adapter: info depth 3 score cp -105 pv d1e1 c7c5 d2f3 currmove d1e1 nps -3457 nodes 657
1542198403.219 Adapter->GUI: 3 -105 0 657 Rde1 c5 Nf3
1542198403.389 Engine->Adapter: info depth 4 score cp -92 pv d1e1 b4a2 c1d1 c7c5 d2f3 currmove d1e1 nps -3164 nodes 1171
1542198403.389 Adapter->GUI: 4 -92 0 1171 Rde1 Nxa2+ Kd1 c5 Nf3
1542198403.789 Engine->Adapter: info depth 5 score cp -110 pv d1e1 c7c5 f2f4 e5f4 e3f4 currmove d1e1 nps -3094 nodes 2383
1542198403.789 Adapter->GUI: 5 -110 0 2383 Rde1 c5 f4 exf4 Bxf4
1542198404.619 Engine->Adapter: info depth 6 score cp -123 pv d1e1 b4a2 c1d1 a2b4 f2f4 b4c2 f4e5 currmove d1e1 nps -2998 nodes 4798
1542198404.619 Adapter->GUI: 6 -123 0 4798 Rde1 Nxa2+ Kd1 Nb4 f4 Nc2 fxe5
1542198404.619 Engine->Adapter: Table size:
1542198404.619 Engine->Adapter: 710
1542198404.619 Engine->Adapter: time taken millis: 1600
1542198404.619 Engine->Adapter: ------
1542198404.619 Engine->Adapter: Moves per second: 7483
1542198404.619 Engine->Adapter: ------
1542198404.619 Engine->Adapter: best move: d1e1
1542198404.619 Engine->Adapter: ------
1542198404.619 Engine->Adapter: d1e1
1542198404.619 Engine->Adapter: bestmove d1e1
1542198404.619 Adapter->GUI: move d1e1
1542198404.619 POLYGLOT MOVE Rde1
1542198404.619 POLYGLOT THINK -> WAIT
1542198407.549 GUI->Adapter: time 7455
1542198407.549 GUI->Adapter: otim 7896
1542198407.549 GUI->Adapter: usermove b4a2
1542198407.549 POLYGLOT MOVE Nxa2+
1542198407.549 POLYGLOT WAIT -> THINK
1542198407.549 POLYGLOT START SEARCH
1542198407.549 POLYGLOT FEN 2kr3r/ppp1bppp/8/4p3/2P5/3bB1N1/nP1N1PPP/2K1R2R w - - 0 15
1542198407.549 Adapter->Engine: position startpos moves e2e4 e7e5 g1f3 b8c6 f1c4 g8f6 b1c3 f6e4 c3e4 d7d5 c4d5 d8d5 d2d3 c8f5 e4g3 f5g6 c1e3 f8e7 c2c4 d5d3 d1d3 g6d3 f3d2 e8c8 e1c1 c6b4 d1e1 b4a2
1542198407.549 Adapter->Engine: go wtime 74550 btime 78960 movestogo 26
1542198407.549 Engine->Adapter: The initial board fen is:
1542198407.549 Engine->Adapter: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
1542198407.549 Engine->Adapter: With moves: [e2e4, e7e5, g1f3, b8c6, f1c4, g8f6, b1c3, f6e4, c3e4, d7d5, c4d5, d8d5, d2d3, c8f5, e4g3, f5g6, c1e3, f8e7, c2c4, d5d3, d1d3, g6d3, f3d2, e8c8, e1c1, c6b4, d1e1, b4a2]
1542198407.549 Engine->Adapter: a b c d e f g h
1542198407.549 Engine->Adapter: +---------------+
1542198407.549 Engine->Adapter: 8 |. . k r . . . r| 8
1542198407.549 Engine->Adapter: 7 |p p p . b p p p| 7
1542198407.549 Engine->Adapter: 6 |. . . . . . . .| 6
1542198407.549 Engine->Adapter: 5 |. . . . p . . .| 5
1542198407.549 Engine->Adapter: 4 |. n P . . . . .| 4
1542198407.549 Engine->Adapter: 3 |. . . b B . N .| 3
1542198407.549 Engine->Adapter: 2 |P P . N . P P P| 2
1542198407.549 Engine->Adapter: 1 |. . K R . . . R| 1
1542198407.549 Engine->Adapter: +---------------+
1542198407.549 Engine->Adapter: a b c d e f g h
1542198407.549 Engine->Adapter:
1542198407.549 Engine->Adapter: a b c d e f g h
1542198407.549 Engine->Adapter: +---------------+
1542198407.549 Engine->Adapter: 8 |. . k r . . . r| 8
1542198407.549 Engine->Adapter: 7 |p p p . b p p p| 7
1542198407.549 Engine->Adapter: 6 |. . . . . . . .| 6
1542198407.549 Engine->Adapter: 5 |. . . . p . . .| 5
1542198407.549 Engine->Adapter: 4 |. . P . . . . .| 4
1542198407.549 Engine->Adapter: 3 |. . . b B . N .| 3
1542198407.549 Engine->Adapter: 2 |n P . N . P P P| 2
1542198407.549 Engine->Adapter: 1 |. . K . R . . R| 1
1542198407.549 Engine->Adapter: +---------------+
1542198407.549 Engine->Adapter: a b c d e f g h
1542198407.549 Engine->Adapter:
1542198407.549 Engine->Adapter: Search for move, clock time: 74550
1542198407.549 Engine->Adapter: null
1542198483.139 GUI->Adapter: result 0-1 {Black wins on time}
1542198483.139 POLYGLOT GAME END
1542198483.139 POLYGLOT STOP SEARCH
1542198483.139 Adapter->Engine: stop
1542198483.139 Engine->Adapter: Exception in thread "Thread-0" java.lang.NullPointerException
1542198483.139 Engine->Adapter: at javacode.main.UCIBoardParser.convertMyMoveToGenericMove(UCIBoardParser.java:22)
1542198483.139 Engine->Adapter: at javacode.main.UCIEntry.receive(UCIEntry.java:139)
1542198483.139 Engine->Adapter: at com.fluxchess.jcpi.commands.EngineStopCalculatingCommand.accept(EngineStopCalculatingCommand.java:21)
1542198483.139 Engine->Adapter: at com.fluxchess.jcpi.AbstractEngine.run(AbstractEngine.java:61)
1542198483.139 Engine->Adapter: at java.base/java.lang.Thread.run(Thread.java:834)
1542198483.149 Engine->Adapter: EOF
1542198483.149 POLYGLOT WAIT
1542198483.149 GUI->Adapter: force
1542198483.149 POLYGLOT WAIT
1542198483.149 GUI->Adapter: ping 2
1542198483.149 Adapter->GUI: pong 2
1542198483.149 POLYGLOT *** Mainloop has ended ***
1542198483.149 POLYGLOT Closing engine.
1542198483.149 Adapter->Engine: EOF
1542198483.149 POLYGLOT Waiting for child process to exit.
1542198483.179 POLYGLOT pipex_exit(): java -jar Axolotl181114.jar: child exited unexpectedly.
1542198483.179 POLYGLOT *** QUIT ***
1542198483.379 POLYGLOT Calling exit