Ugly UCI

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Ugly UCI

Post by mcostalba »

Joost Buijs wrote: Sometimes I wonder if there still is any use in developing an engine at all.
Only having fun.

If you don't have fun / relax / joy / satisfaction / <put your name here> writing an engine then you are wasting your time.

This is true for chess engine developers, testers, GUI and protocol developers :-) and even chess forum readers.
Joost Buijs
Posts: 1564
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: Ugly UCI

Post by Joost Buijs »

mcostalba wrote:
Joost Buijs wrote: Sometimes I wonder if there still is any use in developing an engine at all.
Only having fun.

If you don't have fun / relax / joy / satisfaction / <put your name here> writing an engine then you are wasting your time.

This is true for chess engine developers, testers, GUI and protocol developers :-) and even chess forum readers.
The fun part for me is playing the HGM monthly blitz tourney with a few bottles of beer on the table.

I'm fond of programming, programming a chess engine I don't know, maybe I have been busy with it for too long and need to do something else.
Aleks Peshkov
Posts: 892
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia

Re: Ugly UCI

Post by Aleks Peshkov »

Joost Buijs wrote:Every good programmer can produce a top engine within a couple of months or maybe even weeks by grabbing all the ideas from Ippolit/Robbolito and Stockfish, and I don't mean the plain copying of code.

Sometimes I wonder if there still is any use in developing an engine at all.
Programming is an art. Those who clone are not artists, but copyists.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Ugly UCI

Post by lucasart »

mcostalba wrote:
bob wrote: You and I have COMPLETELY different ideas about simplicity. Chess is NOT stateless. Yet UCI pretends it is and introduces the kludge of sending the entire set of moves. That's NOT "brilliant".
You don't have to focus in the protocol per-se but in how this affects the code needed to parse/handle it.

The protocol is brilliant (and you can clearly realize it was designed by a very good programmer) because allows the code needed to handle it to be:

- Straightforward

- Simple (meaning with the minimal number of 'if' branches and logic)

- General (meaning the same algorithm can handle all the different cases in an uniform fashion).

The aim of the UCI protocol is to make the code simple, that's why I think it was made for programmers by a (great) programmer.
Exactly.

That being said, UCI was developped from scratch, with the benefit of hindsight, years after CECP. Having the benefit of hindsight, and not being subject to any legacy compatibility issues is a huge advantage that UCI had over CECP.

After seeing all the horrors of xboard, and understanding everything that is wrong with it, it is easier to come up with something clean, that isn't a stack of historical hacks added on top of each other with no coherency.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
hgm
Posts: 27819
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Ugly UCI

Post by hgm »

Yeah, when you can start from scratch it is easy to design something versatile, complete, nice-looking and coherent.

But instead UCI came out...
Aleks Peshkov
Posts: 892
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia

Re: Ugly UCI

Post by Aleks Peshkov »

The only ugly UCI feature is the obligatory of "startpos" or "fen" strings for every "position" command. If you make this only requirement optional and assume that given moves are made from the previous position command there is no verbosity at all.

We just need to introduce an optional UCI_ShortPositionMoves to gain from this feature.
User avatar
Werner Taelemans
Posts: 119
Joined: Mon Feb 03, 2014 11:57 am
Location: Belgium
Full name: Werner Taelemans

Re: Ugly UCI

Post by Werner Taelemans »

hgm wrote:Yeah, when you can start from scratch...
But you can start from scratch! There is no reason why protover 3 should be compatible with the past. Would it be so bad, to change hard/easy into ponder true/false, for example?
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: Ugly UCI

Post by stegemma »

Werner Taelemans wrote:
hgm wrote:Yeah, when you can start from scratch...
But you can start from scratch! There is no reason why protover 3 should be compatible with the past. Would it be so bad, to change hard/easy into ponder true/false, for example?
I fully quote your sentence. WinBoard just needs a little updating work and it will stay alive for a very long time.

For those who are curious, on my site it can be downloaded the experimental core of my new interface. This one is just the console core:

http://www.linformatica.com/software/Sa ... y.beta.zip

It handles UCI/WinBoard engines.

I already have a draft of the graphical interface, that will be portable across Windows/Linux/OS X but I need some week again before to release it. the final interface doesn't will be called "satana" but will be a separate software, with a new name.
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
Roger Brown
Posts: 782
Joined: Wed Mar 08, 2006 9:22 pm

Re: Ugly UCI

Post by Roger Brown »

Joost Buijs wrote:
Well, where I stand is that I compare all these so called 'derivatives' with using doping in cycle racing.

I feel very reluctant to proceed working on my own engine because of this.

Every good programmer can produce a top engine within a couple of months or maybe even weeks by grabbing all the ideas from Ippolit/Robbolito and Stockfish, and I don't mean the plain copying of code.
Nowadays this seems to be common practice and even testing groups are supporting this, why would they care anyway.

Sometimes I wonder if there still is any use in developing an engine at all.

Hello Joost,

Do not ever fall for that nonsense!

In my opinion, there is much more merit in an original work, produced with love and care, than the churning out of 100 Elo monsters, playing incomprehensible chess.

There are testers who do test everything - Graham comes to mind - but admittedly, the irreplaceable Leo is gone and Olivier seems to have finished his excellent Chesswar tournament but I am sure that there are others.

Enjoy the process. I have produced several creative pieces which will never see the light of day, but there was a tremendous satisfaction in producing them.

In fact, I need to return to that!

Do not let Elo hunting be the definition of your hobby.

Later.
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: Ugly UCI

Post by stegemma »

PS: the sample xml file were wrong, now it has been corrected.
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com