Vajolet Chess Engine

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

Moderators: hgm, Rebel, chrisw

elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Vajolet Chess Engine

Post by elcabesa »

Hi,
My name is Marco and i'm writing my first chess engine.

it's name is Vajolet and is named after the Vajolet towers, three italian mountain in dolomiti.
It will never be the strongest engine in the world due to my skill and his programming language c#.

After writing move generation, alphabeta search and a material count evalutation function i'm now writing a very basic time management function and a basic UCI interface.

The engine has not quiescence search, no hashtables , no magic bitboard and it's slow.

I need now to start testing the complete engine. I already tested the move generation code with a perft testsuite.

Where can i find a good testsuite?
where can i find some weak engine to test my engine against?
how can i estimate his ELO?

up to now I only know it has won a game against a chessmaster personalities rated 950, I haven't had the time to make any other test.

thank you all for your help
User avatar
beachknight
Posts: 3533
Joined: Tue Jan 09, 2007 8:33 pm
Location: Antalya, Turkey

Re: Vajolet Chess Engine

Post by beachknight »

elcabesa wrote:Hi,
My name is Marco and i'm writing my first chess engine.

it's name is Vajolet and is named after the Vajolet towers, three italian mountain in dolomiti.
It will never be the strongest engine in the world due to my skill and his programming language c#.

After writing move generation, alphabeta search and a material count evalutation function i'm now writing a very basic time management function and a basic UCI interface.

The engine has not quiescence search, no hashtables , no magic bitboard and it's slow.

I need now to start testing the complete engine. I already tested the move generation code with a perft testsuite.

Where can i find a good testsuite?
where can i find some weak engine to test my engine against?
how can i estimate his ELO?

up to now I only know it has won a game against a chessmaster personalities rated 950, I haven't had the time to make any other test.

thank you all for your help
Hi Marco,

I see your first post on this forum. Welcome in CTF.

You may choose some engines from Carlos' list.

http://www.talkchess.com/forum/viewtopic.php?t=34293

And then carry out engine matches on Arena or WinBoard.

I must state that I am no expert in writing engines.

Best,
hi, merhaba, hallo HT
smatovic
Posts: 2641
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: Vajolet Chess Engine

Post by smatovic »

Hi Marco,

congratulations for the first engine.
where can i find some weak engine to test my engine against?
I like my engine to play against micromax, mscp and tscp, they support XBoard and the sourcecode is published.

Code: Select all

...and it's slow.


Youd didnt post about move ordering. To speed alpha-beta search up you need good move ordering, i still use MVV-LVA, my next step will be to implement SEE.

What kind of Board presentation do you use?

How many nodes/second does Vajolet calculate?


Regards,
Srdja
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Vajolet Chess Engine

Post by elcabesa »

thank you for pointing me to the Carlos's list and for the warm welcome on CTF.
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Vajolet Chess Engine

Post by elcabesa »

the first version of the engine is still not finished, I need to finish a UCI interface.

these are the vajolet implementation detail

language: c#, so i cant use intrinsic processor instruction for bitcounting etc.
board rappresentation: bitboard

move generation:
- lookup table for king, knight
- bitshift for pawn
- iteration for sliding pieces
the move generator konw how to make enpassant, promotion and castling

search algorithm: alphabeta, negamax frameword,, iterative deepening, PV for move ordering( I search the PV before all the other move, but the other moves are not ordered)

evalutation: piece counting



regarding speed, without castling code enabled i'm below 400kn/s, with castling enabled the speed goes <100kn/s( the engine give ok to castling after having calculated all the enemy attacked squares. I have to change this piece of code)

it looks slow to my eyes :) I'll enenche it, but first i need to write the uci interface, clean the code and refactor it :)
swami
Posts: 6640
Joined: Thu Mar 09, 2006 4:21 am

Re: Vajolet Chess Engine

Post by swami »

Hello Marco,

Welcome! You may find these test suites useful for tuning your engine's evaluation:

http://sites.google.com/site/strategict ... pd-testing
http://sites.google.com/site/strategict ... /downloads

Just go through the site to get some idea of how to set it up.

Best wishes,
Swami
Carlos777
Posts: 1728
Joined: Sun Dec 13, 2009 6:09 pm

Re: Vajolet Chess Engine

Post by Carlos777 »

elcabesa wrote:thank you for pointing me to the Carlos's list and for the warm welcome on CTF.
Hi Marco,

It is always nice to have a new engine in the computer chess world.

Regards,
Carlos

PS: Let us know how it does on your tests against some of the engines of my rating list.
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Vajolet Chess Engine

Post by elcabesa »

i think my first test will be against something like gringo1.49b or Xadreco 5.7, i hope I could win some game
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Vajolet Chess Engine

Post by elcabesa »

I have tested my move generator against this testsuite
http://hem.passagen.se/maragor/perftsuite.epd

do yuo know any other testsuite, or this testsuite is enough to test a movegenerator?
Carlos777
Posts: 1728
Joined: Sun Dec 13, 2009 6:09 pm

Re: Vajolet Chess Engine

Post by Carlos777 »

Keep in mind that some engines of that list, especially the weakest are buggy.

For example looking at the weakest engines:

- Pos loses on time or by illegal moves sometimes.
- NSVChess losses on time frequently (at least at fast tc.)
- DeepDuke makes illegal moves (at least Arena does not recognize them as legal)
- Cpp1 loses here and then by illegal moves.
- Brutus RND is a randomizer version of Brutus (the "real" version is too strong.) It is the weakest, bug-free engine on my list.
etc.

Here you have some links that may help you to avoid those engines if you want:

http://www.talkchess.com/forum/viewtopic.php?t=33557

http://www.talkchess.com/forum/viewtopic.php?t=31754