Check out Glinski's Hexagonal Chess, our featured variant for May, 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]
Aurelian Florea wrote on Sun, Oct 23, 2022 03:49 PM UTC in reply to Greg Strong from 03:41 PM:

Thanks, Greg!


📝Greg Strong wrote on Sun, Oct 23, 2022 03:41 PM UTC in reply to Aurelian Florea from 09:28 AM:

How do I delete a color scheme?

I guess I should add an option for that.  Presently, you'd need to remove it from the registry...   Run Registry Editor, go to  Computer > HKEY_CURRENT_USER > Software > ChessV > Color Schemes.  Then delete the key for the scheme you want to delete.

Is there a possibility to have a time handicap against the computer?

Probably.  I'm dreading doing any modifications to that dialog box - it was tricky getting it to look and work correctly.  Maybe I'll add the ability to change the clocks from within the came.

Is there a possibility of defining a color scheme with the script editor?

Sort of.  You can set custom colors for a game but it won't be saved as a named scheme that you can apply to other games unless you save it.  The include file for Palace Ninja Guards sets the square and border colors.  You can also set Player1Color and Player2Color in the same way.  NOTE: This is only setting the defaults for a game.  Any game you have already played already has your color choices saved in the registry so this won't change anything.  But you can delete the registry key for the game if you want and then it will reset to the defaults specified in your include file next time you open the game.  Computer > HKEY_CURRENT_USER > Software > ChessV > Games.

 


Aurelian Florea wrote on Sun, Oct 23, 2022 09:28 AM UTC:

@ Greg,

  1. Is there a possibility to have a time handicap against the computer?
  2. Is there a possibility of defining a color scheme with the script editor?

Aurelian Florea wrote on Sun, Oct 23, 2022 08:55 AM UTC in reply to Greg Strong from Fri Oct 21 01:45 PM:

I have downloaded the latest build and, in the game anonymous, there is an inaccuracy in the definition of the butterfly.

The correct definition should be that:

    AddPieceType( "Butterfly", "H", 800, 800, "Butterfly" );
        Butterfly.Step( <2, 2> ).SlideAfterStep( <1, 0> );
        Butterfly.Step( <2, 2> ).SlideAfterStep( <0, 1> ).MinSteps = 2;
        Butterfly.Step( <-2, 2> ).SlideAfterStep( <-1, 0> );
        Butterfly.Step( <-2, 2> ).SlideAfterStep( <0, 1> ).MinSteps = 2;
        Butterfly.Step( <2, -2> ).SlideAfterStep( <1, 0> );
        Butterfly.Step( <2, -2> ).SlideAfterStep( <0, -1> ).MinSteps = 2;
        Butterfly.Step( <-2, -2> ).SlideAfterStep( <-1, 0> );
        Butterfly.Step( <-2, -2> ).SlideAfterStep( <0, -1> ).MinSteps = 2;

Aurelian Florea wrote on Sun, Oct 23, 2022 08:34 AM UTC in reply to Greg Strong from Fri Oct 21 01:45 PM:

How do I delete a color scheme?


Aurelian Florea wrote on Sat, Oct 22, 2022 05:49 AM UTC in reply to Aurelian Florea from Fri Oct 21 09:32 AM:

I think I figured out why the pawns move so quickly in the opening. It is the promotion rule. Now one can promote even at rank 7 (out of 10). So pawn pushes are more tempting. I do not know if it is the correct strategy. I'll play the opening myself, to see what is going on!


Aurelian Florea wrote on Fri, Oct 21, 2022 02:53 PM UTC:

With the:

King.PSTMidgameForwardness = 0;

instruction applied I have watched 4 games at 2 mins + 7 seconds. Only once in 8 cases the ai has not castled choosing a back rank diagonal move (so there is something about it.). Once there was the opposite sides castle going on. I am not sure exactly how to do it but the above-mentioned instruction definitely makes things more castlely.


Aurelian Florea wrote on Fri, Oct 21, 2022 02:13 PM UTC in reply to Greg Strong from 01:42 PM:

Thanks for taking the joker evaluation into account in your own time!


Aurelian Florea wrote on Fri, Oct 21, 2022 02:02 PM UTC in reply to Greg Strong from 01:45 PM:

Yes, at the end of the tournament list may you place something like: playerfoo:51 playerbar:49


📝Greg Strong wrote on Fri, Oct 21, 2022 01:45 PM UTC in reply to Aurelian Florea from 09:26 AM:

I'm not sure if I have the current build.

The latest is what I recently posted on the Avatar Chess page.

Add an adjudication coefficient with a default of say 10 pawns

This would definitely be useful

In the save file add the end add the total score

You mean at the end of the tournament, list the total win counts?


