Comments/Ratings for a Single Item
Oh, i posted a few weeks ago, but it seems when all those dumb 'my chess program is better than yours' posts were deleted, my post went too. Ok, so, what a brilliant program! And it's free! And best of all, for me anyway, it plays Great Shatranj, and it plays very good with pawns too. Hopefully, this program will just get better and better, congrats Greg!!
Abdul-Rahman: Thank you for the bug report. Very good observations! These were minor problems that have been corrected. I am also adding a couple of tiny optimizations, and a new game or two, and perhaps a couple more texture options for the squares, and then I will release 0.9.1. You can expect it to be released within the week. NOTE: The problem with the Andromedan Invaders has been resolved by removing that army. I created that army only for the purposes of testing strange pieces used in other games, but they were never balanced in strength with the FIDE army. I might turn them into a real army and reactivate them again someday. Please continue to report any bugs that you discover.
There are a few bugs in the program. Some of the 'Chess with Different Armies' armies don't work, like the Andromidan Invaders and the Almost Chess army, instead of them you get the standard army. And in Chess with Augmented Knights the knights are not able to move because they're pinned (!), and the Standard Knight doesn't have a picture of his own. and sorry for trouble.
Hi, Can someone explain that opening book testing feature to me? It sounds like a great idea! I want to do an opening book for another variant and I'd love to figure out how to do this. I also don't understand why you'd hafta restrict moves, cann someone explain this to? BTW I am most interested in Janus Chess.
I'll post some basic opening theory for Schoolbook later on this week. As a start, I like the way white's position looks after 1. f4 Nd6 2. g4
- Sam
Hi, Ed.
Do we know it's the ChessV program that's being implemented in these games? Couldn't that just be someone's handle? I mean, 'ChessV' might not even know about the ChessV program.
If we don't know, it could be proven one way or the other easily enough, I imagine, by going through some of the games and finding out whether the moves accord with that which the ChessV program would make, right?
I notice that your documentation accompanying the ChessV 0.9 program is a Microsoft Word file (*.doc). If you, as an author, prefer an Adobe Acrobat file (*.pdf) which preserves the exact graphic representation of the document as you saw it and wrote it (without any possible font substitutions), then I would be glad to send you my Adobe Acrobat 4.0 (Standard) Full on 1 CD which I have recently replaced with Adobe Acrobat 6.0 Standard Full. Most readers (myself included) prefer *.pdf files because they open faster and are very flexible upon display. I think it is probably compatible with whatever version of Microsoft Windows NT you are using. If you issue a mailing address for you to me privately via my E-mail address, then I can send it to you immediately USPS. Rest assured, it is authentic software, still in perfect condition.
Carlos carlos: Hmmm... Your folder structure is appearing, but you still aren't seeing any images. What version of windows are you running? One thing that you could try, is creating a shortcut to ChessV.exe. Then edit that shortcut by right-clicking and selecting 'properties.' Then, in the text box labeled 'start in' make sure it has the proper path to ChessV.exe. Then run it with the shortcut. The idea being that you are trying to make sure that the current directory for the ChessV process is the correct one... It looks for all images (and include files, and opening books, etc) in subdirectories relative to the current directory. Failing that, more radical experimentation will be required... But we'll get it working.
Winzip has a way of destroying all of the subfolders that a .zip file has; this will break ChessV. The solution is simple: Don't use Winzip. WinXP's .zip extractor is simpler, better, and cheaper.
- Sam
Yes when I unzipped it, the same thing happened to me, all the image files were being replaced, then nothing came up when I launched the program. Here is what to do to fix it. 1. Double click the chessV.zip file. 2. If using Winzip, you have to hit the 'extract' button. 3. This brings up a window asking you where you want the files to go. Make sure you check the 'Use folder names' box on the bottom right! It seems to me this shouldn't even be an option it should always do this. Anyway that will extract ChessV files into all the right places.
There should be a subdirectory called 'images' and then subdirectories under that for the different piece sets. Ok, I checked that and that's right. the images are in subds under images, they're not out in the main directory. maybe i still don't get it. is there something else that i can try and fix?
Excellent! I've enjoyed playing this; that it plays opening pawn moves alone puts it ahead of Zillions. The only part I don't like is that it keeps beating me. Great to see this out. Thanks. Joe ps: love the shatranj section!
Thanks, Sam. ChessV, thankfully, is not dead. It had just been so long since the last release, that I wanted to take the time to make sure that the next release was a major step forward. Yeah, the 0.8x versions had a nasty bug that resulted is the occasional really bad move. That has been fixed, along with a dozen or so other miscellaneous bugs. In addition to supporting the rules for Schoolbook, if you look in the openings directory, you will see a small opening book. Although it only has a few lines of play in it, each move was calculated extremely deeply using several very powerful computers I have at work. A few days worth of CPU time went into it, although, that being said, it is just a start ... (In addition to Schoolbook, a similar effort has gone into making opening books for other 10x8 variants, primarily Grotesque, Ladorean, and Univers.) A note about opening books: The opening books are just text files, and while the format should be pretty self-explanatory, it occurs to me that there is one thing that hasn't been documented and is worth noting. Some moves in the opening books are preceeded with a question-mark. The question-mark denotes an inferior move, and the computer will not make that move. The point of including it is so that if the human makes that move, the computer will know the correct response. Regarding porting to other operating systems: I am very interested in seeing ChessV ported to other platforms, primarily Linux. This has always interested me, but I have very little knowledge about other platforms. Still, I made a few design decisions specifically for the purpose of making such a port easier. For one thing, I did not use Microsoft Foundation Classes, or any other Windows-centric class library. ChessV uses only standard Win32 calls, and I called as few different functions as possible. Sound, animation, and other bells-and-wistles were deliberately left out to make the code more portable. Also, all calls to Windows functions are preceeded with :: (which is unnecessary because these functions are global anyway, but I did it so that if you someone searches for ' ::' it will turn up all calls to Windows functions in one shot.) Finally, I wrote some classes to be a thin wrapper encapsulating some of the Windows graphics objects, like pens and brushes, so that the code would only need to be modified in one place, but I must admit that I didn't do nearly as much of this as I would like. So, yes, I would be happy for any help you could provide to make ChessV more portable. I do not know much (if anything) about MingW32, though... Does it only allow one to port console applications, or does it emulate some of the GUI functions as well? Thanks again for the positive feedback! Greg
If you're interested, I can help by having a command-line version that can compile uisng the standard Gnu/UNIX toolchain--it would be nice to compile this program on something besides Windows + MSVC. I think that would encourage more developers (I'm a Linux developer who makes Windows ports with MingW32).
Again, thanks for the great work Greg. Good to see you back--I missed you!
- Sam
Version 0.9 Released
For those who don't know, ChessV is a freeware, open-source program for playing Chess variants. It has been over a year since the last release, and this is a major upgrade. This version has support for over 50 variants, and allows users to add in their own variants! Of course, it also fixes numerous bugs.
New games: Support added for Great Shatranj, Odin's Rune Chess, Chess 480, Cagilostro's Chess, Embassy Chess, Emperor's Game, Janus Kamil Chess, Ladorean Chess, Univers Chess, Schoolbook Chess, Modern Kamil, Roman Chess, Royal Court, and Shatranj Kamil.
New features: It is now possible to design your own variants (within limits.) This ability is different that that of Zillions, however, in that you don't program an entire game from scratch. Rather, you derive your game from one of the built-in games, and specify only how it differs. This makes it fairly easy to add support for new games, but it is limited. It is not anywhere near as flexible as Zillions. On the upside, however, ChessV will play any game that it allows you to make with a very high level of skill. See the file extensability.doc for info on how to add new variants. Other new features include the ability to use textures for squares instead of only solid colors. Several marble textures are included.
Download: Download this program from the project's home on sourceforge.net here. You only need to download the main file (ChessV_0_9.zip), not the source code unless it interests you. There is no setup program - just unzip and run. If you have an old version of ChessV already, just unzip this on top of the existing versions.
Please report any bugs you encounter. You may post them here, or email them to me (you can get my e-mail from the chessvariants.org member's index.)
Version 0.81 Released
An important update, this has several bug-fixes and performance enhancements to correct problems reported in version 0.8. This version should be significantly smarter about how it plays.
This version also adds support for Fergus Duniho's Eurasian Chess. NOTE: this is by far the most computing-intensive game added yet, not just because of the number of pieces, but more importantly because of the cannon-movers. With cannon-movers on the board, it is much harder to determine which captures are winning captures, and thus many, many more moves must be examined in the quiescent-search. Any less than 10-15 seconds per move and it is not likely to play very well.
I've already got a handful of those 256 meg thumb-drives, too, and I love the direction technology is taking them. Flashram is the wave of the future. Unfortunately, I have had more than my share of bad luck with Intel systems, and the rate at which my last few PC compatibles crashed makes me view the benchmarks and forecasts they've come up with, with suspicion. (It is rumored that thumbdrives rarely last more than a year from the time you first buy them, and put them to use, hot swaps and all.) Nobody is forcing you to boot up an ST emulator just to try out my code, just bear in mind that not everybody has a computer that you consider state of the art. As for generating a mini-max tree, how deep should you go before you start pruning? I know you recommend a 9 ply search (just under 5 full moves), and I have nothing against that. In an endgame consisting of four or five pieces, it sounds perfectly reasonable to do a 30 or 40 ply search - the space required is far less than at start, you just have to look into the possibility that you are revisiting a board that you've already generated somewhere higher up (earlier) in the tree - maybe with the tempos swapped - but you can save a ton of space that way. Say, from the sample Ultima games here at www.chessvariants.org, I wasn't entirely sure why the players were holding back and playing 1. Pg2-g4 or 1. Pf2-f4 (recounting from memory, I may be wrong, they were only seizing a couple of squares of territory) instead of pushing the pawns up to the limit possible, like 1. Pf2-f6 or 1. Pg2-g6 and let them bite the dust if that's what it's cracked up to be. As principles go, is it really that dangerous to hog space - even throw pawns away - for the sake of reaching a game that is that much more open? In any case, whether the Leaper is capable of single or multi-leaps, losing a Leaper is going to be the most momentous occasion in the game.
I just read through some of the comments on here about ChessV and Gothic Chess. Some were not 100% on the mark. First of all, ChessV was given a one-year Gothic Chess license from November 2004 to November 2005. ChessV played in the first, bi-annual Gothic Chess Computer World Championship. You can read more about this on chessville here: http://www.chessville.com/GothicChess/ComputerWorldChampionships.htm There was also some discussion about the graphic which was displayed by the ChessV engine. Greg is confusing two issues. I did contact him about something regarding Gothic Chess, but it it was not the item he mentioned. After his license expires and is not renewed, the subsequent versions of ChessV could not contain a Gothic Chess setup, and that is all. I also contacted somebody about an image shown on Wikkepedia under Gothic Chess. It was ORIGINALLY one I had drawn and is widely in use. The one that replaced it was a ChessV board's image of Gothic Chess. Again, I believe the sands of time have led to Greg confusing issues. I never said what was represented by him or others.
The setting of I-Depth 9 is just the maximum depth. The way it works is that it searches all moves to a depth of 1, and then, if there's time, to a depth of 2, and, if time, to a depth of 3, etc... So it never hurts to have the Max I-Depth set high. The only reason that setting is there is so that, if you want to do a fixed-depth search, you can set the I-Depth to the depth you want, and set the time limit to something really high. And, strangely enough, searching to a depth of 1, then 2, 3, ..., n is actually faster than going straight to depth n. This technique is called 'Iterative Deepening', and is used by all chess programs. Giving pincer pawns a bonus for being a knights-move away from others might be a good idea. I might give it a try sometime and see how it works.
In terms of Ultima/Baroque, any group of 3 or more same-colored pawns situated, together, a single knight's move away from each other, make for a much stronger structure than those that are not. This may mean more to us in an endgame than from the typical starting position, so it should be examined after the variables for fluidity/mobility are arrived at. Although a pawn or pincher can strike against enemies bounded by non-enemy pieces, the relative slowness of a group of pawns (compared to a group of noble piece) means that 'pawn structure' - as such - can be a fruitful thing to look for. In terms of endgame analysis, it may take 1 king + 5 pawns to force checkmate - I'm not sure - but I don't think mating is possible with just 3. The peculiar thing about this, is how the knight's move of traditional chess finds a place for evaluating pawn structures in Ultima/Baroque. It relates to the desirability of distributing same-colored pawns equally across a finite area of rectangularly gridded space.
When Chess V evaluates positions that are materially equal, how does it choose between them? That's more than just a rhetorical question. We know there are bound to be thousands of positions that are strategically and tactically a dead draw. Whatever distinctions can be found, they must be very subtle. For instance, at the start of the game, what makes 1. Pa2-a6 any better than 1. Pa2-a3? Does Chess V employ at some point a random function to choose between the moves available to it? If Chess V plays against itself, how does it perform if the only thing different is the random seed? Does C as a programming language allow use of different pseudo-random number generators, or are you stuck with the one that comes with your C package? Would two different versions of Chess V perform differently if the only thing distinguishing them were the random seeds inside the C source code? As for numerical values representing the strengths of the pieces, were the figures arrived at through empirical analysis, or by guessing? Empirical analysis implies that different versions of Chess V performed differently when pitted against itself, and the data produced was relied on for newer versions.
Yes, it is a great software, I have tried it. To Gregory Topov: Chess V runs well in Windows XP, but it has some troubles under other Windows versions. The author (named Greg too) gives us this adress to download the program: http://sourceforge.net/projects/chessv
Threaded MS Windows operating systems are the problem, not your program. Whereas NT versions of MS Windows have been the default offerring for consumers since 2000, I think you are being overly-conscientious in this case. If someone complains about ChessV's installation or performance under MS Win 95, for instance, just tell them to get a decent, modern operating system.
Excellent program! Please do not keep it a secret. Share it with the world by making it available thru more than one hot spot. I certainly am not criticizing 'Source Forge' but the most popular download spot in the world for games by far is: WinSite http://www.winsite.com/ Establish an account and upload to the 'Fun & Games' category, 'Chess Games' sub-category. I predict that a free, fully-functional, incisive AI program (with a good selection of games) like yours will soon draw thousands of downloads. Rest assured, this is NOT spam- just a well-intentioned recommendation.
There is no good reason for limiting the colors; I just haven't gotten around to adding the color-picker dialog yet. There are several reasons why it would be problematic to make global piece & color settings. For one thing, not all piece sets are supported by all games. Right now only the Standard set supports all, but the Abstract set is pretty close. Also, although right now all boards are 2-colors, the boards for some games will be 3 or 4 colors. Finally, I wanted to be able to provide default settings for games, like Chaturanga, for example, always appears for the first time on an uncheckered board with the Old World pieces. If you could provide global settings, then it wouldn't appear right by default - it would have checkered squares. Thanks for the bug report! Someone had reported this on sourceforge, but didn't provide me with an example, so I couldn't reproduce it. Now it should be easy to track down ...
Yes, now I noticed that color settings are stored per specific game type. I think, it would be nice to have possibility to apply the color changes to all game types (may be with an option to apply only to one game type as now). By the way are there any reason to restrict the number of available colors to 48? With more available colors it is easier to find a nicer color scheme. I also found a bug in Bird's Chess. ChessV castled out-of-check in position after: d2d4 f7f6 i1h3 g7g5 g2g3 g5g4 h3i1 h8g7 f2f3 i8h6 f3g4 h6g4 h1f3 e8g6 i1h3 d7d6 e2e4 c8d7 e1e2 e7e5 d4d5 f6f5 b1c3 h7h6 h3f2 g8j5 f3g2 j5i6 f2g4 i6g4 g2f3 g4f6 c1d2 g6f7 d1f2 j8g8 f1c1 f5e4 f3e4 j7j5 h2h3 b8a6 g1j4 a6c5 e4g2 i7i5 j4i3 f6i3 f2f7 d8f7 j2i3 g7f6 j1j5 g8g3 d1f1 c7c6 j5j8 ChessV played 0-0-0 here, despite King being in check by rook on j8.
Good job! I used ChessV to produce nice pictures for Wikipedia article on Capablanca Chess, see http://en.wikipedia.org/wiki/Capablanca_Chess. Wish List: * Would be nice if settings made in 'Options / Board and Pieces...' would be kept between program starts. * I use 800x600 screen resolution and games with 10x10 board, e.g. Grand Chess doesn't fit on my screen. Would be nice if the board is scaled automatically when window size changes, like in Arena. * Pieces are flashing when you make a move. This can be fixed e.g. by using double-buffering technique. * Can we have Three Checks Chess in ChessV (see http://en.wikipedia.org/wiki/Three_Checks_Chess)? Zillions plays it quite pure. Thank you for development of this nice program!
Yes, I see the bug you mention. The move !c2 is a suicide move (immobilized piece on c2 kills itself.) Apparently, it is not reading the sucide moves back in correctly. I will post a fix shortly. About your question, what changes I made ... I fixed several bugs ... Not just the check-testing bug, which allowed the King to get captured, but I also found a couple of others where things were not being evaluated correctly. The program now functions (hopefully) exactly acording to the evaluation function previously described. In other words, the bad play you experienced was entirely caused by bugs. Thank you for testing, and reporting these problems! Greg
Greg, I tried to load the 5th. test ULTIMA game, saved file, and I found an illegal move saved (the saved game couldn´t be loaded, by this reason), number 9, it shows !c2, and the same move is saved as the last move of the game. You can see it in the list of moves I sent as a comment on the game, or I can send you the saved file, as you prefer. I don´t remeber what move I made as 9th., but it was surely legal, and I can´t understand what !c2 means. As for the program, I finished the 6th. test game yesterday night, and I Chess V won. It is now strong enough, I think, I used the 'take-back' facility a lot of times, but the program beated me playing with great force. Would you tell me what changes have you made in the program?. Excellent improvements!
With the help of my son and a friend, we finished the fever caused by the fifth test game with a victory over Chess V after 6 titanic hours of a very disputed game to complete near 85 moves (we played White, and Chess V used 10 sec. per move in Pentium IV, 2.1 GHz.). The program played really well, it attacked and defended strongly, but this game is very instructive, it puts on the carpet the way of taking positional advantages in this kind of closed positions, and shows why this is a game which sometimes favours defense over attack. See and enjoy it!: Ultima f2f4 g7g5 e1g3 a7a4 h2h5 b7b5 g3g4 c7c4 g1h2 h8c3 e2e3 d7a7 g4g3 d8d4 e3f3 f7f6 h2g1 d4e4 !c2 e4g6 c1c2 g6f7 d1c1 h7h3 g1h2 g8h8 g3h4 c8g4 h4h7 f8h6 h2g3 g4h3 g3h2 h6h4 f4e4 f7d5 h1g1 d5b7 g1e3 h3h1 e3d4 b8g3 f1d1 g3e3 d4b4 h4d4 a2a3 e8d8 b4b3 h1h4 g2g1 h8g7 b2a2 b7d5 c2c3 e3e6 a1b2 d5g2 c3g3 g7g8 b1c2 d4d6 g3g7 g8g3 d1f1 e6e5 a2a1 a8g2 c2h2 h4h1 b2h2 a4h4 f1h3 e5c3 c1d1 d6d5 d1e1 f6h6 e1f1 d8c8 f1g2 d5f3 g2h1 h4f4 b3d1 h6e6 d1f1 e6e4 h2g2 f4h4 h1h2 c3e5 g1h1 b5b4 h2g1 e4e2 g1f2 e5f4 h1h2 f4e4 f2g3 e2f2 g3f2 e4b1 f1d3 b1g6 g2a8 c8d8 h3e3 g6h6 e3e5 h4f4 h2h1 h6a6 f2f3 a6a5 e5g7 a5a2 f3g4 f4e4 g4h5 e7d7 h5g6 d7d6 g7f8 e4f4 g6f6 a2e6 f6g7 e6a2 g7g8 a2a3 f8f7 a3a2 a8b7 d6d7 b7c6 b4c4 g8f8 c4b4 f7e8 d8c8 c6b6 c8b8 e8d8 a2c2 f8e8 d7d5 e8d7 f4f8 d7e8 f8f3 b6b5 d5c5 b5d3 f3f4 d3b3 f4e4 a1a5 c5d5 d8b6 d5d1 e8d7 b8a8 d7c7 a7b7 a5a7 !c2 b6b7
Yes, I did an mental exercise and I think you are right about the difficulties to write the code about when the King is in Check. One possible solution is changing the objective of the game to the capture-the-King rule, as in Zillions. Chess V is a relatively good player in open positions, because the program can calculate many tactical moves, it is not easy for a human do it in a good manner in this game, due the great mobility of pieces and combinations. The program is less abile in closed positions, because it does not understand well positional concepts, in fact, it is not designed using positional evaluation functions, but I agree with Greg, the program should be smarter if the Check condition detection is well solved, because part of the responsability of the bad play in some instances is the incorrect evaluation of the King vulnerability.
Roberto: I have found a couple of bugs in the function that decides when the King is in check (the problem responsible for the Kings being captured.) I will e-mail you a new program file shortly ... There could still be additional bugs with this, though ... Check-detection in Ultima is *really* ugly! But when these problems are solved, I bet it will immediately play a much smarter game. Fergus: Ick! I have heard a similar report from a Windows 98 user. I assume you are using Windows 95/98/ME ... Which is not to say that the problem is with your OS, and not with my program; it's just that this problem is extra-tricky for me to solve... The new versions of Microsoft Developer Studio do not run on Win 95/98/ME at all, which means that I cannot use the debugger to help me track this problem. Still, I need to come up with some way to find and fix this. And, if you are running Windows 2000/XP, then my problems are even worse than I thought :)
Sorry for the delay, Roberto, I've been distracted by a couple of things ... I will have version 0.7, Ultima-enabled, posted either late this evening, or tomorrow. Of course, I'll make a post here when it's up. Thanks for your continued interest!
Thank you for your feedback, and I sincerely do appreciate it. May I ask which game you were playing? ChessV is better at some games than others. It would also help me if you could tell me which operating system you use. I seem to have problems with Windows 98/ME that I don't have with 2000/XP. Also, save-game files of any game in which you win are helpful. Thanks again! If you are having problems with bugs, please wait for a couple of new versions. I am about to stop adding new games, and concentrating on fixing all bugs. When I feel it is a stable as possible, I will release version 1.0
Thank you, Robert. Actually, there is something that you (and others) can do to help. If you beat it (as you did in Grand Chess), and if it's obvious how you did it, that information could be helpful to me. It should be possible to tweak the evaluation function to fix strategical weaknesses, provided we can identify those weaknesses. A save-game file could be helpful to me, too. Of course, I realise that often a win is achieved by staying slightly ahead throughout the game, and not by exploiting some weakness, but if you (or anyone else) does identify some specific weakness, I would like to know about it! In any event, if anyone beats ChessV in a game in which it is able to calculate to a reasonable depth (depending on time and speed of your computer), I would appreciate it if you could e-mail the save-game file to me!
This excellent program is growing fast, I have tested Grand Chess and Chess with Ultima and Rococo pieces, 10 seconds of time for the computer (Advancer Chess, Long Leaper Chess) yesterday night, and I enjoyed it a lot. I have lost my two Chess-With-Ultima games, but I won in my Grand-Chess game, in a very nice and difficult end of game. Congratulations, Gregory!, this is a great program!. I want to see how it plays Ultima, when ready, I expect soon!. For a while, it plays Chess-with-Ultima and Rococo pieces very well, at least for me, perhaps I´m not very strong playing these variants, the computer won without great effort, regardless I used the 'take-back' trick a few times, after clearly weak moves I made. This afternoon I am going to test some other new variant added. I like ChessV !.
100 comments displayed
Permalink to the exact comments currently displayed.
- Sam