Discussion of chess software programming and technical issues.
Moderators: hgm, Dann Corbit, Harvey Williamson
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
- Posts: 26203
- Joined: Fri Mar 10, 2006 9:06 am
- Location: Amsterdam
- Full name: H G Muller
bob wrote:Who cares about the "difficulty level"?
Lazy people like me do!
For instane, if I want to transplant FEN I/O routines from one Chess program (like Joker) to completely different program (like microMax, or a tablebase generator) that have completely different routines for move generation, I would have to change a lot more. Drawing on the Chess knowledge of the host program needlessly increases the interdependence, and reduces the portability of the routine between programs.
If I would want to use a FEN routine in a Chess variant, with fairy pieces, I would only hav to change the list of allowed letters and their encodings. If I would have to test for legality, it would be a disaster...
- Posts: 4675
- Joined: Mon Mar 13, 2006 6:43 pm
My summary comment on these things is that Bob is right and the standard could be improved by saying that the en passant target square should be specified if and only if there is at least one valid en passant capture. (There could be two.)
Yes, it means that a FEN using program has to know about legality testing. That's a reasonable requirement, and it's already necessary for valid SAN generation.
It appears that some are asking for Fen 2. Fen 1 served us well but could care less of chess logic. It was not a program of chess but rather a tool to place pieces on a board. 100's of programs work well with Fen 1. Can Fen 2 simplify things for chess programmers, YES. Is it really needed? 100's of programs say NO.