Hello,
My first (technically second) post on the Winboard forum.
This is about my new engine Fruit.
Good thing that Dann released a version yesterday, I gain half a day then.
Sorry it is UCI only at the moment. I use xboard on linux and have my own "UCI2WB" adapter. I will see later with Dann Corbit if we manage to port it to Windows.
I will make sure Winboard users have some way of running my engine. If all fails, I will add Winboard support to the code, although this is against my design goals (code quality).
Fruit as of now is a completely untested engine that I wrote a year ago.
It has slept on my hard disk since then.
Suddenly I get motivated again by seeing tournaments beeing ran on the Internet e.g. WBEC.
I thought I would enjoy beeing part of that, but there is a long way to go ...
First step was to release my engine "as is" (as it was last year).
So I can start improving it (modifying a lot of code), without having to worry about when to release a stable version.
In short I'm not sure about what the code does anymore, I will have to reread the code!
I intend to change a lot of (small) things in the few months to come and that will introduce new bugs.
At least there will be a stable release to compare it to (should be next week if testing is OK).
It is true that I claim my engine is weak, because I know all that's missing from the code (few examples below).
But it is a completely untested engine, maybe it is good, I just don't expect it to be.
Example, what's in the eval:
- piece-square table
- static pawn eval (only basic pawn types, no interaction with pieces)
- 3 or 4 boolean features like "if there an "own pawn" along my "forward" bishop diagonals" (negative score)
That's all!!!
No king safety, no mobility of any kind, no connected passers, *no knowledge of drawish endgames*!
How could such a program play decent chess I do not know, it's not even fast.
Search:
R=3 nullmove, extend all check evasions 1 ply, try all checks 1st ply of quiescence.
That's all!!!
No other extension.
No parameter tuned, nothing tested!
After the release I will test several combinations of search parameter.
If I have time next week-end I will add them as UCI options so people can play with it.
In commercial programs they are already tuned so you can't improve the program.
Totally opposit here, may I hope users will send me good parameters?

I have only one computer for testing, please Aaron Gordon where are you!
I have a bad feeling about people getting too hopeful and will be disappointed when they realise Fruit's true level, you have been warned.
May I add I have for instance statistical proof that Gothmog is stronger (at least in 5 0)?
I am not ashamed, I have great hope for Gothmog!!!
Now I am hopeful for the near future. I think adding a few well chosen features in the eval should help.
My philosophy was to release early (next week), and only then to work on the missing knowledge.
I intend to observe what missing knowledge hurts most in test games and add it, little by little.
As of now I am thinking of known drawish endgames (some KXKY and of course KNNK), that I see very often in test games.
Also a pawn-shelter code I am sure would help its king not getting crushed so often by Gothmog

This post is a bit disorganised, as I try to answer various independant questions.
Let's continue with a few more answers:
Fruit is my third chess engine.
As I do for other projects (e.g. Othello), I start from scratch again every few years.
The code quality is much better than a single program improving over say 15 years.
I am french and live in Cambridge UK at the moment.
I feel like my citizenship is "european".
I might live in Italy in two years

Yes I believe I can improve Fruit easily for the next version.
See what I said about all the missing knowledge.
The source code will be made available on Dann's site when he gets up, you will be able to check for yourself.
He did not know I was going to release it open-source.
Oh, the name is Fruit of course, not Fruit_src; please rename it.
I will answer questions here, rather than trying to answer all in one go.
Bye for now, waiting for reactions.
Fabien.