Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How to create Fritz native engine?

Author: Mike Hood

Date: 15:57:22 03/13/03

Go up one level in this thread


On March 13, 2003 at 12:24:33, Ulrich Tuerke wrote:

>On March 13, 2003 at 12:08:52, Mike Hood wrote:
>
>>On March 13, 2003 at 05:30:45, Ulrich Tuerke wrote:
>>
>>>On March 13, 2003 at 04:34:39, Igor V. Korshunov wrote:
>>>
>>>>Hi there!
>>>>
>>>>I know some engines that exist as Fritz native also. This is Comet, Crafty,
>>>>List, EXchess and Faile.
>>>>
>>>>How I can convert my own engine to Fritz native?
>>>
>>>You have to make an agreement with ChessBase in order to do this.
>>>
>>>>
>>>>Can somebody give me useful hints?
>>>
>>>If I were you, I'd rather consider supporting UCI. As a "free bonus" your engine
>>>will then also run perfectly under Fritz-7 (or later).
>>>
>>>I don't see real advantages of supporting a native CB interface.
>>>
>>>Uli
>>
>>I've heard rumours that the Chessbase protocol is secret, only disclosed
>>grudgingly to engine programmers that Chessbase approves of, but I don't
>>understand that. Wouldn't it be in Chessbase's own commercial interests to make
>>their protocol public and encourage as many programmers as possible to write
>>Chessbase native engines? After all, that would be a gentle encouragement for
>>people to buy one of the Chessbase programs in order to get the GUI. If
>>Chessbase is worried about there being a flood of inferior engines (by
>>"inferior" I don't mean weaker engines, I mean engines that don't correctly
>>support the protocol) there could be a final testing done by Chessbase before
>>they give the final seal of approval: posting it for download on their web site.
>
>Well, I don't really know because I'm not a CB employe.
>However, the CB protocol is very different from the other protocols in one
>respect: whereas UCI and wb are protocols defining the communication between
>different processes, the CB kind of protocol defines how a dynamic link library
>has to behave. The CB natives are running in the process context of the GUI,
>i.e. any engine crash will also crash the GUI. Imagine the flood of complaints
>and bug reports regarding the Fritz-GUI which could be raised in case of buggy
>native engines.
>I don't know the windows world to well, but may there is even the possibilty
>that engine code may erroneously write into the virtual address space of the GUI
>modules leading to peculiar errors (kind of undetected access violations).
>
>I could imagine that these properties make CB very careful in selecting native
>engines. But this is just a guess.
>
>Uli

If what you say is true, that native engine crashes would crash the Chessbase
GUI, it's a strong reason for Chessbase to restrict the programming of native
engines to "trusted" programmers. It's also a big weakness in the Chessbase
GUI-Engine concept, but I won't go into that. Still, how can Chessbase be sure
that a new engine is safe? Any honest programmer would admit that he makes
mistakes. How did Chessbase know that Comet B60 was safe when they posted it on
their web site? Was it because they trust the name Tuerke? Was it because they
assume that since all previous Comet versions worked fine this one must be okay
as well? Or did they subject it to intensive testing before it was okayed. If
the latter is the case, maybe they could allow their protocol to be made public.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.