new Engine, Axolotl

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

AxolotlFever
Posts: 50
Joined: Sun Nov 11, 2018 9:26 pm
Location: Germany
Full name: Louis Mackenzie-Smith

new Engine, Axolotl

Post by AxolotlFever »

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 :shock: . 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
ker2x
Posts: 17
Joined: Sun Nov 11, 2018 1:28 pm
Full name: Laurent Laborde

Re: new Engine, Axolotl

Post by ker2x »

Thx for the info, i'll take a look :)
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: new Engine, Axolotl

Post by Guenther »

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 :shock: . 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.

The log file shows that it sends a move 'null' in the end?

[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
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
AxolotlFever
Posts: 50
Joined: Sun Nov 11, 2018 9:26 pm
Location: Germany
Full name: Louis Mackenzie-Smith

Re: new Engine, Axolotl

Post by AxolotlFever »

Hi Guenther,

Thanks for your interest! Well spotted, I checked the source code and my engine gets confused when it is about to lose... Seeing as this will happen quite often, I have updated the code in order to cope with this situation. I have done my best to test similar situations to yours, but please do not hesitate to let ne know if you find a problem.

Thanks kindly for your time,

Best,
Louis
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: new Engine, Axolotl

Post by Sven »

AxolotlFever wrote: Wed Nov 14, 2018 11:00 pm Hi Guenther,

Thanks for your interest! Well spotted, I checked the source code and my engine gets confused when it is about to lose... Seeing as this will happen quite often, I have updated the code in order to cope with this situation. I have done my best to test similar situations to yours, but please do not hesitate to let ne know if you find a problem.

Thanks kindly for your time,

Best,
Louis
Hi Louis,

welcome in our forum, and thank you for publishing your new engine including its source code!

I have tried to test Axolotl on the command line (on Windows 10). I have JRE 8 build 191-b12, and after downloading the current Axolotl.jar and starting it on the command line I get the following error message:

Code: Select all

java.lang.UnsupportedClassVersionError: javacode/main/UCIEntry has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main"
Am I doing something wrong, or is there a problem? You wrote that it would work with Java 8 so that is what I tried. I must add that I am not a Java expert.
Sven Schüle (engine author: Jumbo, KnockOut, Surprise)
AxolotlFever
Posts: 50
Joined: Sun Nov 11, 2018 9:26 pm
Location: Germany
Full name: Louis Mackenzie-Smith

Re: new Engine, Axolotl

Post by AxolotlFever »

Hi Sven,

Thank you for your kind welcome. I did indeed write that it is Java 8 compatible, but then got mixed up in version control, and so the Jar I published was only Java 10 compatible!. I have now fixed this problem, and I have tested it on a windows machine running Java 8.

Thanks very much for bringing this to my attention! I really hope it works for you now :)

Kind regards,

Louis
tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 9:11 pm
Location: upstate

Re: new Engine, Axolotl

Post by tpoppins »

AxolotlFever wrote: Wed Nov 14, 2018 11:21 am 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.
I did a few quick tests which resulted in a new Github ticket for you to have a look at. Once those issues are sorted out an official release could follow to be put through paces by our blitz testers. Currently Axolotl can only play from startpos or as White only from an EPD.

Meanwhile here is an interesting game vs. 1600-rated Monochrome. During the first half I thought I'd picked too easy an opponent as Axolotl managed to win a piece soon after the opening but then it got into hot water by giving Black too much counterplay. Things were touch and go for a while, but Axolotl somehow managed to keep the balance.

