Hi,

I would be interested in giving it a try. Though the knowledge level of the
code base you hint is required to do this is far above mine.

Thanks for your prompt answer!

// Patrik
Den 25 sep 2015 17:58 skrev "Gregor Cramer" <rema...@gmx.net>:

> Hi Patrik,
>
> > What is the internal move generator used for?
>
> 1. Validation of the move on the board. The current validation does not
> allow
> to play Chess960 castlings (except if king is on e, and the rooks are on
> a,h).
>
> 2. Computation of move suggestions, this feature facilitates move input on
> the
> GUI board.
>
> > Is it just the castling rules that are missing from the internal move
> > generator?
>
> Yes, but this requires more changes, for example how a castling move will
> be
> stored inside the move structure, the current handling is not appropriate
> for
> Chess960. Furthermore the code of the board stuff has to be prepared for
> these
> castling rules.
>
> > What is the opening tree used for when i play against an engine?
>
> It depends on your decision if you want to use the opening tree or not. But
> implementing the Chess960 castling rules without preparing also the
> position
> search (for the opening tree) for Chess960 would be half-baked.
>
> > Concerning the castling rules, wouldn't the engine you play against tell
> > you if you try to make an invalid move? I cannot see why Scid vs. PC
> would
> > have to implement the castling rules at all, if Scid vs. PC could handle
> > that response.
>
> Some engines are responding with an error message in case of an invalid
> move,
> some are silently ignoring such a move, and some are crashing. The behavior
> depends on the diligence of the developer.
>
> Scid cannot handle the response if the move is a real Chess960 castling,
> this
> move cannot be played on the board without support. Any response of the
> engine
> will be validated - without validation it would be possible to store
> corrupted
> games in the database if the engine is responding with an invalid move (the
> binary decoding of the moves in the database depends on the standard chess
> rules, an invalid move is corrupting the database) - and without support
> the
> validation of Chess960 castling fails.
>
> > Perhaps it would be a good start to just support Chess960 against an
> engine
> > to begin with.
>
> This is not possible, the engine support requires that the move generator
> (and
> this implies also the internal board) is already prepared for Chess960. The
> effort for Chess960 support is high, and requires deep knowledge of the
> code
> base. The only easement is that the binary encoding of the moves in the
> database must not be changed, the current encoding for castling moves even
> works for Chess960. But a new database version number - this means .si5 -
> is
> unavoidable (if you store Chess960 games in .si4, then an older Scid
> version
> will have problems with such a database). Probably sometimes someone will
> do
> the implementation for Chess960!?
>
> Cheers,
> Gregor
>
------------------------------------------------------------------------------
_______________________________________________
Scidvspc-users mailing list
Scidvspc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scidvspc-users

Reply via email to