Engine programming

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

Moderators: hgm, Rebel, chrisw

abulmo2
Posts: 434
Joined: Fri Dec 16, 2016 11:04 am
Location: France
Full name: Richard Delorme

Re: Engine programming

Post by abulmo2 »

Ovyron wrote: Tue Mar 17, 2020 5:03 pm (except for lack of underpromotion and legality checking, but pretty close...)
I would even say the lack of promotion. As the promoted piece is not displayed when played, some chess interfaces (cutechess-cli, for example) consider the move illegal and give the game to the opponent. micromax is unfortunately almost impossible to use into any tournament manager. :(
Richard Delorme
User avatar
hgm
Posts: 28123
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Engine programming

Post by hgm »

Oh, you are right! :shock: And the amazing thing is that you are the first one to ever complain about this.

This is completely unintentional. The micro-Max code I showed here, and on which the character count is done for determining Elo/char, is a stand-alone program, and doesn't print any moves at all: it shows what it played through printing a board diagram of the new position. And after a promotion the piece will certainly be shown as a Queen.

So it is just a consequence of an oversight in the WB-protocol driver that I fused to the stand-alone version to make automated testing against other engines (by me and by CCRL) possible. I always test under WinBoard, and this is very forgiving towards the format of the input move. If no promotion character is present in a Pawn move to the last rank, it defaults to promotion to Queen.

So WinBoard definitely is one tournament manager for which playing micro-Max is no problem at all, which is why I never noticed the non-compliant promotion move.

I wonder how CCRL managed to test micro-Max without ever running into this problem. I cannot imagine they only use WinBoard.

BTW, Fairy-Max doesn't suffer from this problem, and Fairy-Max 4.8 should be functionally equivalent to micro-Max 4.8. I think I fixed that for the benefit of engine-defined chess variants, for which WinBoard would have no idea what the default promotion piece should be. (The Queen might not even participate.)
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Engine programming

Post by Michael Sherwin »

Daniel Anulliero wrote: Sat Mar 14, 2020 10:30 pm I wrote my first chess program with QuickBasic 4.5 long time ago : very weak, very slow :)
Then I switched to C , my préférence.
As bob wrote : it is your personnal choice ,
HI Daniel, If you still have that basic code you can compile it in QB64. It is supposed to be QB4.5 backwards compatible and compiles to C++ and then using MINGW compiles to a native exe. Just one note about speed-- DO loops run faster than for loops or while loops in QB64. It would be interesting to know how much faster it is.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through