Check out Grant Acedrex, our featured variant for April, 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 by GregoryStrong

LatestLater Reverse Order EarlierEarliest
Expanded Chess 256. The Chess experience upscaled to a larger board. (16x16, Cells: 256) [All Comments] [Add Comment or Rating]
Greg Strong wrote on Tue, Feb 18, 2020 05:15 PM UTC:

I added a diagram and performed a few minor edits to improve the text.


Expanded Chess. An attempt at a logical expansion of Chess to a 10x10 board.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Tue, Feb 18, 2020 04:31 PM UTC:

My thoughts -

Zebra: The Camel is the more common complement to the Knight.  I think a Zebra is OK on a 10x10 board but would be less mobile than the Knight because more moves would be off-board (although a Camel is color-bound so also weaker than a Knight, but I think this is OK because a Bishop is a colorbound piece that could be considered the complement of the Rook.)  Also, if you keep the Zebra, I think you should keep the name as-is.

No Draws: I'm not sure how advisible this is.  The point of Stalemate is to give the player who is behind something to play for.  For repetition and 100-move rule, at a minimum, the written description needs to be clarified.  It currently says the "last player to move" wins, but your comment says "last to capture".  And for 100-move, do you mean "last to capture or push a pawn"?  That would make more sense.  And do you mean 100 half-moves, like the Chess 50-move rule?  Or do you really mean 100 full moves?  I think that would be too much and I don't see any reason to increase it at all.  Personally, I'd scrap all of this and leave all the victory/draw conditions as in orthodox Chess, but that is just personal opinion.


ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
📝Greg Strong wrote on Mon, Feb 17, 2020 01:26 AM UTC:

Yup, I've tracked that down too.  Thanks for pointing it out!


📝Greg Strong wrote on Sun, Feb 16, 2020 08:42 PM UTC:

Thank you very much for the help.  I think I've gotten to the bottom it.  It was tricky because there were several things going on.

I think the main problem was indeed with the TT.  Those 169 scores you were seeing were mate positions but those weren't true mate scores.  Amateur mistake here ...  At some point I increased the value I was using to represent INFINITY (CHECKMATE) and I made the value larger than the number of bits I had reserve in my TT entry for storing the score.  So those 169 scores kind of worked - it still prefered them to other things and prefered quicker mate, but other things didn't work.  For example, the mate distance pruning didn't trigger because it didn't consider them mate scores.  I'm sure there are other places in the code with similar issues.

I found this last night but correcting for it did not solve my problem because I had since introduced a new problem since the release of version 2.2.  One of the things I'm doing for 2.3 is streamlining the code for Rules that store state information.  Instead of each Rule-derived class handling this itself, I now derive Rules that store state information from a template class RuleWithState.  Well, in doing that, I broke the DrawByRepetition rule and that was the reason I was still experiencing draws where there should have been wins.

Since things are still needing work on 2.3 and since this is a pretty major problem, I will release a service pack for version 2.2 today or tomorrow.  I will also add the feature for saving the games for games in run in batch mode.


📝Greg Strong wrote on Sun, Feb 16, 2020 12:22 AM UTC:

Thank you for the help.  It is indeed pretty strange.

First, I should clarify a couple of things.  The problem isn't specific to KRK - I know it appeared in other situations as well, but KRK was an easily reproduced and extreme example.  Also, the special endgame code isn't specific to KRK, it is really KxK (King + plenty of material against bare king, probably the same idea as your bare king eval.)  This KxK code comes from Stockfish but adapted to do the right thing on boards of any size.  The other specific endgame evals I have so far are KRKP, KRKB, and KRKN (also from Stockfish.)  There is also some special handling for KPK which overwrites the eval to return draw scores on certain positions that are known to be draws (this is custom code based on Wikipedia's KPK article - the Stockfish KPK code uses a bitbase which doesn't help me given variably sized boards.)

The null move was a good idea, as well as draw scores getting into the TT, but neither of these seem to be the cause.  Null move is disabled with low enough material and disabling draw-by-repetition and/or 50-move rule didn't help.

With a fair amount of expirementation, I found another "solution".  If I change the TT cutoff condition at PV nodes from hash depth >= depth remaining to hash depth > depth remaining that solves the problem entirely and my searches seem totally consistent.  But I have "solution" in quotes because I'm not 100% sure this addresses the real problem either, but I think it probably does.  Somehow something is getting off by one somewhere.  I still need to understand it better because the underlying problem may be affecting non-PV nodes too resulting in weaker play that is not so obvious...


📝Greg Strong wrote on Sat, Feb 15, 2020 03:50 PM UTC:

@HG:

