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