Check out Symmetric Chess, our featured variant for March, 2024.


[ 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

LatestLater Reverse Order EarlierEarliest
ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
Daniel Zacharias wrote on Fri, Oct 15, 2021 11:10 PM UTC:

I think I found another problem. I've tried giving a piece the xbetza move pB, but even though it can only move by jumping, it can still capture like a bishop.

Also, I have a question about promotion rules. Is it possible to have pieces promote only when making a capture in a certain area of the board, and only if the promoting player has no pieces on the board of the type being promoted to?


Aurelian Florea wrote on Fri, Oct 8, 2021 04:01 PM UTC in reply to Greg Strong from 03:18 PM:

Unfortuneatly, I could not reproduce the bug, but I'll tell you if I find it again!


📝Greg Strong wrote on Fri, Oct 8, 2021 03:18 PM UTC in reply to Aurelian Florea from 02:59 PM:

It seems we have email problems. I think you are getting most of my emails, but when I include a hyperlink it seems you don't receive it.

Here is a link to a recent set of source code. You will probably need to cut & paste this link - don't click on it - or it probably won't open since my site is not https:

http://chessv.org/downloads/ChessV2_2021-08-29.zip

Open with Visual Studio 2019. The free Community Edition is fine.

Regarding square colors, I need more information. There must be an unusual circumstance since the code that handles that hasn't changed in a long time and no one has ever reported a problem with that.


Aurelian Florea wrote on Fri, Oct 8, 2021 02:59 PM UTC in reply to Greg Strong from 01:02 PM:

Greg, Actually a while ago I have sent an email. But I had solved the problem on my own. But there is still the issue of a bug I had found. When trying to change the appearance of the "white" squares, it does not work. Can you send me again the source files you currently are confident they work. I want to try some things with the joker. I'm not sure if my email is fine. It probably is and I had missed the previous mail, when you did just that.


📝Greg Strong wrote on Fri, Oct 8, 2021 01:02 PM UTC in reply to Aurelian Florea from 06:14 AM:

Greg, could you indulge me over this weekend?

With what?


Aurelian Florea wrote on Fri, Oct 8, 2021 06:14 AM UTC in reply to Greg Strong from Thu Oct 7 01:15 PM:

Greg, could you indulge me over this weekend?


📝Greg Strong wrote on Thu, Oct 7, 2021 01:15 PM UTC in reply to Robert Mate from Sat Sep 25 04:52 AM:

Not sure if it's a bug, but for example, fairy-max should be able to play Los Alamos but can't. I've seen keywords "losalamos" and "los-alamos". Perhaps better access to the keywords?

Thanks for pointing this out.  For now, you can get it to work by editing the Los Alamos Chess include file.  Open it with a text editor and add the following line in the first section, where Invented and InventedBy are defined:

XBoardName = "los-alamos";


📝Greg Strong wrote on Wed, Oct 6, 2021 08:48 PM UTC in reply to Daniel Zacharias from 06:40 PM:

It looks like this should not be over the limit. Can you send me the include file so I can give it a try?


Daniel Zacharias wrote on Wed, Oct 6, 2021 06:40 PM UTC in reply to Greg Strong from 03:31 PM:

I am, unfortunately. I have 144 squares and 21 piece types. What is the limit?


📝Greg Strong wrote on Wed, Oct 6, 2021 03:31 PM UTC in reply to Daniel Zacharias from Tue Oct 5 08:52 PM:

I'm trying to test a game with ChessV, and I get an error saying "Not enough Zobrist keys" when I try to start it. What does it mean?

You must be using a very large number of piece types on a large board.  There is an upper limit on #Players * #Piece Types * #Squares, although it can be increased if I add more random numbers to the list of keys.  How large is what you are trying to do?


Aurelian Florea wrote on Wed, Oct 6, 2021 11:47 AM UTC:

Are you here, Greg?


Daniel Zacharias wrote on Tue, Oct 5, 2021 08:52 PM UTC:

I'm trying to test a game with ChessV, and I get an error saying "Not enough Zobrist keys" when I try to start it. What does it mean?


Aurelian Florea wrote on Mon, Sep 27, 2021 03:53 AM UTC:

Hello Greg, I have written you a few mails a while ago. I'm not sure if you got them or if you had answered. Please say something about this.


Robert Mate wrote on Sat, Sep 25, 2021 04:52 AM UTC in reply to Robert Mate from Tue Sep 21 01:56 AM:

Not sure if it's a bug, but for example, fairy-max should be able to play Los Alamos but can't. I've seen keywords "losalamos" and "los-alamos". Perhaps better access to the keywords?


Robert Mate wrote on Tue, Sep 21, 2021 01:56 AM UTC in reply to Greg Strong from Sat Aug 28 04:50 PM:

For the future, have you considered implementing NNUE? https://en.wikipedia.org/wiki/Efficiently_updatable_neural_network

It would be a solution for piece drop games, and you'd be the only one doing this with large variants in mind.


📝Greg Strong wrote on Sat, Aug 28, 2021 04:50 PM UTC in reply to Robert Mate from 06:41 AM:

Pocket Knight Crash: For the first move, pick up the pocket knight and then put in back in the same place.

Good catch!  I fixed it.  Thanks!


Robert Mate wrote on Sat, Aug 28, 2021 06:41 AM UTC in reply to Greg Strong from Tue Aug 24 10:51 PM:

Pocket Knight Crash: For the first move, pick up the pocket knight and then put in back in the same place.


📝Greg Strong wrote on Tue, Aug 24, 2021 10:51 PM UTC in reply to B.E. Dolata from Sun Aug 22 04:57 AM:

The Rhino in Grand Betza Chess appears to display the incorrect moves when one right clicks to get to properties. It shows the moves of a Wazir for me.

That's right.  The Rhino's move is not supported by the internal move generator.  It is implemented with custom code so the diagram display can't show it.  I need to add an override that suppresses the diagram and instead displays a description of the move.


B.E. Dolata wrote on Sun, Aug 22, 2021 04:57 AM UTC:

The Rhino in Grand Betza Chess appears to display the incorrect moves when one right clicks to get to properties. It shows the moves of a Wazir for me.


📝Greg Strong wrote on Sat, Aug 21, 2021 09:03 PM UTC in reply to B.E. Dolata from Fri Aug 20 06:13 PM:

Correct. Thank you. Good catch!


B.E. Dolata wrote on Fri, Aug 20, 2021 06:13 PM UTC:

Is there a typo in the Duke of Rutlands Chess include file in RC2?

Should 

AddPieceType( Chancellor, "Concubine", "C", 100, 1050 );

be

AddPieceType( Chancellor, "Concubine", "C", 1000, 1050 ); 

The CPU seemed willing to trade the Concubine for a Bishop when I played. 


📝Greg Strong wrote on Fri, Aug 6, 2021 01:33 AM UTC in reply to Robert Mate from Thu Aug 5 01:41 PM:

Microchess is playable between humans, but crashes the ChessV engine. Not sure why.

This is interesting.  It is happening because the number of pieces is so small.  Quick fix - the problem is with the default (sudden death) time control.  Use a different time control and you should be fine.

More detailed explaination ...  At the start of each move, the computer decides how much time it would like to commit to the current move.  You could use some fixed percentage of the remaining time always, and you will use less and less for each concurrent move without running out.  But that isn't very good.  It would be better if we had some idea of how many moves the game likely to go on before being "decided" (doesn't need to be actually over if you are so far ahead you can continue to win without requiring much thought.)  This is already an interesting problem in Chess.  It's an even more difficult problem for a variant engine such as ChessV...  I make the basic assumption that games with more pieces are likely to last longer...

