Tord Romstad wrote:Zach Wegner wrote:I took another look at Phalanx, and I really have to disagree. I haven't spent that much time looking at it, but the time that I have has been terribly confusing. I personally think both of our engines are much more readable. For example, the extension routines:
The coding style in Phalanx is certainly very different from what I would have preferred (for instance, I hate cluttering my code with #ifdef directives), but this is to a large extent a matter of taste. I am fairly sure the majority of C/C++ programmers would vastly prefer Phalanx's programming style over Glaurung's. I still remember the horror and disbelief in Igor Korshunov's eyes when he had a look at my passed pawn evaluation in Lodz last year.
Well you can count me in as one that prefers Glaurung. My passed pawn eval isn't exactly pretty, but I think it's easy enough to understand what's going on. Whether it evaluates correctly, that's another issue...
I personally don't think the coding style in Phalanx reduces readability, though. It is a fairly simple program, but is packed with interesting ideas and instructive examples of how to implement various techniques. It taught me almost everything I know about chess programming.
There could be lots of interesting stuff in there, but in the code that I posted and in many other places I have absolutely no idea what's going on. This could be because I'm not really familiar with Phalanx at all and I don't know the context. But for a truly readable program you shouldn't need to know the context, you should be able to just jump in anywhere and know what is going on, assuming you know the basic chess programming theory.
I wish someone would start working on it, preferably Dusan Dobes himself (are you there, Dusan?). The search is too old-fashioned and extension-heavy, and I suspect that there are a number of evaluation bugs. With a moderate amount of work, I think Phalanx could be a competitive program even today.
Tord
It would be nice, if only there was enough time in the world... Phalanx does well enough against ZCT as it is though.
I did find it funny that the sourceforge project committed to bringing Phalanx up to date didn't even have a code repository set up...