📝Greg Strong wrote on Fri, Oct 21, 2022 01:42 PM UTC in reply to H. G. Muller from 07:04 AM:

That being said, if it is really such that castling is good, the usual way is to discourage moving an uncastled King not by Piece-Square Tables, but by giving a hefty bonus for the possession of castling rights.

This is already part of the development evaluation.  And the quality of the pawn shield is part of the king safety evaluation.  If it's not castling, it is probably because, as you say, it is not a good idea.  While the evaluation function cannot be perfect, ChessV does know what it's doing.

And a final thing which is rather hard. But if you can please add the customizable value for the joker.

I don't know about this.  The value of the piece itself cannot directly change, but it would be possible to add a new evaluation function that makes an adjustment to the final score based on the relative values of the joker(s).  I will give it some consideration.


Aurelian Florea wrote on Fri, Oct 21, 2022 09:32 AM UTC in reply to Greg Strong from 01:25 AM:

And a final thing which is rather hard. But if you can please add the customizable value for the joker. HG has proposed the ratio of the sum of squares of the piece value with the piece values. I think some coefficients are good to be in place. Something like (a1p1^2+a2p2^2+...+anpn^2)/(b1p1+b2p2+...+bnpn). where n is the number of piece types and a1,...,an and b1,...,bn are float coefficients. One utility of the coefficients is when imitating a colourbound piece as the joker is not actually colourbound. I know this takes time, so if you can... Good luck Greg!


Aurelian Florea wrote on Fri, Oct 21, 2022 09:26 AM UTC in reply to Greg Strong from 01:25 AM:

I'm not sure if I have the current build. But I'd like the following features for batch mode. 1.Add an adjudication coefficient with a default of say 10 pawns. 2.In the save file add the end add the total score.


H. G. Muller wrote on Fri, Oct 21, 2022 08:41 AM UTC in reply to Aurelian Florea from 08:04 AM:

I would not introduce yet another form of castling. How about Kevin's 'fast castling' rule?

But normally getting out 3 pieces should not be a problem. Of course it depends on whether these pieces can jump, or otherwise get out without destroying the Pawn shield. If they had to compromise the Pawn shield (e.g. like starting a Commoner on the Knight squares of the FIDE setup) that would just count as bad design. (In the Daring Dragons army of CWdA I gave the Dragoon an initial Knight jump for that reason.)

In a Grand-Chess like setup with enough empty space on the back rank there would not be a problem to clear the 2nd rank for castling; one can just retract the pieces to the back rank.

In the KingSlayer approach moving the pieces out of the castling path is encouraged, because it makes the castling right in that direction more valuable (less discounted). And the castling right with the highest weight (because it is the best of the two) would be preferred, because it contributes most to the total. So it encourages clearing one path completely before clearing the other partially (other factors such as quality of the Pawn shield being the same). This usually leads to quick clearing of one castling path. But if the other castling is still possible, it would not immediately castle, because having a second right (even when weighted less than the best right) is worth slightly more than the difference between having the right and being in the castled position. Which is what you want: keeping the opponent in the dark as long as possible so that he doesn't know what wing to aim his pieces at during development is usually a good strategy.

Of course the quality of the Pawn shield (which also takes account of enemy Pawns, such as half-open files directed at the shield, or an approaching Pawn storm) remains part of the evaluation even after castling. (But then of course only the one in the direction you actually castled.) This prevents the engine from destroying its own Pawn shield later, while it 'liberates' the Pawns on the other wing.

All this is pretty cheap, as the shield qualities are part of the Pawn-Structure evaluation, which is rarely done, because it is stored in a Pawn hash table that has a very high hit rate. The K-side and Q-side shield qualities are just two items in the Pawn hash entry. (Together with info about half-open files, passers, edge Pawns etc.) And you can stop calculating them once all castling rights are gone, which is usually pretty early in the game.


Aurelian Florea wrote on Fri, Oct 21, 2022 08:04 AM UTC in reply to H. G. Muller from 07:04 AM:

@Greg&@HG, Now there is the trouble that the ai moves the pawns ahead of the possible location of the castling king, or ahead of the castled king, again quite arbitrary. There is only one heavy piece besides the queen in the games I mention (between the value of the rook and of the queen) so deadly back rank incursion from the enemy don't seem the desirable. But there are 26 pieces /side, and some pawns need to move to bring some air into the position. So maybe some penalty from leaving pawns on one side OR the other side is welcome. This as it is needed to move some flank pawns in order to develope quickly. I agree with HG, KingSlayer approach. Maybe you can customize all of that, Greg.

