Sapeli 1.0 - New chess engine

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Gabor Szots wrote: Wed Jul 24, 2019 3:27 pm
JohnWoe wrote: Wed Jul 24, 2019 2:40 pm
Thanks for the feedback!
That max moves means maximum moves per position. Basically just for move generator. Gives a tiny speed boost. I measured ~+0.3 mnps.
Code: https://github.com/SamuraiDangyo/Sapeli ... peli.c#L59
There is this link: https://chess.stackexchange.com/questio ... -in-a-turn
As it seems that 218 is the maximum moves per position.

Analyze can stay for now. It is in 1.36 + 1.37. It prints results every 1000 games. Can stop it anytime you want.

Forgot in 1.36...
Added Draw_material() to Result(). Now Sapeli analyzes 10% faster.
Not much other difference to 1.36.
Source code: https://github.com/SamuraiDangyo/Sapeli/tree/1.37
I guess I misunderstood not only max moves but analyze as well. I thought it was analysis mode.
Sapeli supports UCI analysis. go infinite. Works perfectly on winboard/xboard.

I see Sapeli as a normal Unix/Linux program like gcc. Where you enter some commands and do smt.
This whole UCI support was added later. As I needed some way to play Sapeli against other engines.

These later developments have been mostly improving code. Which "should" improve playing strength too.
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Sapeli 1.0 - New chess engine

Post by Roland Chastain »

There is a problem under Windows with all versions from 1.27. All crash without playing any move. Sorry to have provided binaries without testing. :oops:

Tell me if it is useful that I provide you the *stackdump files.

It reminded me that there was also a problem with versions before 1.16. So I will remove them from the ZIP file, to keep only the working versions.
Qui trop embrasse mal étreint.
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Roland Chastain wrote: Fri Jul 26, 2019 7:26 pm There is a problem under Windows with all versions from 1.27. All crash without playing any move. Sorry to have provided binaries without testing. :oops:

Tell me if it is useful that I provide you the *stackdump files.

It reminded me that there was also a problem with versions before 1.16. So I will remove them from the ZIP file, to keep only the working versions.
Thanks for the feedback!

I recommend using whatever Sapeli version that work. I have been improving code quality mainly. +Few extra features. Not that much on +ELO. As I care too much how the code looks like. :)

I'm only guessing but since 1.27 I wrote dynamic hashtables: https://github.com/SamuraiDangyo/Sapeli ... ns.txt#L80
This is the implementation. If someone can spot something wrong w/ my implementation that would be great: https://github.com/SamuraiDangyo/Sapeli ... li.c#L1738

I will focus on Shuriken now on. But of course I will fix any bugs on Sapeli.
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Sapeli 1.0 - New chess engine

Post by Guenther »

Roland Chastain wrote: Fri Jul 26, 2019 7:26 pm There is a problem under Windows with all versions from 1.27. All crash without playing any move. Sorry to have provided binaries without testing. :oops:

Tell me if it is useful that I provide you the *stackdump files.

It reminded me that there was also a problem with versions before 1.16. So I will remove them from the ZIP file, to keep only the working versions.
What exact problem do you see and in what version? I experience no problems and no crashes here with all versions I tested so far.
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Sapeli 1.0 - New chess engine

Post by Roland Chastain »

Guenther wrote: Sun Jul 28, 2019 10:02 amWhat exact problem do you see and in what version? I experience no problems and no crashes here with all versions I tested so far.
Thank you for your feedback. As I said, all versions before 1.16 and after 1.23 crash. Cutechess says "engine disconnects", and Sapeli produces an *stackdump file. On my computer, working versions are 1.16, 1.17, 1.21 and 1.23.

If all versions work with you, I will keep them in the ZIP file. I could simply recompile them with -DNDEBUG option, as Toni recommended. I believe I compiled most of them without that option.
Qui trop embrasse mal étreint.
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Sapeli 1.0 - New chess engine

Post by Guenther »

Roland Chastain wrote: Sun Jul 28, 2019 11:59 am
Guenther wrote: Sun Jul 28, 2019 10:02 amWhat exact problem do you see and in what version? I experience no problems and no crashes here with all versions I tested so far.
Thank you for your feedback. As I said, all versions before 1.16 and after 1.23 crash. Cutechess says "engine disconnects", and Sapeli produces an *stackdump file. On my computer, working versions are 1.16, 1.17, 1.21 and 1.23.

If all versions work with you, I will keep them in the ZIP file. I could simply recompile them with -DNDEBUG option, as Toni recommended. I believe I compiled most of them without that option.
I tried only WB so far with it and no version crashes. (tried w/o any opening positions/books)