I had a problem.  ChessV sometimes wasn't able to find the mate in KRK (for example), despite the fact that I have a custom endgame eval for this combination (which I'm sure is correct.)  I was able to solve this by no longer returning on TT hits on PV nodes.  This is an acceptable solution since you seldom get a cut-off on a PV node so it does not speed things up much, if at all, and it reports shorter PVs.  But I'd still like to understand the problem in case there is something else wrong.

I only return at a PV node if the TT entry depth >= depth remaining and the entry type is Exact.  I also shift mate scores by the ply before returning, as is typically done.  Do you have any insight why I might be missing mates and stumbling into draws by repetition or 50-moves?  I guess my TT code could have a bug, but I don't think so.


Opulent Chess. A derivative of Grand Chess with additional jumping pieces (Lion and Wizard). (10x10, Cells: 100) [All Comments] [Add Comment or Rating]
💡📝Greg Strong wrote on Thu, Feb 13, 2020 01:14 AM UTC:

Yes, I will be updating the GC presets.  I just want to modify them to use the new fairychess include file while I'm at it and did not get that finished last weekend.  But we have a 3-day weekend coming up so it should get finished.

That table of piece values is quite old so I wouldn't put any stock in it.  Probably doesn't match at all with what I am currently using in ChessV (which gets updated more often.)  The Archbishop is too low probably because I was relying on Betza's logic which significantly undervalues it, but I would not claim that these values are what he would have calculated.  Also, the table shows the value of sliding pieces going up in the endgame, which made sense since there are less obstructions, but seems to not actually be true in most cases.  (The value of the Pawn going up is true, though.)


Game Courier History. History of the Chess Variants Game Courier PBM system.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Feb 8, 2020 11:14 PM UTC:

Since I am updating the GC presets for Opulent anyway for the new array, I am going to modify it to use the new fairychess include file.  To that end, I modified the include file to add a few new pieces.  I added Half_Duck and Knight_Wazir since Opulent requires those.  While I was at it, I added the three new pieces for Kevin's games that Aurelian has been working on: Elephant_Ferz, Elephant_Wazir, and Frog.

For reference, here are all the pieces currently supported by the fairychess include file (the notes in parenthesis are not part of the actual name):

Queen
Rook
Knight
Bishop
King
White_Pawn
Black_Pawn
White_Berolina_Pawn
Black_Berolina_Pawn
Cardinal (BN)
Marshall (RN)
Amazon (BRN)
Cannon
Vao
Wazir
Ferz
Camel
Camelrider
Dabbabah
Dabbabahrider
Elephant
Elephantrider
Nightrider
Dragon_Horse (BW)
Dragon_King (RF)
Eques_Rex (NFW)
Wizard (CF)
Champion (WDF)
Korean_Elephant
Chinese_Elephant
Giraffe (4,1 leaper)
Grasshopper
Short_Rook (R4)
Squirrel (NAD)
Spider (DA)
Spider-rider (DDAA)
Squire
Unicorn (BNN)
Zebra
Elephant_Ferz (FA)
Elephant_Wazir (WA)
Half_Duck (HFD)
Knight_Wazir (NW)
Frog (FH)
Griffon
Aanca
Leo (Cannon + Vao)
Mao
Moa
Murray_Lion

One small nit-pick, the Spider-rider has a dash while the other riders do not. Any objections if I correct this inconsistency?


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Feb 8, 2020 05:30 PM UTC:

I think we are miscommunicating by using the wrong name.  Kevin's game does not have "Free Castling", but "Fast Castling", which is something new.  (Castling can occur even with pieces in the way.)  So I think it requires new code.  Aurelian, give it a shot but if you can't get it working let me know and I will give it a try.


Game Courier History. History of the Chess Variants Game Courier PBM system.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Feb 8, 2020 12:04 AM UTC:

Very nice.  This, combined with the new fairychess include file, marks a definite step forward.  I'm glad to see GC code is continuing to be developed.  I was a little concerned that the change of precident could break some presets, but I just opened a large number of finished games and didn't see any issues.  Using constants and variables with the same name is probably uncommon.


Nao. Moves like nightrider, but must jump when taking.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Fri, Feb 7, 2020 11:52 PM UTC:

Done.


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Thu, Feb 6, 2020 01:13 PM UTC:

It's there.  Make sure you pick Set Group of "All".


Greg Strong wrote on Wed, Feb 5, 2020 10:00 PM UTC:

