Geschrieben von: / Posted by: Daniel Shawul at 28 November 2003 09:29:04:
Als Antwort auf: / In reply to: Re: crafty clone? geschrieben von: / posted by: Uri Blass at 28 November 2003 09:04:30:
I have read about List being a crafty clone.
When do we exactly say an engine is a clone of some other engine?
My engine uses bitboard representation. And clearly the best place to
learn about bitboard representation is crafty.Ok! I use ideas from
crafty and implement it in my engine my own way.And sometimes to save time
I copy codes which is not important for the engines strength like "displaying
board","testing move generator",and other cosmetics I need for my engine.
If that is what makes engines clones,then I would be forced to say
DanChess(my engine) is TSCP clone,Pepito clone,Beouluf clone,Crafty clone...and
other open source engines clone.And I have witnessed some source code of pepito and beowluf which is very similar to crafty's,so I will again be forced to say
they are crafty's clone.Or am I missing something here?
regards
Daniel Shawul
The only source code that I read and understood was tscp.
I also looked at Crafty and used some things from it(for example I decided to give smaller bonus for blocked passed pawn thanks to crafty but I read less than 1% of Crafty).
I started from a legal move generator but I copied part of the data structure from tscp but I never considered movei as a tscp clone because of the following reasons:
1)I did not start from tscp but from a move generator that is basically different and generates only legal moves.
2)There are essential arrays for tscp that movei does not use like mailbox.
3)There are origninal data structures that I copied from nobody even in the
first version.
4)Big majority of my code even in the first version was original.
Uri
Let me tell you my story.
DanChess wasn't a chess playing programme at first.
It was a checkers programme.I still have a programme with own interface
which plays checkers,another variant of checkers,chess.All of them in
one source code!!! Then I began separating the codes each of them with own
DLL and still using the same interface.Imagine the difficulty I had when I
had to update the engine,the interace etc.... When I found tscp ,I left all
the other except the engine part.I had to clean out the code to make it play
only chess.What I am saying in short is DanChess is never ever based on
anybody's engine.But I sometimes take Ideas from open source.I read papers on search techiniques,evaluations etc... and implement it my own way.Believe me
the paper on AEL pruning be E.Heinz made futility pruning more clear to me than
any open source.
regards
Daniel
danchess