Check out Alice Chess, our featured variant for June, 2024.


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

Ratings & Comments

EarliestEarlier Reverse Order LaterLatest
Tigrey. Combination of Expanded Chess and Tiger Chess. (12x12, Cells: 144) [All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Nov 19, 2022 07:31 PM UTC in reply to Daniel Zacharias from 06:37 PM:

The page for Tigrey has now been published


ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sat, Nov 19, 2022 08:43 PM UTC:

I think you are making too much of this. For one, QS is never omniscient. The stand-pat assumption that the best non-capture will leave the evaluation approximately as it is, is just an assumption that is often false. There could be forks, or skewers. There could even be mate in one. Minimax turns out to be very resistant to random perturbation of a reasonably small fraction of the scores in the leaves; you must be very unlucky for such a perturbed score to affect the root score and move.

You actually defined different classes of legality, and why stop at three? Generalizing this you could have an arbitrary number of such classes. I would prefer to call these 'priority classes'. You must play a move from the highest non-empty class.

What to do is just a matter of statistics. How are the moves typically distributed over the classes, and how are the moves that typically change the evaluation distributed. In Suicide captures are class 1, small in number, non-captures class 2, large in number. The situation that there would be a class-1 move we do not want to consider in QS, which would outlaw all moves we do want to consider, because these are all class 2, never can occur. Same with Jumping Chess; the unconsidered moves are by definition class 2. Of course QS is still affected, because if there are moves to be considered, there will be no stand pat.

In Golem Chess typically all moves are class 1, and the occasional move that can be class 2 is even rare amongst captures. The logical thing to do, considering these statistics, is assume there will be class-1 moves amongst the non-captures. Unless you have reason to suspect there might be none. You would only be interested in knowing that if you did not find any class-1 captures, and when a lot of captures turned out to be illegal you could suspect that might be true for non-captures as well. (You know from the rules there cannot be any class-2 non-captures in Golem Chess.) Or you could simply know that you are in check, and that this is the reason for the large fraction of illegal moves. Especially if it is a contact check, for which the only legal non-captures can be King moves. But then you would probably extend even in QS, and the problem disappears. Otherwise you assume there will be legal non-captures, and guess their score as the current evaluation, to stand pat. It is what you always do when not in check, and the fact that there was only a capture that was discarded because it wasn't class 1 doesn't do more damage than that there occasionally is a class-1 non-capture that would score far higher than the current evaluation.

Note that the engine is very well capable of determining the distribution of moves over the various priority classes from nodes in the full-width part of the search. In particular you could make it keep track of how often there are no class-1 non-captures in the case there are no class-1 captures, and use that to decide whether to do a class-1 stand pat in QS. If there are more priority classes you would want to know what typically the highest-class non-capture is, given the highest-class capture that is available. If that is lower or equal to that of the highest-class capture, the capture can be searched, and a stand pat of the assumed highest-class non-capture can be tried only if that belongs in the same class.


Interactive diagrams. Diagrams that interactively show piece moves.[All Comments] [Add Comment or Rating]
A. M. DeWitt wrote on Sat, Nov 19, 2022 10:26 PM UTC:

It seems that the new move handler isn't updating the part of the diagram that shows which piece is selected.


Who is Behind the Chess Variant Pages?. The editors, past editors, contributors, and inventors behind this site.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sat, Nov 19, 2022 10:26 PM UTC:

I added H. G. Muller as an editor and made a note about our inactive editors.


ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
📝Greg Strong wrote on Sun, Nov 20, 2022 01:38 AM UTC:

I think you are making too much of this.

That is a disctinct possibility!  And that's why I wrote out all of that... so you could tell me if I'm on the wrong track, or overlooking the obvious.  I appreciate your time.  And, while I agree with what you've written, I'm not sure it justifies me doing anything differently.

You actually defined different classes of legality, and why stop at three? Generalizing this you could have an arbitrary number of such classes. I would prefer to call these 'priority classes'. You must play a move from the highest non-empty class.

Absolutely.  It did occur to me that one could invent a chess variant where there are even more tiers of legality...  But I'm not aware of any such game.  I've only come up with 3 instances of needing a middle ground between "legal" and "illegal".  I guess one could argue that as long as I'm making the change, I should go all the way and make an expandable hierarchy of legality.  But that seems more complicated and unnecessary.  And if it's not much more complicated, then it should be easy enough to adapt this should the need arise.  (And, while I would like to support as much as I reasonably can, it is not my goal to support anything that may come along.)

In Suicide captures are class 1, small in number, non-captures class 2, large in number. The situation that there would be a class-1 move we do not want to consider in QS, which would outlaw all moves we do want to consider, because these are all class 2, never can occur. Same with Jumping Chess; the unconsidered moves are by definition class 2. Of course QS is still affected, because if there are moves to be considered, there will be no stand pat.

I do not entirely understand this, but I think you are in agreement that "fallback legality" moves should be considered in qsearch in Giveaway and Jumping.

In Golem Chess typically all moves are class 1, and the occasional move that can be class 2 is even rare amongst captures. The logical thing to do, considering these statistics, is assume there will be class-1 moves amongst the non-captures.

I interpret this to mean that you agree that "fallback legality" moves should not be considered in qsearch in Golem Chess.

Note that the engine is very well capable of determining the distribution of moves over the various priority classes from nodes in the full-width part of the search. In particular you could make it keep track of how often there are no class-1 non-captures in the case there are no class-1 captures, and use that to decide whether to do a class-1 stand pat in QS.

Ok ... so if I understand correctly, your are not disputing that qsearch needs to be treated differently in Golem vs. Giveaway, but that, rather than a configurable variable that the programmer must set, the engine can determine this for itself.  Hopefully I got that correctly.  If so, my question is how much extra complication does this involve?  Certainly, I'd rather not add another user-configurable element if it's not necessary.  Heck, even the name of this hypothetical variable, "ConsiderFallbackLegalityMovesInQSearch", makes me a little embarassed.

Let's make sure I've isolated the questions to be decided correctly:

1. Do we need to expand beyond the standard determination of pseudo-legal moves as strictly legal or strictly illegal to account for games that have these types of "illegal unless there's nothing else" type moves?

2. If the answer to #1 is yes, do we just do as I've proposed and add a middle "fallback legality" category or do we go all the way and make a structure for any number of tiers of legality?

3. If the answer to #1 is "yes", regardless of the answer to #2, we have the issue of qsearch.  Do we have programmatic variables to determine what should be considered in qsearch, or do we determine that from statistical analysis?

Do I have this right?  And, if so, what are your answers to these questions?


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
A. M. DeWitt wrote on Sun, Nov 20, 2022 01:57 AM UTC:

I am having problems with my new preset for Suzumu Shogi. For some reason, it just keeps echoing "Please report any bugs or errors to Adam DeWitt" over and over again instead of showing the preset like it should. Any help would be greatly appreciated.


Suzumu Shogi. 16x16 variant based on Tenjiku Shogi. (16x16, Cells: 256) [All Comments] [Add Comment or Rating]
💡📝A. M. DeWitt wrote on Sun, Nov 20, 2022 04:39 AM UTC in reply to H. G. Muller from Sat Nov 19 06:01 AM:

I was thinking banning burning Fire Demons and Heavenly Tetrarches (possibly allowing it if something else is burned first), but allowing these pieces to be captured directly or via igui (the latter which is a locust capture). I tried doing it with the BadZone function used in the last version, and most of the time it worked perfectly, but for some reason the part testing for the evic parameter value would cause the area move (and sometimes non-capture moves) to disappear if two burning pieces were within burning distance of their orthogonal ranging moves. Right now, I am happy with the current version. Fire Demons can still be traded, but at least now it is easier for the moving Fire Demon to grab an additional piece without risking recapture thanks to the strengthened burning ability.


ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 20, 2022 06:27 AM UTC in reply to Greg Strong from 01:38 AM:

International Draughts is such a game: not only is capture mandatory, but you must capture the most chips that you can.

In Suicide only non-captures are FallBackLegality, and you never want to consider these in QS. So it is a moot point. (Note, however, that the champion Draughts program Scan does consider moves that invite capture in QS, and considers a position only quiet when there are no such moves, and no captures.) In Jumping there can be captures amongst the FallBackLegality. You must consider those in QS, but only when you actually have to fall back, of course. Always consider the highest non-empty class, and none other.

You have to assign a class to standing pat, to decide whether you can do that, and whether that would be higher class than de highest non-empty class amongst the captures. Usually this can be based on statistics. For Suicide and Jumping stand pat is always FallBackLegality. So no standing pat when there are legal captures. For Golem stand-pat will be legal. So no FallBackLegal captures.

What you want to consider in QS can very well depend on variant. Beside captures one usually considers promotions. In Shogi considering promotions for pieces already in the zone is counterproductive. Promotion is almost a certainty there, and the static eval can assume, say, 90% of the value. Most Chess programs consider non-capture check evasions.


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Sun, Nov 20, 2022 06:53 AM UTC in reply to A. M. DeWitt from 01:57 AM:

Add "&submit=Edit" to the end of the URL, and this will open up the editor without running the code.


Horizons. Game with 5 new pieces on 12x12 board. (12x12, Cells: 144) [All Comments] [Add Comment or Rating]
Diceroller is Fire wrote on Sun, Nov 20, 2022 08:18 AM UTC:

What’s happened with promotions rule? I hadn’t seen this yesterday. And what’s happened with Shielder? (maybe I can agree (or deny) capturing from front of Shielder, but it mustn’t push Shielders). It’s intentional or bug? Probably it’s bug, but I didn’t see this on small iPhone yesterday. Maybe earlier iPhone versions don’t support, and newer do? I hope it’s bug of rules.


Stone Garden Chess. The animal statues in the stone garden came to life and attacked the two rival kings! With the help of a policeman each, they…. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
Diceroller is Fire wrote on Sun, Nov 20, 2022 08:27 AM UTC in reply to H. G. Muller from Fri Nov 18 12:46 PM:Good ★★★★

Sorry, but yellow X-es are captures!

I have an idea: you can turn Ox’s face to left in Stone Garden, as it was in my drawings, and make it different from Horizons. About Index it’s same. Please.


ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
Aurelian Florea wrote on Sun, Nov 20, 2022 12:34 PM UTC:

Hello Greg,

How can I add evaluations for the maasai pawn pushes?


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
A. M. DeWitt wrote on Sun, Nov 20, 2022 01:01 PM UTC in reply to Fergus Duniho from 06:53 AM:

I guess I didn't make the link clear enough (Edit: Suzumu Shogi on the Chess Variants Game Courier). What I have should work. I don't see any typos in the code. But of course I'm probably overlooking something.

Edit: I found it. Turns out the remind messages in the Post-Game sections had typos in them.


Stone Garden Chess. The animal statues in the stone garden came to life and attacked the two rival kings! With the help of a policeman each, they…. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 20, 2022 01:30 PM UTC in reply to Diceroller is Fire from 08:27 AM:

Sorry, but yellow X-es are captures!

OK, I fixed that now.

I flipped the Ox image in Horizons, because it looked too much like the Knight image in the way you had drawn it. I think piece images should be quite different even when looked at in low resolution. If I would flip the Ox here, it would become too similar to Index. Of course I could flip them both. But I don't think it is a problem that the Ox in Horizons and Stone Garden Chess look the same, although they move differently. They are also called the same, and this is actually more confusing than that the image is the same. People would not easily remember in which direction the Ox looked in another game, They might not even know the other game.


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Sun, Nov 20, 2022 01:32 PM UTC in reply to A. M. DeWitt from 01:01 PM:

This kind of thing is usually caused by a parsing error that is due to a simple syntax error. To find out what it could be, I added "list;" to the end of your Pre-Game code and clicked Run. At the end of the first listing, I got this:

907   remind "Enter third leg of move or press Pass;
gosub legalmoves2 KING 2;
continuemove;
elseif sub stalemated king:
endif;
;end;

So, it looks like your remind statement is missing a closing quotation mark. However, looking at your actual code, I don't see it missing.

I would recommend the general debugging technique of cutting or commenting out sections of code to determine which code is causing the problem. If you cut code, paste it back in before cutting more, so that you can later paste back in all that you cut out.


A. M. DeWitt wrote on Sun, Nov 20, 2022 03:12 PM UTC in reply to Fergus Duniho from 01:32 PM:

I fixed most of the issues. Now the only problem that I can see is that the Heavenly Tetrarch's first burn is being rejected when it shouldn't be when the distance between the origin and destination of the first part of the move is at least 2. The problem is likely in the HT subroutine, since it controls the function definition for the second and third parts of the Tetrarch's move, but I could be wrong.

Here is the link for the preset's Edit form: Edit: Suzumu Shogi on the Chess Variants Game Courier

And here's the list of moves for which the error occured:

1. d 8k-8j 
1... D 9f-9g 
2. p 7l-7k 
2... P 10e-10f 
3. bg 6m-8k 
3... BG 11d-9f 
4. fd 7n-6k 
4... FD 10c-11f 
5. fd 6k-8i 
5... FD 11f-9h; pass 
6. fd 8i-5f; fd 5f-5e; fd 5e-4e 
6... FD 9h-12k; FD 12k-12l; FD 12l-13l 
7. fd 5f-7f; pass 
7... FD 12k-10k; pass 
8. fd 7f-7e; fd 7e-7f; fd 7f-8f 
8... FD 10k-10l; FD 10l-10k; FD 10k-9k 
9. bg 8k-15d; +bg-dest 
9... BG 9f-2m; +BG-dest 
10. dk 5n-5o 
10... DK 12c-12b 
11. cs 4o-14e; +cs-dest 
11... CS 13b-3l; +CS-dest 
12. +cs 14e-14d; +cs 14d-14e; +cs 14e-13d 
12... +CS 3l-3m; +CS 3m-3l; +CS 3l-4m 
13. +cs 14e-11b; +cs 11b-10a // <- ERROR: You may not move a +cs from 11b to 10a

Stone Garden Chess. The animal statues in the stone garden came to life and attacked the two rival kings! With the help of a policeman each, they…. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
Diceroller is Fire wrote on Sun, Nov 20, 2022 03:14 PM UTC in reply to H. G. Muller from 01:30 PM:

Thx, but about moving of previous version of Ox, it’s just historic note.


ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
📝Greg Strong wrote on Sun, Nov 20, 2022 03:37 PM UTC in reply to Aurelian Florea from 12:34 PM:

How can I add evaluations for the maasai pawn pushes?

You can set the Forwardness Piece-Square-Table componenets.  For the regular Pawn type, it is 7 midgame and 10 endgame.  For user-defined pieces it's 0.  So you can set PSTMidgameForwardness=7 and PSTEndgameForwardness=10 to make it consistent with the Pawn.

You can look at the PSTs in the piece properties.  And you'll need to restart the program after making changes to an include file.  They are parsed at startup.


Aurelian Florea wrote on Sun, Nov 20, 2022 03:56 PM UTC in reply to Greg Strong from 03:37 PM:

Thanks, Greg!


Stone Garden Chess. The animal statues in the stone garden came to life and attacked the two rival kings! With the help of a policeman each, they…. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 20, 2022 04:15 PM UTC in reply to Diceroller is Fire from 03:14 PM:

Thx, but about moving of previous version of Ox, it’s just historic note.

If you want to make historic notes about Horizons, the Horizon article would be the place to do it. Not the article about another Chess variant. People intersted in Horizons might never look here, people interested in Stone Garden Chess might not be interested in Horizons, let alone in its history.


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Sun, Nov 20, 2022 04:41 PM UTC in reply to A. M. DeWitt from 03:12 PM:

I see that your HT subroutine has a line where it refers to origin and dest instead of to #from and #to. That may be where your bug lies.


Suzumu Shogi. 16x16 variant based on Tenjiku Shogi. (16x16, Cells: 256) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 20, 2022 04:45 PM UTC in reply to A. M. DeWitt from 04:39 AM:

So the problem is that the Tetrarch should not be able to capture another Tetrarch when it lands on a square next to it, but should be able to capture it when it was already standing next to it, without moving? In addition to capturing one other piece?


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
A. M. DeWitt wrote on Sun, Nov 20, 2022 04:55 PM UTC in reply to Fergus Duniho from 04:41 PM:

That was what I was thinking as well, and given that the rest of the code is fine, we are probably right. Unfortunately, simply getting rid of that clause won't really solve the issue. The Heavenly Tetrarch has a unique mechanic that causes it to jump over the first square it travels over, so the preset needs to take that into account. It might be possible to get rid of it with clever use of the cond statemenet though.

Edit: Turns out I was using the wrong variables to account for the distance of the first part of the move. The values of origin and dest were updated before the move was evaluated, so the distance would always be 1 and the move would thus get rejected. I fixed this by using ori and dst instead, which stay the same for all parts of the move.


Interactive diagrams. Diagrams that interactively show piece moves.[All Comments] [Add Comment or Rating]
💡📝H. G. Muller wrote on Sun, Nov 20, 2022 06:09 PM UTC in reply to A. M. DeWitt from Sat Nov 19 10:26 PM:

It seems that the new move handler isn't updating the part of the diagram that shows which piece is selected.

Ah yes, it wasn't. I now fixed that too.


Chu Shogi. Historic Japanese favorite, featuring a multi-capturing Lion.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sun, Nov 20, 2022 06:21 PM UTC:

I made an Alfaerie set for Chu Shogi that makes use of Jeremy Good's pieces. I reversed the colors, so that dark pieces are used for Black and white pieces are used for White.


25 comments displayed

EarliestEarlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.