Alouette 0.0.1

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

Moderators: hgm, Rebel, chrisw

User avatar
Roland Chastain
Posts: 657
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Alouette 0.0.1

Post by Roland Chastain »

Hello!
I started a new engine called Alouette.
In its current state, the engine plays the first legal move that it finds.
It can play chess 960. 8-)
Before working on move evaluation, I would like to make the current program as clean as possible.
Comments and suggestions are welcome. It's written in Pascal Object and uses bitboards.
You can download Windows binaries and source code here. I created a Git repository.
Regards.
Roland
Qui trop embrasse mal étreint.
supersharp77
Posts: 1250
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

Re: Alouette 0.0.1

Post by supersharp77 »

Roland Chastain wrote: Fri Mar 29, 2019 12:11 am Hello!
I started a new engine called Alouette.
In its current state, the engine plays the first legal move that it finds.
It can play chess 960. 8-)
Before working on move evaluation, I would like to make the current program as clean as possible.
Comments and suggestions are welcome. It's written in Pascal Object and uses bitboards.
You can download Windows binaries and source code here. I created a Git repository.
Regards.
Roland
Thanks for your engine efforts..Bon Chance....AR :D :wink:
Modern Times
Posts: 3594
Joined: Thu Jun 07, 2012 11:02 pm

Re: Alouette 0.0.1

Post by Modern Times »

Roland Chastain wrote: Fri Mar 29, 2019 12:11 am Hello!
I started a new engine called Alouette.
It can play chess 960. 8-)
Very cool :)
Sergio Martinez
Posts: 1975
Joined: Fri Oct 05, 2012 2:35 pm
Location: Spain

Re: Alouette 0.0.1

Post by Sergio Martinez »

Thank you very much Roland :)
Member of the CCRL Group. Write me if you want I test your engine.
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: Alouette 0.0.1

Post by CMCanavessi »

Roland Chastain wrote: Fri Mar 29, 2019 12:11 am Hello!
I started a new engine called Alouette.
In its current state, the engine plays the first legal move that it finds.
It can play chess 960. 8-)
Before working on move evaluation, I would like to make the current program as clean as possible.
Comments and suggestions are welcome. It's written in Pascal Object and uses bitboards.
You can download Windows binaries and source code here. I created a Git repository.
Regards.
Roland
So right now it's similar to a random mover or is there some sort of "logic" in the move chosen?
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
User avatar
Roland Chastain
Posts: 657
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

CMCanavessi wrote: Fri Mar 29, 2019 11:11 pm So right now it's similar to a random mover or is there some sort of "logic" in the move chosen?
Yes, it's similar to a random mover. The moves are in generation order. The first legal move is played.

Code: Select all

Rank Name                          Elo     +/-   Games   Score   Draws
   1 Ram 2.0 [wb2uci]              130     136      14   67.9%   50.0%
   2 Belofte 0.2.7                  76     202      14   60.7%    7.1%
   3 NEG 0.3 [wb2uci]               25     135      14   53.6%   50.0%
   4 Belofte 0.2.8                   0      70      14   50.0%   85.7%
   5 Alouette 0.0.1 [32]             0     100      14   50.0%   71.4%
   6 Iota 2015                     -25      85      14   46.4%   78.6%
   7 Alouette 0.0.1 [debug]       -102      92      14   35.7%   71.4%
   8 Alouette 0.0.1 [64]          -102      92      14   35.7%   71.4%
Finished match
Qui trop embrasse mal étreint.
Modern Times
Posts: 3594
Joined: Thu Jun 07, 2012 11:02 pm

Re: Alouette 0.0.1

Post by Modern Times »

I look forward to further development of this engine !

I did run some chess960 games. Most were OK but the GUI did report an illegal move in one of them.
User avatar
Roland Chastain
Posts: 657
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

Modern Times wrote: Sun Mar 31, 2019 2:27 pm I look forward to further development of this engine !

I did run some chess960 games. Most were OK but the GUI did report an illegal move in one of them.
Thank you very much. Yes, there were some illegal moves. There was also a problem with castling notation. I believe it is fixed now. Please find Alouette 0.0.2 here:
https://sites.google.com/view/eschecs/alouette

Now the program has a beginning of logic, very simplistic. I hope there is no more bugs.

I would like to explore very simple ideas, and why not make a kind of toy engine for children, with personnalities.

Regards.

Roland
Qui trop embrasse mal étreint.
User avatar
Roland Chastain
Posts: 657
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

Sorry, there are still illegal moves. Not made enough tests in FRC mode. :oops:

Regards.
Qui trop embrasse mal étreint.
User avatar
Roland Chastain
Posts: 657
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Alouette 0.0.1

Post by Roland Chastain »

Hello! I fixed a bug in the castling procedure. It was the origin of some illegal moves in FRC mode. I hope it is good now. Please find Alouette 0.0.3 still at the same place.
Now I will try to make a little better move evaluation. If you have some very simple ideas to suggest, you are welcome. :)
Here is the current evaluation formula:

Code: Select all

function Evalue(const APos: TPosition; ACoup: integer): integer;
...
begin
  ...
  result :=
    0
    + bonusRoque                          { bonus for castling }
    + bonusNombreCoups div 3              { bonus for the number of possible "second moves" }
    - malusPiecesMenacees                 { malus for threatened pieces }
    - Ord(NomCoup(ACoup) = AvantDernier); { malus for move repetition }
end;
There is no depth in evaluation. The function just evaluates the position after the move.
Qui trop embrasse mal étreint.