There is one more issue. With a 10 files board one needs to get out three pieces before castling. In the games I had mentioned there are the bishops by the queen and king and 2 leapers. Then there are the rooks. On the other side there is also the queen. The fact that you have to take out 3 pieces hinders castling a bit. I was thinking about a "Bishop jumping rule during castling". This means the castling king may jump the bishop when castling but not to other pieces. Would this be a good idea. What do you guys think?


H. G. Muller wrote on Fri, Oct 21, 2022 07:04 AM UTC in reply to Greg Strong from 01:25 AM:

In variants where there is more than one rank behind the Pawns, and many strong pieces, castling directly behind the Pawns is often a very bad move. In general one could say that in such variants the castling rule is only added out of conservatism, but is as useless as adding a rule that at any time you can permanently remove your Queen from the board instead of making a normal move. No one in his right mind would ever do it. Even in the central files, a King on the back rank sheltering behind by a wall of Pawns plus a wall of pieces is usually a lot safer than a King directly behind the Pawns.

So the first issue to consider is whether it is really a good idea to force an engine to make poor moves just because the rules allow those. That being said, if it is really such that castling is good, the usual way is to discourage moving an uncastled King not by Piece-Square Tables, but by giving a hefty bonus for the possession of castling rights. (Which should reflect the PST and other positional score the King would get in the castled position. If they were higher the engine would never castle, because he would think it more important to preserve the rights to do so.) In KingSlayer I always evaluate the quality of the Pawn shield in the castled locations, and derive the value of each castling right from that. These are then devaluated a little depending on the number of pieces that still block the castling. And the total value of the rights is that of the best right plus a factor smaller than one times the other.


📝Greg Strong wrote on Fri, Oct 21, 2022 01:25 AM UTC in reply to Aurelian Florea from Thu Oct 20 02:40 PM:

The piece-square-tables do encourage the king to retreat to the first row. You can see the PSTs by right-clicking on the piece, selecting Properties, and then look at the Midgame or Endgame PST tab.

We can eliminate that desire by zeroing the "forwardness" midgame PST component (which is negative for the king.)  In your AddPieceTypes function:

King.PSTMidgameForwardness = 0;

See if that helps.  There can be other factors as well, like the deveopment evaluation and king safety evaluation, although the development evaluation should be encouraging it to castle.


Aurelian Florea wrote on Thu, Oct 20, 2022 02:40 PM UTC in reply to Greg Strong from Thu Oct 13 07:10 PM:

So, the games I'm creating are 10x10 and the castling type is 2R-standard (it is correctly assigned this is not the problem). The ai is quick to move to the back rank most of the time for no reason before castling, and sometimes (rarely) after castling seemingly for no reason. In the latter case I can be totally wrong though. Anyway, how do I disable this tendency of the general 10x10 ai? Would you recommend I inherit from a more general class or general 10x10 is fine?


Aurelian Florea wrote on Thu, Oct 13, 2022 08:07 PM UTC in reply to Greg Strong from 07:10 PM:

But also from some point ahead, I prefer the correct rules. Anyway, for the purpose of measuring the piece values , I do not use the joker as it introduces many instabilities. By the way, in the few games I,be noticed so far there are no joker related bugs. But I do not know if I can suppress the special pawn powers when imitating a pawn. Also chessV does not use the move by move recalculation of the joker value. And these things are difficult to do. Partly this is why I'm trying my hand, at my own program !


Aurelian Florea wrote on Thu, Oct 13, 2022 07:13 PM UTC in reply to Greg Strong from 07:10 PM:

Indeed.


📝Greg Strong wrote on Thu, Oct 13, 2022 07:10 PM UTC in reply to Aurelian Florea from 06:50 PM:

Helping to test game design is certainly an intended purpose. But do you need a new build just to correct this one issue? For test purposes, I wouldn't think allowing 2 jokers or not allowing promotion to joker at all would change very much.


Aurelian Florea wrote on Thu, Oct 13, 2022 06:50 PM UTC in reply to Greg Strong from 06:42 PM:

Please let me know when you solve this, as I'm using ChessV for designing my games (not the intended purpose I guess, but ChessV is very general).


📝Greg Strong wrote on Thu, Oct 13, 2022 06:42 PM UTC in reply to Aurelian Florea from 06:07 PM:

You're right, this rule is broken :(

I'll need to get that fixed.


Aurelian Florea wrote on Thu, Oct 13, 2022 06:07 PM UTC in reply to Greg Strong from 05:37 PM:

There is probably a bug with that instruction. I have sent you an email as the error message is very long!

I feel that this rule interacts badly with the joker. I have not seen other joker bugs, as of now!

Later edit. I have tried limiting the rooks to 2. There is the same error.


Aurelian Florea wrote on Thu, Oct 13, 2022 05:38 PM UTC in reply to Greg Strong from 05:37 PM:

Ok, Thanks!


25 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.