Then what's the problem?lucasart wrote:But, at least, the GPL was respected, which is the only good thing about it.
No wonder some people decide to lie.
Moderator: Ras
Then what's the problem?lucasart wrote:But, at least, the GPL was respected, which is the only good thing about it.
Well, the new Fire project is clearly an impulse project. It has no long-term goal and any concrete objective. Practically useless I would say. As with many projects that have been announced here, it will die very soon.lucasart wrote:Yet another example. This time the source code was not even modified (just added intel intrinsics), and the only "achievement" of the "author" was to use a better compiler:hgm wrote: But of course my admiration / respect for people is related to their achievements. And I rate the achievement of producing a 3000+ Elo Ivanhoe clone a lot below producing a 2000-Elo engine from scratch. In most cases, the making of these 'top engines' rates about as high as being able to write a 'Hello world' program, as far as I am concerned.
http://www.talkchess.com/forum/viewtopic.php?t=47343
I laughed so much when I read the passage about Thomas Eddison. Seriously, some people vastly overrate themselves...
But, at least, the GPL was respected, which is the only good thing about it.
The problem is clear, closed minds trying to use this to insult, call plagiarist, copying, cloner, ect, ect.Rebel wrote:Then what's the problem?lucasart wrote:But, at least, the GPL was respected, which is the only good thing about it.
No wonder some people decide to lie.
hgm wrote:For the record: I have absolutely nothing against derivatives. I have something against people that lie about their engine being original, or lie about which engine their derivative is based on.
One day I might even make my own derivative. It seems fun to try if I can modify Ippolit to play Seirawan Chess. (I already have a name for it: Ippocryt!)
But of course my admiration / respect for people is related to their achievements. And I rate the achievement of producing a 3000+ Elo Ivanhoe clone a lot below producing a 2000-Elo engine from scratch. In most cases, the making of these 'top engines' rates about as high as being able to write a 'Hello world' program, as far as I am concerned.
Code: Select all
#define DiagA1H8 0x8040201008040201 // diagonal A1 a H8
#define DiagB1H7 0x0080402010080402 // diagonal B1 a H7
#define DiagA2G8 0x4020100804020100 // diagonal A2 a G8
#define SideKing 0xF0F0F0F0F0F0F0F0 // Files= E,F,G,H
#define WingKing 0xE0E0E0E0E0E0E0E0 // Files= F,G,H
if (King_BlacK& G8){
if (Queen_white & DiagB1_H7 )
Value += Score(5, 15);
if (Bhisop_white & DiagB1H7 )
Value += Score(5, 15);
if (Bhisop_white & DiagA1H8 )
Value += Score(5, 15);
if (Bhisop_white & DiagA2G8 )
Value += Score(4, 10);
if (Nkigth_white & WingKing )
Value += Score(4, 10);
if (POPCNT(Nkigth_Black & WingKing)==0)
Value += Score(4, 10);
}
I know, popcount is cheap nowadays, but instead of popcount(set) == 0, one may simpler use set == 0. Maybe compiler are smart enough to optimize that. Do you have similar code for black king on h7, g7, etc. ?velmarin wrote:
I repeat, EXAMPLE.
would be as easy as this example:Needless to say this is perfect, but you can not deny that it is simple to write, almost like the "Hello World"Code: Select all
#define DiagA1H8 0x8040201008040201 // diagonal A1 a H8 #define DiagB1H7 0x0080402010080402 // diagonal B1 a H7 #define DiagA2G8 0x4020100804020100 // diagonal A2 a G8 #define SideKing 0xF0F0F0F0F0F0F0F0 // Files= E,F,G,H #define WingKing 0xE0E0E0E0E0E0E0E0 // Files= F,G,H if (King_BlacK& G8){ if (Queen_white & DiagB1_H7 ) Value += Score(5, 15); if (Bhisop_white & DiagB1H7 ) Value += Score(5, 15); if (Bhisop_white & DiagA1H8 ) Value += Score(5, 15); if (Bhisop_white & DiagA2G8 ) Value += Score(4, 10); if (Nkigth_white & WingKing ) Value += Score(4, 10); if (POPCNT(Nkigth_Black & WingKing)==0) Value += Score(4, 10); }
I am glad that you got a laugh out of this episode.I laughed so much when I read the passage about Thomas Eddison. Seriously, some people vastly overrate themselves...
Code: Select all
Just one example,
in H7, G7, there are many ways to define the Ippolit code,
One by one
along with the :
#define BitBoard2(x, y) (1ULL << (x))|(1ULL << (y))
or :
static const uint64 CrampFile[8] =
{
FileA, FileB, 0, 0, 0, 0, FileG,FileH
};
the base is crampfile by code, and it was just a silly example, it is useless, then there are checks, king safety,ect.
An example of that at least to me,
Ippolit code seems clear and easy to write.Thank you for your understanding! Firenzina is totally an impulse project. I made no attempt to hide that fact, everything was out in the open. It has a short-term goal of getting us a correct ranking of open-source engines. No one wants to test an abandoned engine that flew under the radar, and no one expects that it may still land in the Top10 after a 1.5-year hiatus. The project cannot have a long-term goal until the short-term one is achieved. And even this short-term goal may prove elusive. The project needs to be restarted (that's relatively easy), then worked on productively (this is known to be very hard). I am obviously being quixotic here, as others pointed out correctly.Well, the new Fire project is clearly an impulse project. It has no long-term goal and any concrete objective. Practically useless I would say. As with many projects that have been announced here, it will die very soon.
I know this question is not for me to answer. But there exists a real problem. And the problem is, it turns out, a programmer with superior code at hand may still end up with a lower ELO engine, simply because his compiler is not the best one. And the best compiler is not free. For a free, open-source project, this becomes a problem, especially if one is unaware of it. There is a real risk to give up too early by mistake. In the meanwhile, someone else may win on the compiler strength. I hope people realize that Stockfish 2.2.2 used the new intrinsics. (Nothing wrong with that.)Then what's the problem?