[pgn][Event "?"] [Site "?"] [Date "2018.11.15"] [Round "?"] [White "Axolotl v1"] [Black "Monochrome"] [Result "1/2-1/2"] [FEN "r1bbqrk1/ppp3pp/2nppn2/8/2PPN3/5NP1/PPQ2PBP/R1B2RK1 w - - 0 1"] [GameDuration "00:03:54"] [GameEndTime "2018-11-15T03:37:31.219 Eastern Standard Time"] [GameStartTime "2018-11-15T03:33:36.885 Eastern Standard Time"] [PlyCount "87"] [SetUp "1"] [TimeControl "40/120"] 1. Be3 {+0.09/5 2.9s} Qh5 {-0.90/5 3.1s} 2. Nxf6+ {+0.66/6 7.2s} Bxf6 {-0.41/4 3.0s} 3. Rad1 {+0.55/6 3.6s} a5 {-0.43/4 3.0s} 4. a3 {+0.78/6 3.6s} e5 {-0.37/4 3.0s} 5. d5 {+0.72/6 2.9s} Ne7 {-0.75/4 3.0s} 6. Nd2 {+0.56/6 2.8s} Bg4 {+0.06/4 3.0s} 7. f3 {+0.72/7 2.1s} Nf5 {-0.54/5 3.0s} 8. Bf2 {+3.10/8 4.4s} Bh3 {-0.54/5 3.0s} 9. g4 {+3.34/8 2.8s} Bxg4 {-1.30/7 3.0s} 10. fxg4 {+3.09/7 2.3s} Qxg4 {-1.50/6 3.0s} 11. Kh1 {+3.12/6 3.6s} Nd4 {-0.62/5 3.0s} 12. Bxd4 {+2.76/6 2.9s} exd4 {-1.28/6 3.0s} 13. h3 {+2.62/6 3.9s} Qe2 {-0.81/5 3.0s} 14. Rde1 {+2.49/5 1.8s} d3 {-0.87/6 3.0s} 15. Qc1 {+2.48/6 1.7s} Qh5 {-1.42/6 3.0s} 16. Re3 {+2.54/6 3.8s} Bd4 {-1.56/5 3.0s} 17. Rxd3 {+3.41/7 3.4s} Rxf1+ {-1.85/6 3.0s} 18. Qxf1 {+3.28/6 1.7s} Bxb2 {-1.89/6 3.0s} 19. Rb3 {+3.43/7 2.2s} Bd4 {-2.45/6 3.1s} 20. Rxb7 {+3.22/7 2.4s} Bb6 {-2.72/6 3.0s} 21. Qe1 {+3.42/6 1.3s} Re8 {-2.50/6 3.0s} 22. Ne4 {+3.14/7 2.9s} a4 {-2.38/6 3.0s} 23. Qf1 {+3.05/5 1.1s} Qe5 {-2.21/6 3.0s} 24. Qd1 {+3.18/6 1.9s} Ra8 {-2.16/6 3.0s} 25. c5 {+3.91/6 1.8s} Bxc5 {-2.17/6 3.0s} 26. Rxc7 {+3.65/6 1.4s} Bxa3 {-2.06/6 3.0s} 27. Qc2 {+3.50/5 1.3s} Qa1+ {-1.87/6 3.0s} 28. Kh2 {+3.20/7 1.7s} Qe5+ {-1.87/5 3.0s} 29. Ng3 {+3.16/6 1.3s} Bc5 {-2.00/6 3.1s} 30. Be4 {+3.11/5 1.1s} a3 {-0.42/6 3.0s} 31. Qa2 {+0.51/5 1.4s} h5 {+0.12/5 3.0s} 32. Rxc5 {+0.72/6 1.7s} h4 {+1.20/6 3.0s} 33. Rc4 {0.00/6 1.1s} Qxg3+ {+1.80/6 3.0s} 34. Kh1 Qxh3+ {+1.77/6 3.0s} 35. Kg1 {-0.17/8 2.4s} Qg3+ {+2.11/6 3.0s} 36. Kh1 {-1.30/8 1.3s} Rf8 {+2.07/6 3.0s} 37. Qe2 {-0.17/6 0.73s} a2 {+2.15/6 3.0s} 38. Ra4 {-0.54/7 1.1s} Qh3+ {+1.73/6 3.0s} 39. Kg1 {-0.54/7 1.3s} Rc8 {+1.73/6 3.0s} 40. Bc2 {0.00/5 0.64s} Qg3+ {+1.92/6 3.0s} 41. Kh1 {0.00/10 3.6s} Qh3+ {+2.11/6 3.0s} 42. Kg1 {0.00/10 4.4s} Qg3+ {+1.92/6 3.0s} 43. Kh1 {0.00/10 3.6s} Qh3+ {+2.11/6 3.0s} 44. Kg1 {0.00/10 4.4s, Draw by 3-fold repetition} 1/2-1/2 [/pgn]
Tirsa Poppins
CCRL
AxolotlFever
Posts: 50
Joined: Sun Nov 11, 2018 9:26 pm
Location: Germany
Full name: Louis Mackenzie-Smith

Re: new Engine, Axolotl

Post by AxolotlFever »

Hi there Tirsa,

Thank you very much for raising this issue! I am sorry I took a while to solve the problem. Embarrassingly, I did not actually know you could start a match from a certain position, I am very new to Arena and chess programming. I have found the problem you identified, and to the best of my ability to test it, solved it. I would be grateful if you could let me know any other issues you find, and where they arose. As I am still discovering how all this works, Axolotl will have some blind spots, which I can only apologise in advance for.

I have also responded on Github, and taken your suggestions on board. Version 1.1 of Axolotl is now the latest version.
https://github.com/louism33/Axolotl

Thank you kindly for your time and help, please don't hesitate to get in touch.

Kind regards,
Louis
Ratosh
Posts: 77
Joined: Mon Apr 16, 2018 6:56 pm

Re: new Engine, Axolotl

Post by Ratosh »

Hi Louis,

Congrats on your project. I'd recommend configuring Travis or any CI github plugin to create releases, it should be doable using maven, you can check how i do it with gradle here. To create a version i just need to create a github tag.

Thanks,
Raoni Campos
tpoppins
Posts: 919
Joined: Tue Nov 24, 2015 9:11 pm
Location: upstate

Re: new Engine, Axolotl

Post by tpoppins »

Good job, Louis! Looks like you fixed every single issue reported so far. And no apologies necessary, no one would seriously expect lightning-quick response, the kind you showed on this occasion, on the regular basis.

There only remains the minor detail of adding version info to the "id name" UCI output string. I also noted that the reported NPS, while no longer negative, seem rather low: in the 3,000-9,000 kN/s range. Is it normal?
Tirsa Poppins
CCRL