Delimiter development diary

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

There are seem to be some errors in the movegen or do-undo code. The work to fix them goes slowly requiring me first to bring perft to my taste, then make CLI interface (different from UCI or XBoard).
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Delimiter development diary

Post by hgm »

Unlike UCI, CECP ('XBoard') is usually suitable as CLI. It originally was the CLI of GNU Chess. Of course you can add some extra commands, like "perft", or loading of some predefined positions. Or debug commands, to print the board, piecelist or evaluation details.
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Delimiter development diary

Post by mvanthoor »

To be honest, if you're only going UCI, adding the entire XBoard interface to be able to use the CLI more conveniently is a bit over the top; just adding a few extra non-UCI-commands should be more than enough. I did, in my engine. Actually, both UCI and XBoard are built on top of the same infrastructure. They're just different interfaces to the same engine.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

Lime had both UCI and CECP, so I included them. Of course, Vice had also additional interface with custom commands like perft. This sort of interface I need to implement now.
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

I've made some fixes. The engine now seems to think without crashing. It runs perft suite up to level 3. Though Arena doesn't recognize it.

https://github.com/shinkarom/delimiterc ... 54de99b860
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Delimiter development diary

Post by mvanthoor »

shinkarom wrote: Sun Mar 07, 2021 1:38 pm Lime had both UCI and CECP, so I included them. Of course, Vice had also additional interface with custom commands like perft. This sort of interface I need to implement now.
Is Lime this engine? Lime 66

That's a private engine, according to CCRL. Where did you get the sources to port it; directly from Richard?
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Delimiter development diary

Post by Guenther »

mvanthoor wrote: Mon Mar 15, 2021 9:38 pm
shinkarom wrote: Sun Mar 07, 2021 1:38 pm Lime had both UCI and CECP, so I included them. Of course, Vice had also additional interface with custom commands like perft. This sort of interface I need to implement now.
Is Lime this engine? Lime 66

That's a private engine, according to CCRL. Where did you get the sources to port it; directly from Richard?
I am a bit surprised that you did not look at my XB/UCI chronology...

Code: Select all

Name	Vers. FR	Vers. LR	YM-LR	RC	Src	PL	Prot	       Author L.N.
Lime	2.1	        6.6	        2008-07	B3	yes	C++	XB/UCI         Allbert
https://web.archive.org/web/20150416221 ... m/Lime.php
https://web.archive.org/web/20121120221 ... nloads.htm
http://kirr.homeunix.org/chess/engines/ ... lett/LIME/
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

I'm looking for someone to get Delimiter off my back. I've lost interest in chess programming. As I said earlier, the brain has not the strength required to play chess.
So if someone would agree to take my repository and develop the engine further (while still not leaving me out of the credits completely), it would be a great relief.
I realize that D community is not that strong and that a pool of possible volunteers might be limited, but that's the price to pay for developing in the favorite language rather then a popular one.
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

After a long hiatus I resumed work on the engine.
As of now, Arena correctly recognizes Delimiter and makes it possible to play ames up to 2 plies depth. To achieve that, it was needed to disable XBoard support. Maybe I will remove it completely someday.
On the depths of 3 and more Delimiter has some faults in doundo which spoil the stored positions. If not for this issue I would already create a binary release.
Here is the first game that Delimiter played with itself:
[pgn]
[Event "Computer chess game"]
[Site "SHINKAR-PC"]
[Date "2021.06.08"]
[Round "?"]
[White "Delimiter"]
[Black "Delimiter"]
[Result "0-1"]
[BlackElo "2000"]
[ECO "A00"]
[Opening "Dunst (Sleipner-Heinrichsen-Van Geet) Opening"]
[Time "10:58:19"]
[WhiteElo "2000"]
[Termination "normal"]
[PlyCount "100"]
[WhiteType "program"]
[BlackType "program"]

1. Nc3 Nc6 2. Nf3 Nf6 3. Nb5 Ne4 4. Nfd4 Nxf2 5. Nxc6 bxc6 6. Nxc7+ Qxc7 7.
Kxf2 Bb7 8. Ke1 c5 9. Rb1 Bd5 10. Ra1 Bb7 11. b3 Bd5 12. Bb2 Rb8 13. Bc3
Rb5 14. Rc1 Be4 15. Bb2 Bd5 16. Rb1 Qb7 17. Rg1 Rb4 18. Be5 Rb5 19. Rc1 Rb4
20. Ra1 Rb5 21. Rb1 Rb4 22. Rc1 Rb5 23. Bf4 Be4 24. Be5 Bd5 25. Ra1 Rb4 26.
Qc1 Rb5 27. Kd1 Rb4 28. Qb2 Be4 29. Rc1 f6 30. a3 Rb5 31. Bf4 c4 32. a4 Rb4
33. Qd4 cxb3 34. Qc3 Bxc2+ 35. Rxc2 bxc2+ 36. Ke1 Rb1+ 37. Kf2 c1=Q 38. Kg3
Qxc3+ 39. dxc3 Rb2 40. c4 Qb3+ 41. e3 Qxa4 42. e4 Qb3+ 43. Kh4 g5+ 44. Bxg5
fxg5+ 45. Kxg5 Qe3+ 46. Kh5 Qc5+ 47. e5 Qxe5+ 48. Kh4 Qxh2+ 49. Kg5 Bh6+
50. Kf5 Qf4# 0-1

[/pgn]

https://github.com/shinkarom/delimiterc ... fd57fe840a
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

I finally fixed enough things to do a release, version 0.1 . Of course, the engine is very weak (and it's not like you need yet another also-ran), but right now I have at least something tangible to show.

https://github.com/shinkarom/delimiterc ... s/tag/v0.1