Edit:
Tried two of them in CuteChess and they crashed with a stackdump ;-)
I am right now investigating it - tried first PG as pre instance to get a full log (CuteChess GUI does not provide full debugs currently)
and PG is already stuck after 'uci' may be because of the license line with special chars. Trying it now with Inbetween to find the
exact cause.
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Sapeli 1.0 - New chess engine

Post by Guenther »

Guenther wrote: Sun Jul 28, 2019 12:14 pm
Roland Chastain wrote: Sun Jul 28, 2019 11:59 am
Guenther wrote: Sun Jul 28, 2019 10:02 amWhat exact problem do you see and in what version? I experience no problems and no crashes here with all versions I tested so far.
Thank you for your feedback. As I said, all versions before 1.16 and after 1.23 crash. Cutechess says "engine disconnects", and Sapeli produces an *stackdump file. On my computer, working versions are 1.16, 1.17, 1.21 and 1.23.

If all versions work with you, I will keep them in the ZIP file. I could simply recompile them with -DNDEBUG option, as Toni recommended. I believe I compiled most of them without that option.
I tried only WB so far with it and no version crashes. (tried w/o any opening positions/books)

Edit:
Tried two of them in CuteChess and they crashed with a stackdump ;-)
I am right now investigating it - tried first PG as pre instance to get a full log (CuteChess GUI does not provide full debugs currently)
and PG is already stuck after 'uci' may be because of the license line with special chars. Trying it now with Inbetween to find the
exact cause.
Ok I get a better log now and more important this triggers now an error popup each time.
(BTW it does not depend if played with an opening pgn or from start position, as can be seen from the log which contains two different game starts)

Code: Select all

0.000: - Starting server: Sapeli135I-64.exe
0.015: - Priority class set to normal
0.015: - Thread priority set to normal
0.015: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > isready
0.234: < readyok
0.234: > quit
0.249: - Server closed
0.249: - Stopping server communication
0.249: - Closing log
0.000: - Starting server: Sapeli135I-64.exe
0.016: - Priority class set to normal
0.016: - Thread priority set to normal
0.031: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > setoption name AiLevel value 100
0.234: > setoption name EvalHash value 32
0.234: > setoption name GoodMovesHash value 128
0.234: > setoption name WhitePOV value false
0.234: > isready
0.234: < readyok
0.297: > ucinewgame
0.297: > position startpos
0.297: > position startpos moves g1f3
0.297: > position startpos moves g1f3 d7d5
0.297: > position startpos moves g1f3 d7d5 e2e3
0.297: > position startpos moves g1f3 d7d5 e2e3 g8f6
0.297: > position startpos moves g1f3 d7d5 e2e3 g8f6 c2c4
0.297: > position startpos moves g1f3 d7d5 e2e3 g8f6 c2c4 e7e6
0.297: > isready
0.297: < readyok
0.297: > go wtime 40000 btime 40000 movestogo 37
0.297: < info depth 0 nodes 63 time 0 nps 0 score cp -6 pv d2d4
0.297: < info depth 1 nodes 612 time 0 nps 0 score cp -15 pv d2d4
40.311: > stop
63.836: <       0 [main] Sapeli135I-64 1581 cygwin_exception::open_stackdumpfile: Dumping stack trace to Sapeli135I-64.exe.stackdump
65.957: - Server closed
65.957: - Stopping server communication
65.973: - Closing log
0.000: - Starting server: Sapeli135I-64.exe
0.015: - Priority class set to normal
0.015: - Thread priority set to normal
0.015: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > setoption name AiLevel value 100
0.234: > setoption name EvalHash value 32
0.234: > setoption name GoodMovesHash value 128
0.234: > setoption name WhitePOV value false
0.234: > isready
0.234: < readyok
0.951: > ucinewgame
0.951: > position startpos
0.951: > position startpos moves g1f3
0.951: > position startpos moves g1f3 d7d5
0.951: > position startpos moves g1f3 d7d5 e2e3
0.951: > position startpos moves g1f3 d7d5 e2e3 g8f6
0.951: > position startpos moves g1f3 d7d5 e2e3 g8f6 c2c4
0.951: > position startpos moves g1f3 d7d5 e2e3 g8f6 c2c4 e7e6
3.744: > isready
3.744: < readyok
43.758: > quit
43.758: - Server closed
43.758: - Stopping server communication
43.758: - Closing log
0.000: - Starting server: Sapeli135I-64.exe
0.016: - Priority class set to normal
0.016: - Thread priority set to normal
0.016: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > isready
0.234: < readyok
0.250: > ucinewgame
0.250: > position startpos
0.250: > isready
0.250: < readyok
0.250: > go wtime 3000 btime 3000 movestogo 40
0.250: < info depth 0 nodes 40 time 0 nps 0 score cp 56 pv e2e3
0.250: < info depth 1 nodes 258 time 0 nps 0 score cp 0 pv e2e3
0.266: < info depth 2 nodes 2588 time 10 nps 258800 score cp 40 pv d2d4
3.464: > stop
7.052: <       0 [main] Sapeli135I-64 150 cygwin_exception::open_stackdumpfile: Dumping stack trace to Sapeli135I-64.exe.stackdump
8.924: - Server closed
8.924: - Stopping server communication
8.924: - Closing log
0.000: - Starting server: Sapeli135I-64.exe
0.000: - Priority class set to normal
0.000: - Thread priority set to normal
0.000: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > isready
0.234: < readyok
0.280: > ucinewgame
0.280: > position startpos
0.280: > isready
0.280: < readyok
0.280: > go wtime 300000 btime 300000 movestogo 40
0.280: < info depth 0 nodes 40 time 0 nps 0 score cp 56 pv e2e3
0.280: < info depth 1 nodes 248 time 0 nps 0 score cp 0 pv e2e3
0.280: < info depth 2 nodes 2744 time 0 nps 0 score cp 40 pv d2d4
18.158: <       0 [main] Sapeli135I-64 1621 cygwin_exception::open_stackdumpfile: Dumping stack trace to Sapeli135I-64.exe.stackdump
19.983: - Server closed
19.983: - Stopping server communication
19.983: - Closing log
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Guenther wrote: Sun Jul 28, 2019 12:51 pm
Guenther wrote: Sun Jul 28, 2019 12:14 pm
Roland Chastain wrote: Sun Jul 28, 2019 11:59 am
Guenther wrote: Sun Jul 28, 2019 10:02 amWhat exact problem do you see and in what version? I experience no problems and no crashes here with all versions I tested so far.
Thank you for your feedback. As I said, all versions before 1.16 and after 1.23 crash. Cutechess says "engine disconnects", and Sapeli produces an *stackdump file. On my computer, working versions are 1.16, 1.17, 1.21 and 1.23.

