Page 1 of 9

Delimiter development diary

Posted: Fri Dec 18, 2020 7:26 pm
by shinkarom
I've started a new project. It's a port of Lime by Richard Allbert to D.
The repository is https://github.com/shinkarom/delimiterchess.
I will post here the updates to the development process.

Re: Delimiter development diary

Posted: Fri Dec 18, 2020 7:27 pm
by shinkarom
So far I have created the project and turned off stdin and stdout buffering.

https://github.com/shinkarom/delimiterc ... b250120be3

Re: Delimiter development diary

Posted: Fri Dec 18, 2020 7:35 pm
by shinkarom
It turned out I forgot to include some crucial files in the repository.
Note to self: "Git commit" should be called from the repository root.

https://github.com/shinkarom/delimiterc ... cb7c961c2c

Re: Delimiter development diary

Posted: Sat Dec 19, 2020 12:11 pm
by maksimKorzh
Happy you're back to work.
I've never heard of Lime by Richard,
is it open source? Where did you get it???
Can you please share the source code of Lime?

Re: Delimiter development diary

Posted: Sat Dec 19, 2020 1:18 pm
by shinkarom
https://www.chessprogramming.org/Lime

It is licensed GPL.

By the way, my repository has its own forum.

Re: Delimiter development diary

Posted: Sat Dec 19, 2020 1:35 pm
by shinkarom
Converted Lime.h to defines.d
This file has basic constants and structure definitions. Right now my aim is to simply convert the code to make it compile; rewriting the code to D idioms will come later.
Quick tip: Multi-dimensional arrays are declared in D in a different way. What is int array[2][3] in C would be int[3][2] array in D.

https://github.com/shinkarom/delimiterc ... eb7ab39b14

Re: Delimiter development diary

Posted: Sat Dec 19, 2020 4:05 pm
by maksimKorzh
shinkarom wrote: Sat Dec 19, 2020 1:18 pm https://www.chessprogramming.org/Lime

It is licensed GPL.

By the way, my repository has its own forum.
Where's your repo's own forum?
Also I'm just curious why do you consider a direct port instead reusing idea and wrapping them into your own implementation?
Despite the fact that I've read Vice's source coe countless number of times and probably know it by heart in some parts, still
I don't like some parts and consider them to be overcomplicated, e.g. having multiple addMove() functions for different move types.
Did you ever think of changing some patterns to fit your style of coding? (lifestyle)

Re: Delimiter development diary

Posted: Sat Dec 19, 2020 4:59 pm
by shinkarom
My repo's forum is at https://github.com/shinkarom/delimiterchess/discussions . It's a new feature of GitHub.
Mussaurus did start as a direct port of VICE, but soon enough diverged. Right now I need to have a complete project under my belt. I plan to complete port of Lime, then fork it and develop the fork further under a different name.
D programmers don't have enough chess engines to work from. I figured having a simple base will make it easier for others to create their engines.

Re: Delimiter development diary

Posted: Sun Dec 20, 2020 1:13 am
by maksimKorzh
shinkarom wrote: Sat Dec 19, 2020 4:59 pm My repo's forum is at https://github.com/shinkarom/delimiterchess/discussions . It's a new feature of GitHub.
Mussaurus did start as a direct port of VICE, but soon enough diverged. Right now I need to have a complete project under my belt. I plan to complete port of Lime, then fork it and develop the fork further under a different name.
D programmers don't have enough chess engines to work from. I figured having a simple base will make it easier for others to create their engines.
Interesting. Are you doing D programming professionally? I mean as a daily job? Why D? Just curious.

Re: Delimiter development diary

Posted: Sun Dec 20, 2020 1:29 pm
by shinkarom
maksimKorzh wrote: Sun Dec 20, 2020 1:13 am
I don't have a daily job. Health problems and all that. And if you'd seen my code, you wouldn't suspect me of coding professionally.
I use D because it's the closest thing to C++ with Cyrillic console input. It's a pity that my computer is too weak for Visual Studio, because C# would be the ideal choice.
Though D is nice too, only without GUI. Its syntax is not alien as C++ replacement, and it has a few good features, like UFCS.