I've created a new piece set called Alfaerie: Eclectic Mix for these three games that has F=Frog, E=Elephant-Ferz (Modern Elephant), and W=Waffle so you can make these with single-letter pieces.  That may be why your functions aren't being called.  The functions for the Frog would now be FL and fL.  (Not sure how you would name them with the { and } characters in the piece titles.

You shouldn't need to call them directly.  They are called from the Checked function if I recall correctly.


Red Fool Chess. Standard Chess, but with two extra rows and one semi autonomous piece, the Red Fool.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Fri, Jan 31, 2020 10:55 PM UTC:

To clarify all that - this is a multi-move game.  The player that attacks the Red Fool then gets a second move in which he must move it according to these criteria (assuming it has a legal move.)


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Fri, Jan 31, 2020 04:09 AM UTC:

I think if you put the opponent's ID in, it just creates the game.  That's by design.  But if you don't want to play, you have the ability to unilaterally delete the game.


Greg Strong wrote on Thu, Jan 30, 2020 11:59 PM UTC:

Yes, it looks like it has the identies of the players backwards.  That's odd.


Red Fool Chess. Standard Chess, but with two extra rows and one semi autonomous piece, the Red Fool.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Tue, Jan 28, 2020 10:29 PM UTC:

And my edit, adding the board graphic is now gone as well, for the second time.

 


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Tue, Jan 28, 2020 05:59 PM UTC:

It seems we still have issues with the page edit screen showing cached content.  (I just received another report of this in email.)  I recommind:

1. When you open the page edit screen, click Refresh in your browser to make sure you have the latest copy.

2. Write your text in a word processor and then paste it in.  That way you have a local copy you are not in danger of losing.


ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
📝Greg Strong wrote on Tue, Jan 28, 2020 02:47 PM UTC:

I'd need a saved game file to investigate.  You should be able to save even during self-play but you have to catch it before the game ends.  Or I can modify it to save out all games.  What armies were you using?


📝Greg Strong wrote on Mon, Jan 27, 2020 07:47 PM UTC:

Look at the cwda include file:

https://www.chessvariants.com/play/pbm/includes/cwda.txt

Towards the end, the switch #wx and switch #bx are placing the appropriate pieces for each army on the board.  Maybe you can set the values for these to something > 4 before the line that includes this file to get around it.


📝Greg Strong wrote on Mon, Jan 27, 2020 06:44 PM UTC:

Remove all the Game Code and it will work (although with no rule enforcement.)  Apparently the code in the preset doesn't support mixed pieces like that.


📝Greg Strong wrote on Sun, Jan 26, 2020 09:14 PM UTC:

Cool.  Let us know the results :)


📝Greg Strong wrote on Sun, Jan 26, 2020 08:40 PM UTC:

That's right.  If your games are all playing from the starting position, you would just paste those two lines over and over again.


📝Greg Strong wrote on Sun, Jan 26, 2020 08:17 PM UTC:

The control file is a tab-delimited text file.  The first row is the header row identifying what is in each column.  Each row after is a game that will be played.

The required columns are:

Game - the filename of a saved-game file (*.sgf)

Engine1 - the engine playing player 1 ("ChessV", "Fairy-Max", etc.)

Engine2 - the engine playing player 2 ("ChessV", "Fairy-Max", etc.)

Time Control - the time controls (“1:30” would be entire game in 1 minute 30 seconds, “0:10+2” would be a base time of 10 seconds, plus an increment of 2 seconds for each move.)

Other columns are optional:

ID - If you want to identify the games in some special way.  By default they will just be identified by row number.

Variation - The variation of play (“None”, “Small”, “Medium”, or “Large”.  Default is None.)

Player1 and Player2 - How you want the sides identified for purposes of counting up statistics.  By default, it will use the engine names.  Which is reasonable if the purpose of the test is to pit ChessV against Fairy-Max and see which one does better.  For ChessV vs. ChessV, it won’t accomplish much.  In your case, you are testing Augmented Knight vs. Extra Pawn, so name your player accordingly.  Also note this can do variable substitution in the form of #{variable}, so for testing different armies, you would specify #{WhiteArmy} for player 1 and #{BlackArmy} for player two.

For your purposes, let’s say you have two saved game files - WhiteAugmented.sgf and BlackAugmented.sgf.  They don’t need any moves in them unless you want to have multiple files from different start positions.  Given this, your control file could look like this:

Game    Engine1    Engine2    Time Control    Player1    Player2    Variation
WhiteAugmented.sgf    ChessV    ChessV    0:30    Augmented Knight    Extra Pawn    Small
BlackAugmented.sgf    ChessV    ChessV    0:30    Extra Pawn    Augmented Knight    Small

 


📝Greg Strong wrote on Sat, Jan 25, 2020 06:23 PM UTC:

Actually, this does not quite work.  Waffle Chess has a unusual castling rule (which is why it was not included.)  I had planned to add support for "Fast Castling" but it didn't make it into this release.  Probably it will be in the next one.


25 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.