If all versions work with you, I will keep them in the ZIP file. I could simply recompile them with -DNDEBUG option, as Toni recommended. I believe I compiled most of them without that option.
I tried only WB so far with it and no version crashes. (tried w/o any opening positions/books)

Edit:
Tried two of them in CuteChess and they crashed with a stackdump ;-)
I am right now investigating it - tried first PG as pre instance to get a full log (CuteChess GUI does not provide full debugs currently)
and PG is already stuck after 'uci' may be because of the license line with special chars. Trying it now with Inbetween to find the
exact cause.
Ok I get a better log now and more important this triggers now an error popup each time.
(BTW it does not depend if played with an opening pgn or from start position, as can be seen from the log which contains two different game starts)

Code: Select all

0.000: - Starting server: Sapeli135I-64.exe
0.015: - Priority class set to normal
0.015: - Thread priority set to normal
0.015: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > isready
0.234: < readyok
0.234: > quit
0.249: - Server closed
0.249: - Stopping server communication
0.249: - Closing log
0.000: - Starting server: Sapeli135I-64.exe
0.016: - Priority class set to normal
0.016: - Thread priority set to normal
0.031: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > setoption name AiLevel value 100
0.234: > setoption name EvalHash value 32
0.234: > setoption name GoodMovesHash value 128
0.234: > setoption name WhitePOV value false
0.234: > isready
0.234: < readyok
0.297: > ucinewgame
0.297: > position startpos
0.297: > position startpos moves g1f3
0.297: > position startpos moves g1f3 d7d5
0.297: > position startpos moves g1f3 d7d5 e2e3
0.297: > position startpos moves g1f3 d7d5 e2e3 g8f6
0.297: > position startpos moves g1f3 d7d5 e2e3 g8f6 c2c4
0.297: > position startpos moves g1f3 d7d5 e2e3 g8f6 c2c4 e7e6
0.297: > isready
0.297: < readyok
0.297: > go wtime 40000 btime 40000 movestogo 37
0.297: < info depth 0 nodes 63 time 0 nps 0 score cp -6 pv d2d4
0.297: < info depth 1 nodes 612 time 0 nps 0 score cp -15 pv d2d4
40.311: > stop
63.836: <       0 [main] Sapeli135I-64 1581 cygwin_exception::open_stackdumpfile: Dumping stack trace to Sapeli135I-64.exe.stackdump
65.957: - Server closed
65.957: - Stopping server communication
65.973: - Closing log
0.000: - Starting server: Sapeli135I-64.exe
0.015: - Priority class set to normal
0.015: - Thread priority set to normal
0.015: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > setoption name AiLevel value 100
0.234: > setoption name EvalHash value 32
0.234: > setoption name GoodMovesHash value 128
0.234: > setoption name WhitePOV value false
0.234: > isready
0.234: < readyok
0.951: > ucinewgame
0.951: > position startpos
0.951: > position startpos moves g1f3
0.951: > position startpos moves g1f3 d7d5
0.951: > position startpos moves g1f3 d7d5 e2e3
0.951: > position startpos moves g1f3 d7d5 e2e3 g8f6
0.951: > position startpos moves g1f3 d7d5 e2e3 g8f6 c2c4
0.951: > position startpos moves g1f3 d7d5 e2e3 g8f6 c2c4 e7e6
3.744: > isready
3.744: < readyok
43.758: > quit
43.758: - Server closed
43.758: - Stopping server communication
43.758: - Closing log
0.000: - Starting server: Sapeli135I-64.exe
0.016: - Priority class set to normal
0.016: - Thread priority set to normal
0.016: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > isready
0.234: < readyok
0.250: > ucinewgame
0.250: > position startpos
0.250: > isready
0.250: < readyok
0.250: > go wtime 3000 btime 3000 movestogo 40
0.250: < info depth 0 nodes 40 time 0 nps 0 score cp 56 pv e2e3
0.250: < info depth 1 nodes 258 time 0 nps 0 score cp 0 pv e2e3
0.266: < info depth 2 nodes 2588 time 10 nps 258800 score cp 40 pv d2d4
3.464: > stop
7.052: <       0 [main] Sapeli135I-64 150 cygwin_exception::open_stackdumpfile: Dumping stack trace to Sapeli135I-64.exe.stackdump
8.924: - Server closed
8.924: - Stopping server communication
8.924: - Closing log
0.000: - Starting server: Sapeli135I-64.exe
0.000: - Priority class set to normal
0.000: - Thread priority set to normal
0.000: > uci
0.234: < Sapeli 1.35 by Toni Helminen
0.234: < GNU General Public License version 3; for details see `sapeli -license´
0.234: < id name Sapeli 1.35
0.234: < id author Toni Helminen
0.234: < option name UCI_Chess960 type check default false
0.234: < option name UCI_Kingofthehill type check default false
0.234: < option name WhitePOV type check default false
0.234: < option name AiLevel type spin default 100 min 0 max 100
0.234: < option name GoodMovesHash type spin default 128 min 16 max 1048576
0.234: < option name EvalHash type spin default 256 min 16 max 1048576
0.234: < uciok
0.234: > isready
0.234: < readyok
0.280: > ucinewgame
0.280: > position startpos
0.280: > isready
0.280: < readyok
0.280: > go wtime 300000 btime 300000 movestogo 40
0.280: < info depth 0 nodes 40 time 0 nps 0 score cp 56 pv e2e3
0.280: < info depth 1 nodes 248 time 0 nps 0 score cp 0 pv e2e3
0.280: < info depth 2 nodes 2744 time 0 nps 0 score cp 40 pv d2d4
18.158: <       0 [main] Sapeli135I-64 1621 cygwin_exception::open_stackdumpfile: Dumping stack trace to Sapeli135I-64.exe.stackdump
19.983: - Server closed
19.983: - Stopping server communication
19.983: - Closing log
Thanks! Now I see the bug. I compiled it w/o -DNDEBUG and it crashed. The reason is that I only order tactical moves(captures + pawn 6th+7th), not all moves to save time. A bug in calculating tactical moves.

I have a fix but I'm running more tests before releasing fix. Adding more asserts to make sure there's not more bugs like this in sorting.
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Thanks to all reporting bugs!

This was actually a bad bug. I wrote this tactical loop for simplicity not for speed. Still it got out of array bounds. Removed those infected 1.3x releases.
+ other small fixes

Source code: https://github.com/SamuraiDangyo/Sapeli/tree/1.40
Release: https://github.com/SamuraiDangyo/Sapeli ... s/tag/1.40
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: Sapeli 1.0 - New chess engine

Post by JohnWoe »

Looking at that 743 lines search I decided to split Sapeli's Seach() in smaller chunks.

No other difference to 1.40 than splittings the Search().
Not a release since 1.41 might contain bugs. I don't like bloated functions so 1.41 is the way to go now on.
https://github.com/SamuraiDangyo/Sapeli/tree/1.41

EDIT: Forgot to mention I disabled under promos in search in 1.40. So Sapeli should handle passed pawns better now.