The Chess Variant Pages
Custom Search

[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments/Ratings for a Single Item

Earlier Reverse Order Later
This item is a Zillions-of-Games file
It belongs to categories: Orthodox chess, 
It was last modified on: 2004-01-24
 By Michael  Nelson. Forward Chess ZIP file. Download these files to play Forward Chess with Zillions of Games![All Comments] [Add Comment or Rating]
Michael Nelson wrote on 2004-02-04 UTC
The Zillions implementation handles checkmate/stalemate positions fairly well, but often overlooks fairly obvious 'run for the border' (moving the King to the enemy eighth rank) wins. Any suggestions how to improve its play in this area?

Peter Aronson wrote on 2004-02-04 UTC
Make reaching the back row part of checkmate. Add code such that if the a King moves to the back row, it also captures an opposing King (an extra one off board can be easier to find). <p> This means the actual winning move won't be made, however. Variations of this approach might encourage Zillions without altering play.

Larry Smith wrote on 2004-02-04 UTC
Instead of the win-conditon being the presence of the King within a particular zone, make the win-conditon also the absence of the King on the rest of the field. This is your current condition: (win-condition (White Black) (absolute-config King (promotion-zone))) Make it: (win-condition (White Black) (and (absolute-config King (promotion-zone)) (absolute-config (not King) (not-promotion-zone)) ) ) You will have to define the not-promotion-zone, which will be all the cells that are not part of the normal promotion-zone. The Zillions engine will now have the 'urge' to move that King into the promotion-zone.

Anonymous wrote on 2004-02-05 UTC
Thanks, Peter. It finds and defends against these wins much better now. The macro I used, wtih comments: (define King-forward ( $1 (verify not-friend?) (if (in-zone? promotion-zone) (verify not-attacked?) ; to prevent moving into check (if (in-zone? promotion-zone a1) (capture White-throne) ; dummy position with a white King else (capture Black-throne) ; dummy position with a Black King ) add else (add-create) ; another macro to make the move and create a piece ; if appropriate. Your normal move goes here. ) ))

Michael Nelson wrote on 2004-02-05 UTC
Larry's suggestion also improves play and the code is elegant. I'm going to do some testing and see which approach seems to do better. I have a more elegant macro for Peter's method which will allow the final move to be made: (define King-win ( (verify (in-zone? promotion-zone)) (if (in-zone? promotion-zone a1) White-throne ; dummy position with a White King else Black-throne ; dummy position with a Black King ) add ))

5 comments displayed

Earlier Reverse Order Later

Permalink to the exact comments currently displayed.