The Chess Variant Pages
Custom Search




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

Comments/Ratings for a Single Item

Later Reverse Order EarlierEarliest
This item is a computer program
It belongs to categories: Orthodox chess, 
It was last modified on: 2020-01-23
 Author: Greg  Strong. ChessVThis item is a computer program
It belongs to categories: Orthodox chess, 
It was last modified on: 2020-01-23
 Author: Greg  Strong.. Missing description[All Comments] [Add Comment or Rating]
Greg Strong wrote on 2021-05-06 UTC

Hi Greg, Thanks for the updated version. I received an exception while playing Tripunch chess

Thanks again for finding this.  I've found the issue.  The next version will resolve this problem in Tripunch and be more resistant to this issue in general.  But, in the meantime, you can fix this by going into the ChessV include directory and editing the Tripunch Chess.cvc file in a text editor. Inside the SetGameVariables function, add the following line:

DeduplicateMoves = true;

Then restart ChessV and you should be good.


Aurelian Florea wrote on 2021-05-06 UTC

Hello Greg, Any hope for the latest ChessV version this weekend? I hope to share it with my friends.


Greg Strong wrote on 2021-04-30 UTC

Thank you for the detailed bug report. This should be what I need to reproduce. I'm travelling at the moment, but will take a look this weekend. Thanks!


B.E. Dolata wrote on 2021-04-30 UTC

Hi Greg, Thanks for the updated version. I received an exception while playing Tripunch chess

ChessV.Exceptions.ChessVException: An item with the same key has already been added. ---> System.ArgumentException: An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at ChessV.Game.SearchRoot(Int32 alpha, Int32 beta, Int32 depth, List`1 movesToExclude)
   at ChessV.Game.Think(TimeControl timeControl, Int32 multiPV)
   --- End of inner exception stack trace ---
   at ChessV.Game.Think(TimeControl timeControl, Int32 multiPV)
   at ChessV.InternalEngine.startThinking()
   at ChessV.Match.OnMoveMade(Player sender, List`1 moves)
   at ChessV.MoveMadeEventHandler.Invoke(Player sender, List`1 moves)
   at ChessV.Player.emitMove(List`1 moves)
   at ChessV.GUI.BoardControl.tryMoveToLocation(Location location)
   at ChessV.GUI.BoardControl.BoardControl_MouseUp(Object sender, MouseEventArgs e)
   at System.Windows.Forms.Control.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.UserControl.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

The final board state was

r1h1kh1r/ppp1pppp/3p4/8/4n1c1/3PPN2/PPP1K1PP/RNH5 b ha - 2 10

I had just moved my Nightrider from g1 to f3.


Christine Bagley-Jones wrote on 2021-04-26 UTC

Yes, I clicked on that link and it downloaded ChessV2.3RC1.zip.

Sorry, been away for a bit.


Greg Strong wrote on 2021-04-23 UTC

I just wanted to ask, because it would be very difficult, if this version implements all the endgame conditions for apothecary. I doubt it because the AI is hard to reprogram for this. Have you given them any thoughts though?

If you mean the way a game can have additional outcomes, such as 3/4 - 1/4, that is not something that I know how to do.  And, even if there is a way, I would not alter the core AI to do it.

I really like the piece description that appears when right clicking a piece.

Thank you.  I'm rather proud of this.  ChessV definitely makes the most sophisticated movement diagrams that I have seen, offering good support for showing multi-path moves and bent rider moves.


Aurelian Florea wrote on 2021-04-23 UTC

I really like the piece description that appears when right clicking a piece.


Aurelian Florea wrote on 2021-04-22 UTC

I just wanted to ask, because it would be very difficult, if this version implements all the endgame conditions for apothecary. I doubt it because the AI is hard to reprogram for this. Have you given them any thoughts though?


Aurelian Florea wrote on 2021-04-15 UTC

Impressive work, Greg!

I really appreciate implementing my 2 games: Apothecary chess classic and Apothecary chess modern as they were quite a challenge. I can hardly wait for the source code once you post everything from the official release.


Greg Strong wrote on 2021-04-15 UTC

In Chess with Jokers, the queen piece is a joker. I used this for developing and testing the joker piece. It seems I never updated the graphic used. I'll fix that now.

Thanks, Duplex Chess is a very good game that I need to get posted. It is my attempt to make a double-move variant that isn't too overwhelming. No piece moves farther than two spaces. A few notes: the same piece cannot be moved on both moves - except for the king. He can make two moves, including two captures, making him the most dangerous piece. But, if you lose him, the game is over. Also, there are three ways to win: capture your opponent's king, capture all your opponent's pawns, or move your king to the last rank.


Aurelian Florea wrote on 2021-04-15 UTC

Duplex chess is a clerver game!


Aurelian Florea wrote on 2021-04-15 UTC

Greg, What is chess with jokers supposed to be? To me it looks like regular chess!


Carlos Cetina wrote on 2021-04-14 UTC

Okay, Greg, you are welcome. The new link does work. I see that you have added 12 variants including 2 invented by Vitya Makov: Chess 9x9 and Cardinal Chess. Those interested in seeing how ChessV handles these 2 variants take a look at the following YouTube links:

Chess 9x9

Cardinal Chess

Congratulations and thank you for such a commendable work you do!


Greg Strong wrote on 2021-04-12 UTC

Thanks, Carlos. That is helpful.

