you took the idea which is in that case not that easy to type differently. (The only reason why I do not have something similar in Quark is, that Quark counts mobility for the bishop and the penalty looks more likeRebel wrote:IPPO is freeware.zamar wrote:Why would anyone want to copy code from another engine? Copyright laws in most Western countries prohibit copying anything without author's permission.Rebel wrote: Here is the deal, provided a programmer already has an engine and he wants to copy code from another engine:
Here is an example that proofs you wrong, at least if you think I did nothing wrong, which I think you doReading another person's engine and writing your engine by using similar ideas is of course okay. But resulting functions, semantics, arrays are going to very different.![]()
2-3 years ago I went through the Fruit source code because of the raging Rybka debate and I found something I did not have, penalizing a trapped bishop on the 6th rank. So I took it and it resulted in the following code.My own code, I copied nothing from Fruit. However, compare this with the Fruit source code, 100% identical, not only semantically equal, even code wise equal.Code: Select all
if (board[A6]==WB && board[B5]==BP) score=score-64; if (board[H6]==WB && board[G5]==BP) score=score-64; if (board[A3]==BB && board[B4]==WP) score=score+64; if (board[H3]==BB && board[G4]==WP) score=score+64;
Did I plagiarize Fruit ?
Code: Select all
if (mobility_bishop<something) score-=penalty;
Let's say if I share one pattern in my eval with another engine my engine is still no clone, but if most of my eval has exactly the same patterns then another one maybe even in the same order without adding a lot of other sustantial parts, this looks fishy. Who decides when it is too much ? Don't know... Common sense ? But that is still different for each human being.
Greets, Thomas