So, here's my current formula.  Using four variables: Number of player 1's pieces at the start of the game (P1s), number of player 2's pieces at the start of the game (P2s), number of player 1's peices still remaining (P1r), and number of player 2's pieces still remaining (P2r).  With sudden death time control, the targettime allocated for a move is:

timeRemaining / min( P1s + P2s - 10, P1r + P2r + 6 )

This crashes Microchess since it starts with 10 pieces so it tries to allocate 0% and divides by zero.  Obviously this formula was designed for larger games.  And, in general, ChessV was designed to play the common variants which are typically 8x8 or larger.  I'm sure lots of things are not optimized for tiny variants.  The obvious fix here is to always allocate at least a minimum amount (maybe 1%).  Probably, you would never want to allocate less than 1% of remaining time...  But how many moves does an average game of Microchess last?  Maybe for some games the assumption that length of game is related to number of pieces is not valid.  Perhaps the lower bound should be a configurable game variable with a default of 1%.

I just noticed a bug. If all I do is start a game, make one move, and then take back the move while the computer is thinking.. it crashes. This happens in 2.2 and the new update.

Yup.  Thank you for the easily reproducable bug report.  I will fix this.

 


Robert Mate wrote on Thu, Aug 5, 2021 04:22 PM UTC in reply to Robert Mate from 01:41 PM:

I just noticed a bug. If all I do is start a game, make one move, and then take back the move while the computer is thinking.. it crashes. This happens in 2.2 and the new update.


Robert Mate wrote on Thu, Aug 5, 2021 01:41 PM UTC in reply to Robert Mate from 12:28 PM:

Silverman and Microchess cvc files. Microchess is playable between humans, but crashes the ChessV engine. Not sure why.

https://www.dropbox.com/sh/8t14o11x6lq5294/AACVwG8aPAtAswr-LUd0EqZDa?dl=0

EDIT: I'm slowly adding small chess variants here.


📝Greg Strong wrote on Sun, Jun 27, 2021 11:57 PM UTC in reply to Daniel Zacharias from 11:29 PM:

If you use the 'y' operator, it can only handle one step before (you can't have an 'a' before the 'y'.) It only interprets that which the internal move generator can handle. In this case, the internal move generator could handle it because the 'mp' really just joins the two steps into a single leap, but it's not smart enough to figure that out.

But, yes, this piece can be done, just not with XBetza.  Actually, I've already written the include file for Expanded Chess, which will be included in the next release.  I will email it to you now.  But for reference, here's how you do the Osprey:

AddPieceType( "Osprey", "O", 750, 750, "Bird" );
Osprey.Step( <2, 0> ).SlideAfterStep( <1, 1> );
Osprey.Step( <2, 0> ).SlideAfterStep( <1, -1> ).MinSteps = 2;
Osprey.Step( <-2, 0> ).SlideAfterStep( <-1, 1> );
Osprey.Step( <-2, 0> ).SlideAfterStep( <-1, -1> ).MinSteps = 2;
Osprey.Step( <0, 2> ).SlideAfterStep( <1, 1> );
Osprey.Step( <0, 2> ).SlideAfterStep( <-1, 1> ).MinSteps = 2;
Osprey.Step( <0, -2> ).SlideAfterStep( <1, -1> );
Osprey.Step( <0, -2> ).SlideAfterStep( <-1, -1> ).MinSteps = 2;

In case you're wondering about the MinSteps = 2 on every other move path, that is to prevent the moves for the (0, 2) leaps from being generated twice.


25 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.