It seems you are correct. Chrome will not download a file that is not secure if the link is on a page that is secure. So it was possible to download a link from chessv.org, since that site is not https, but linking it from here does not work because this page is https. Funny, even Chromium would download it, while Chrome would not.

Anyway, I have posted it here for the time being:

/programs.dir/ChessV2.3RC1.zip

Carlos Cetina wrote on 2021-04-11 UTC

Hi Greg,

I can't download ChessV2.3 RC1.zip. The link does not work. Chrome seems to block it. I wonder if it has nothing to do with the fact that this browser wants URLs to be safe and I see that the protocol you use is http and not htpps.


Greg Strong wrote on 2021-04-10 UTC

Hi Christine,

Thanks for checking it out. I think the must be an error your end. It downloads ok for me, as does the Grand Shatranj Zillions link which you are also having trouble with. When you click on this link, what happens?

And, yes, 2.3 is not lised on the ChessV page because this is a pre-release. I'm just hoping to get a few members of the community to give it a test drive before I build the install package (which is a pain in the butt.)


Christine Bagley-Jones wrote on 2021-04-10 UTC

I can't get that download link to work.

I mean the link to download ChessV 2.3 verison

Also, when i go to your ChessV.org site, on mainpage, I just see the 2.2 version.


Greg Strong wrote on 2021-04-10 UTC

Game Reference Documentation

ChessV is designed to allow easy creation of new games through the customization of existing games. Unfortunately, documentation has been sorely lacking. I have now posted reference pages for the predefined games:

ChessV Game Reference

These games are organized into a useful hierarchy with many extension points. Hopefully, browsing through these pages will provide some insight into the inner workings of ChessV. Please feel free to post any questions you might have!


Aurelian Florea wrote on 2021-04-09 UTC

Ok, Thanks!


Greg Strong wrote on 2021-04-09 UTC

In apothecary chess classic the knight does not get it's extra moves (it is a NmZ)

Thanks for pointing this out.  It will be corrected in the official release.  In the meantime, you can play with an include file like the following:

Game 'Apothecary Chess Classic (fixed)' : 'Apothecary Chess Classic'
{
    AddPieceTypes
    {
        Knight.XBetza = "NmZ";
        Knight.MidgameValue = 425;
        Knight.EndgameValue = 425;
    }
}


Aurelian Florea wrote on 2021-04-09 UTC

In apothecary chess classic the knight does not get it's extra moves (it is a NmZ).


Aurelian Florea wrote on 2021-04-09 UTC

I see only apothecary chess Modern. Probably it is a superficial problem.

Later Edit: Sorry for that My bad!


Greg Strong wrote on 2021-04-08 UTC

ChessV 2.3 Release Candidate 1

It's been over a year, so time for a new release! This is a pre-release of upcoming version 2.3. It should be fully functional but I am posting a Release Candidate first to give the community a chance to give it a test drive. Since it is not an official release, there is no installation program. Just unzip to a new directory and run ChessV.exe. The official release will contain an install program.

This release has lots of improvements:

  • Anti-aliased graphics for both alfaerie and abstract sets where available – some less common pieces will still result in the game reverting back to bitmaps.
  • Support for bent riders. Grant Acedrex, for example, is now supported.
  • Support for imitators. The Apothecary Chesses are now supported.
  • Continued improvement to the capabilities of the scripting language. New pieces can now be defined with XBetza in most cases. An XBetza expression tester is provided under the Tools menu.
  • Many more games have been added. We are up to 138 variants supported, with 44 of those defined via the scripting language.
  • Many bug fixes and improvements to playing strength

Download here:
/programs.dir/ChessV2.3 RC1.zip

Please let me know if you run into any issues. Enjoy!


Greg Strong wrote on 2021-01-24 UTC

If you're deriving from one of the board-size specific games then there are shortcuts to enable these easily. But the options vary depending on the board size, so for unusual sizes it is a little more work.

You can look at the include file for Duke of Rutlands Chess for an example but here are the relevant bits. For castling, conventional chess would be:

            AddCastlingRule();
            CastlingMove( 0, "e1", "g1", "h1", "f1", `K` );
            CastlingMove( 0, "e1", "c1", "a1", "d1", `Q` );
            CastlingMove( 1, "e8", "g8", "h8", "f8", `k` );
            CastlingMove( 1, "e8", "c8", "a8", "d8", `q` );

The arguments to CastlingMove are: player (0 or 1); the square the king starts on; the square the king ends on; the square the other piece starts on; the square the other piece ends on; and a single character specifying what letter should be placed in the FEN to represent the availability of this move.

For the two-space pawn move, in chess it would be:

    Pawn.AddMoveCapability( MoveCapability( <1, 0>, 2, 2, false, false ) ).Condition = { location: location.Rank == 1 };

The last bit, { location: location.Rank == 1 } is a lambda function taking a location and returning true or false specifying where on the board this new move should be available.  Ranks are counted starting at zero, so Rank == 1 means whenever on the second rank.  The arguments sent to the constructor of MoveCapability are: the direction of the move, <1, 0> means rank offset of 1 and file offset of zero; minimum number of steps; maximum number of steps; is capture allowed; and is capture required.  We did not set the minimum number of steps to 1 because the pawn already has a single-space move and we don't want to generate it twice.

Finally, if you want en passant, just set EnPassant = true in your SetGameVariables function.


Robert Mate wrote on 2021-01-24 UTC

I would like to script some small chess variants. I started by looking at the Los Alamos chess, but can't figure out how to enable castling or allow an initial double pawn move.


25 comments displayed

Later Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.