summaryrefslogtreecommitdiff
path: root/games/crafty
AgeCommit message (Collapse)AuthorFilesLines
2002-09-25lower optimization level on sparc. With -O2, crafty segfaults immediately,dmcmahill1-1/+3
with -O1 it compiles and seems to run ok. This is on NetBSD-1.6/sparc, gcc-2.95.3.
2002-09-11Update games/crafty to 18.15. Changes from version 18.13 include:jlam4-106/+43
18.14 Minor bug in ResignOrDraw() code caused Crafty to not offer draws although it would accept them when appropriate. Rook vs Minor is now evaluated as "neither side can win" an oversight in the EvaluateWinner() code. minor bug in ResignOrDraw() would fail to offer draws due to the +0.01/-0.01 draw scores returned by the EGTB probe code. 18.15 change in endgame draw recognition to handle the case where one side appears to be in a lost ending but is stalemated. the code now evaluates such positions as "DrawScore()" instead. the code to accept/decline draws has been modified. when a draw offer is received, a global variable "draw_offer_pending" is set to 1. when the search for a move for crafty terminates, crafty then uses this value to decide whether to accept or decline the draw. this means that the accept/decline won't happen until _after_ the search has a chance to see if something good is happening that should cause the draw to be declined, closing a timing hole that used to exist that let a few "suspects" get away with draws that should not have happened (ie crafty has - scores for a long time, the opponent suddenly fails low and sees he is losing and offers a draw quickly. Crafty would accept before doing a search and noticing that it was suddenly winning.) minor evaluation change to notice that K+B+right RP vs K+B is not necessarily won if the weaker side has a bishop of the right color.
2002-04-04Provide a FirstOne and LastOne implemention for archs without hand craftedjmc2-1/+69
assembly substitutes.
2002-01-12Update games/crafty to 18.13. Changes from version 18.12 include:jlam3-13/+13
* Deep Blue extension limit removed and restored to one ply of extension per ply of search. * pruning in q-search fixed so that a capture will be considered if it takes the total material on the board down to a bishop or less for the opponent, as that can greatly influence the evaluation with the EvaluateWinner() code. * as the 50 move rule draws near, the hash table scores are marked as invalid every 5 moves so that hashing can't hide potential 50-move-rule draws. * lazy evaluation code modified to be more conservative, since in endgames the positional score can be a large change. * EvaluatePassedPawnRaces() fixed so that if one side has two pawns that are far enough apart, it will recognize that even though the king is "in the square" of either, it can't always stay in the square of one if it has to capture the other. * pawn hash signature restored to 64 bits after testing proved that 32 was producing an unacceptable number of collisions. * search node counter is now 64 bits as well to avoid overflows. * in the outside passed pawn code fixed (bad mask).
2001-11-01Move pkg/ files into package's toplevel directoryzuntum2-1/+1
2001-10-23Update crafty to 18.12 and strongly-buildlinkify. Relevant changes fromjlam2-11/+13
version 18.10 include: - the pawn ram code is now disabled when playing a computer, although the normal 'blocked pawn' code is always active. - bug in the code that penalizes a rook with no horizontal mobility was fixed. if the first rook scored had horizontal mobility, the second rook appeared to have this mobility as well, which was wrong. - pawn hash statistics were wrong on longer searches due to an int overflow on a multiply and divide calculation. this has been re-ordered to avoid the overflow. - for unknown reasons, epd support was disabled. it is now enabled as it should be. - bug in EvaluateDraws() fixed to not call KBB vs KN a draw if the correct tablebase is not available. - bishop pair scores now vary depending on how many pawns are left on the board. a pair is not worth a lot if there are 7-8 pawns left as most diagonals will be blocked by pawns. - a new way of handling the search extensions is in place. with the old approach, one ply could not extend more than one full ply. with the new approach, borrowed from Deep Blue, two consecutive plies can not extend more than two plies total. It averages out to be the same, of course, but the effect is a bit different. Now it is possible for a check and recapture to be applied at the same ply, where they could not before (since a check was already a full one-ply extension). whether this is better or not is not clear yet, but it is worth careful analysis.
2001-10-07Fetch it again from the main ftp site and not from the MASTER_SITE_BACKUP.veego1-3/+2
2001-09-14Update to 18.10, as requested in pkg/13795.wiz2-11/+11
Changes since 18.9: minor bug in book.c would let crafty play lines that were very rarely played even though there were others that had been played far more times and were more reliable. king safety scores ramped up a bit and made more "responsive".
2001-09-14Try fetch first from ${MASTER_SITE_BACKUP}. Partially fixes problem notedjlam1-2/+3
in pkg/13795 by John Klos <john@sixgirls.org>.
2001-09-09Deprecate NO_WRKSUBDIR, replacing it with an explicit assignment of:agc1-2/+2
WRKSRC= ${WRKDIR} This is much cleaner, much more indicative of what happens, and removes another of the negative definitions (NO_.* = value).
2001-06-01make sure this compiles on sparc by using .S instead of .s for thedmcmahill1-1/+2
assembly file so that the preprocessor gets run first. tried a short game, seems to work even.
2001-04-21Move to sha1 digests, and/or add distfile sizes.wiz1-1/+5
2001-04-17+ move the distfile digest/checksum value from files/md5 to distinfoagc2-4/+2
+ move the patch digest/checksum values from files/patch-sum to distinfo
2001-03-29Update crafty to 18.9. Changes to version 18.8:jlam2-7/+7
18.9 Book() modified to increase the responsiveness of book learning. the new code, plus the default weights for the book parameters now make Crafty learn very aggressively and repeat good opening lines and avoid bad ones.
2001-03-28Update crafty to 18.8. Changes from version 18.7:jlam2-7/+7
18.8 recapture extension turned back on for a while. changes to the evaluation code, particularly EvaluatePawns() to make it more efficient and accurate. IE it was possible for an isolated pawn to be penalized for being isolated, weak, and blocked, which made little sense.
2001-03-21Update crafty to 18.7. Changes from version 18.6:jlam2-7/+7
18.7 BOOK_CLUSTER_SIZE increased to 2000 to handle making really large books. a book made without this change could produce clusters that would cause memory overwrites.
2001-03-16Update crafty to 18.6. Changes from version 18.5:jlam2-7/+7
18.6 "new" no longer produces a new log.nnn/game.nnn file if no moves have actually been played. minor change to rook scoring gives a penalty when a rook has no horizontal (rank) mobility, to avoid moves like Ra2 protecting the pawn on b2, etc. glitch in the code that initializes is_outside[][] and is_outside_c[][] could cause missed outside pawn cases to happen. this has been there a long time.
2001-03-12Update crafty to 18.5. Changes from version 18.4:jlam2-7/+7
18.5 minor change to RootMove() to use Quiesce() rather than the more complicated way it was ordering with Evaluate()/EnPrise(). this is no faster, but it is simpler and eliminated the need for the EnPrise() function totally, making the code a bit smaller. bug in EvaluateDraws() would let it think that the bishop+wrong rook pawn endings were winnable if both kings were very close to the queening square, even with the wrong bishop.
2001-03-09Update crafty to 18.4. Changes from version 18.3:jlam5-14/+30
18.4 recapture extension was left in SearchSMP() erroneously. this has now been protected by a #ifdef just like it was in Search(). bug in RepetitionCheck() was causing problems in SMP versions. The entire repetition list code was modified to clean this up. the problem was most noticable on things like fine #70. bug in LearnImportBook() confused the learn value sign, due to the other changes to make +=white all the time. opposite bishop scoring has been beefed up a bit to avoid these drawish endings.
2001-02-16Update to new COMMENT style: COMMENT var in Makefile instead of pkg/COMMENT.wiz2-2/+2
2001-02-13Update crafty to 18.3. This is a bugfix release over version 18.2. Changesjlam2-7/+7
include: 18.3 minor bug in "avoid_null_move" test used R=2 for the test rather than testing R=2/3 as the real null-move search uses. the kibitz for "Hello from Crafty Vx.xx" has been moved so that it works with the new xboard/winboard 4.2.2 versions. book learning was badly broken in the previous version and has been fixed/tested.
2001-02-08Update crafty to 18.2. Changes from version 18.1 include:jlam4-16/+20
The main feature is that it fixes the winboard hang problem when crafty plays black on a chess server. It also has much more aggressive book learning (code has been significantly changed). A minor bug was fixed in analyze mode that would break the "h" command when black was on move, and show one less move for either side that had actually been played in the game. Another fixed bug reversed the sign of a score whispered in analysis mode. Pkgsrc changes include fixing the build target on Solaris (untested).
2001-01-15Allow generated code to execute on 386-class machines. People wanting tojlam2-5/+51
optimize Crafty for i[456]86 can set CFLAGS appropriately in /etc/mk.conf.
2001-01-14Update crafty to 18.1. Changes from version 17.14 include bug fixes to thejlam2-11/+11
evaluation function, improved castling strategy when facing a stonewall, and full support for the xboard protocol version 2.
2000-11-10Update crafty to 17.14. The author kindly accepted all patches back into thejlam9-646/+16
main source tree, so no more pkgsrc patches. Changes from version 17.13: another endgame evaluation problem fixed. the outside passed pawn code worked well, up until the point the pawn had to be given up to decoy the other side's king away from the remainder of the pawns. Crafty now understands the king being closer to the pawns than the enemy king, and therefore transitions from outside passer to won king-pawn ending much cleaner. new command "selective" as requested by S. Lim, which allows the user to set the min/max null move R values (default=2/3). they can be set to 0 which disables null-move totally, or they can be set larger than the default for testing. minor changes to init.c sent by Eugene Nalimov to handle 64 bit pointer declarations for win64 executable compilation. NetBSD changes included along with a new Makefile that requires no editing to use for any known configuration ("make help" will explain how to use it). this was submitted by Johnny Lam. serious changes to the outside passed pawn code. the evaluator now understands that outside passers on _both_ sides of the board is basically winning. same goes for candidate passers.
2000-10-15crafty: chess engine -- plays a MUCH better game of chess than GNU Chess.jlam12-0/+724