lichess.org
Donate

My chess engine

@1

What protocol your engine supported?

There is rating list for engines in ccrl, how strong is your engine compared to those rated engines?
I believe it is somewhat stronger than Vice, and it uses the UCI protocol.
It would be nice if you implement UCI limit strength so user will be able to set it close to his strength.

Other than that I encourage you to try variants like racing kings, atomic and crazyhouse.

Congratulations!!
Congratulations on writing your own engine! Why "Volchitsa"? Are you from Russia?
I'm Dutch, but I was learning Russian and I started greeting someone with 'Привет, Воробей' and she started calling me Волк in response. So I decided to call my chess engine Volk, but I later changed it to the female form because a modified version of Vice that I made previously had a female name.
If this is mostly your own code, I am very impressed. I would not be able to write a chess engine although I know some C.

It runs smooth, it has an analysis function and it's way better than me in blitz (and probably LTC too).

Good work!
I suppose that making a chess engine for a chess variant might be interesting, if only because I haven't heard of much competition there. I might try programming an engine for a variant in the future.

I don't intend to add a feature to make my chess engine play weaker in arbitrary ways in the near future, I suppose you can vary its strength by decreasing the time you give it to less than a minute for the game.
I must admit that the search function and the io contain mostly modified code of Vice.
I've tested it in Linux and it works:

Compiling:
gcc -O3 main.c init.c bitboards.c hashkeys.c data.c board.c attack.c io.c movegen.c makemove.c perft.c search.c misc.c pvtable.c evaluate.c uci.c -o Volchitsa

To play 2 hyper-bullet games against a engine with changing colors and log it to test.pgn:
If the second engine is a winboard engine:

xboard -fUCI -fcp ./Volchitsa -scp SecondEngine -tc 1 -inc 0 -mg 2 -sgf test.pgn

If the second engine is a UCI engine:

xboard -fUCI -fcp ./Volchitsa -sUCI -scp SecondEngine -tc 1 -inc 0 -mg 2 -sgf test.pgn

------------

First of all I have tested it with a weak engine:
en.wikipedia.org/wiki/Microchess

xboard -fUCI -fcp ./Volchitsa -scp microchess1976 -tc 1 -inc 0 -mg 2 -sgf test.pgn

Your engine has won both games:
Match Volchitsa 1.0 vs. Microchess: final score 2-0-0

Here are the two games:

[Event "Computer Chess Game"]
[Date "2016.06.03"]
[Round "1"]
[White "Volchitsa 1.0"]
[Black "Microchess"]
[Result "1-0"]
[TimeControl "60"]

1. e4 {+0,09/10} e5 2. Nf3 {+0,08/9 1,9} Qf6 3. Bc4 {+0,58/9 1,8} Bb4 4.
O-O {+0,75/9 1,8} Qf4 5. d4 {+1,89/9 1,7} Qxe4 6. Bxf7+ {+1,99/9 1,6} Kxf7
7. Ng5+ {+6,75/10 1,6} Kf6 8. Nxe4+ {+8,95/8 1,5} Kf5 9. Qh5+
{+12,42/7 1,5} Kxe4 10. Qxe5# {+299,99/7 1,4}
{Xboard adjudication: Checkmate} 1-0

[Event "Computer Chess Game"]
[Date "2016.06.03"]
[Round "2"]
[White "Microchess"]
[Black "Volchitsa 1.0"]
[Result "0-1"]
[TimeControl "60"]

1. e4 Nc6 {-0,09/9 2,0} 2. Qh5 Nf6 {+0,48/10 1,9} 3. Qc5 Nxe4
{+1,64/10 1,8} 4. Qd5 Nf6 {+1,84/10 1,8} 5. Qf3 e5 {+2,04/9 1,7} 6. Bb5 Nd4
{+2,35/10 1,6} 7. Qd3 c6 {+2,49/9 1,6} 8. Ba4 Qa5 {+2,54/9 1,5} 9. c3 Qxa4
{+3,04/9 1,5} 10. b3 Nxb3 {+8,37/10 1,4} 11. axb3 Qxa1 {+8,43/10 1,4} 12.
Bb2 Qxb2 {+13,12/11 1,3} 13. c4 e4 {+15,37/9 1,3} 14. Qe3 Qxb1+
{+15,74/9 1,3} 15. Ke2 d5 {+15,88/9 1,2} 16. cxd5 b6 {+17,50/9 1,2} 17.
dxc6 Ba6+ {+299,93/9 1,1} 18. d3 Bxd3+ {+299,95/8 1,1} 19. Kd2 Bb4#
{+299,99/8 1,1}
{Xboard adjudication: Checkmate} 0-1
------------------

I ran a second test with Crafty, but Crafty was too strong.

Unfortunately I have no engine between 1500 and 1800 elo. Such a test would be very interesting.

All in all not bad for your first engine! :-)

Best regards
Beeco76

This topic has been archived and can no longer be replied to.