Ratings & Comments


"This rule gets rid of zugzwang." More than sixty years ago I learned how to use zugzwang to win with King and Rook against the lone King. So how does Tony Berard deal with this problem? "The rooks, bishops, and knights now also move and capture like a king." Sixteen years ago I commented on Ultra Chess (by Ruggero Micheletto). Here is a question for both authors. Is the endgame King and Rook versus King and Knight even more likely to lead to a draw in your chess variants?

No, rules 2-3 means that pieces cannot move from one "domain" to another except as in a 4d (asymmetric) game.
But it does look like I may have been wrong about the title: the domains are each infinite, while apparently the domains are supposed to be limited to an 8x8 grid.

Fergus wrote:
"... it looks like this game has 5 ranks, 5 files, 5 3D rows or levels, and 5 4D columns or realms."
Yes, I suppose it could be put that way.



I cannot use the item quick-edit script (as an editor) because the form does not have the new BoardRealms input (though perhaps the quick edit can be deprecated now that the author list population isn't so slow), and the database apparently won't allow it to be null. Again, I really think allowing nulls for non-game items would be best, and BoardRealms should be defaulted to 1 in any forms.

Since this comment is for a page that has not been published yet, you must be signed in to read it.

When representing a 4D game in two dimensions, which is what we're limited to on a computer screen, it makes sense to pair together a higher-dimensional label with a lower-dimensional one. This is especially so with something like Game Courier, which gives you only files and ranks to work with. This can lead to a coordinate like Dc23, which I hovered over randomly, which transposes the second and third dimensions. Bearing that in mind, it looks like this game has 5 ranks, 5 files, 5 3D rows or levels, and 5 4D columns or realms.

I also experienced this bug with contagious promotions. It seems the shogi promotion prompt is suppressing the WeirdPromotion result.
Indeed, when WeirdPromotion() is used to pieces that would also promote otherwise it involves more than just returning the desired promotion piece. The Diagram makes a special call to it (recognizable by promo = 1021) to inquire whether there might be promotion choice, and in the passive burning case this should be used to suppress the choice that maxPromote and promoZone would suggest. I don't think the current version does this entirely correct for Shogi promotions, though. I will have a look at it tomorrow.

4d games are rare enough that I wouldn't have bothered to add a database column.
Since I was adding code to the footer to indicate a board's dimensions, it seemed more appropriate than treating them as 3D games.
It will probably cause confusion for new authors.
I have added tooltips to the Edit Item form, and if there are other forms they should be added to, I can do that. I have also used parentheses to make it clearer what the dimensions of a board refer to. For 3D boards, a single pair of parentheses go around the files-by-ranks part, and levels goes on its left. For 4D boards, another pair of parentheses goes around the 3D board dimensions, and the 4th dimension goes on the left. The convention I'm following places increasing dimensions on the left, and it treats the number of ranks as the first dimension. This is because in the typical Chess variant, the board has two sides, and each player starts with all his pieces on one side. So, the distance between two sides would be the number of ranks. The second dimension, the number of files, is about how much space each side has to spread out its forces. Since we normally write files before ranks in algebraic notation, it makes sense to add higher dimensions to the left side. Also, this was the convention followed in some 3D games I looked at last night. And it's also sort of how Arabic numerals work. The leftmost digit in a numeral has a higher value than those to the right.

The diagram on the page superficially resembles that of Sphinx Chess, but it has only two axes of movement, the vertical and the horizontal. If you follow the lines of movement of pieces on this board, you will see that multiple boards have been placed together to create a larger playing area on which pieces are still moving in two dimensions.

If I recall/recognize the diagram correctly, at the diagram's bottom e.g. 'Ae' indicates (4D) Board column A and (2D) board file e. The labels at the sides e.g. '15' indicates (4D) Board row 1 and (2D) board rank 5 (a column being like a file by my understanding). True for both the rules page diagram and the preset diagram.
edit: I had to re-read the labelling by zooming in on the bottom of the diagram, so I could tell lower case letters apart from numbers - my eyesight/laptop's not the greatest, maybe. Also, there are over half a dozen 4D CVs in the database, as I recall seeing (I got a few of my own published over the years). Not as many as there are 3D CVs, true.
It should be the same as for rows/columns in 2d hexagonal games, right? (I'm not sure if we have a consistent policy for that...)
4d games are rare enough that I wouldn't have bothered to add a database column. It will probably cause confusion for new authors. But there's already reason to expound on the categories and index information on special cases, maybe as tooltips plus a link to a page describing non-obvious conventions?

The title of this page seems wrong on both counts: it is not infinite, and it is 4d, not 3d.
The introduction discusses infinite chess, but the eventual game description is clearly 4d (in an asymmetric, "2d+2d" way like Parton's Sphinx Chess).
Extending the number of ranks and files to infinity does not also increase the axes of movement through individual spaces. This is a large 2D game, but it is not 3D or 4D. So, I have removed it from those categories.

Playing about with this diagram I did seem to have run into some strange bugs:
- Passive burning works correctly, but not when the promotion dialogue turns up. E.g. Rook General g4xg13 from the opening setup survives even though it lands next to the Fire Demon. If I promote it then move it next to the FD again it's burned as expected
- Under certain conditions (it seems to be contingent on whether it's a piece's first move), promotion seems to become corrupted: it gives me the promotion dialogue, but doesn't promote it regardless of which option I select. Subsequent moves allowing promotion (into/within/out of the promo zone) likewise ask but don't react, and the move seems to permute surrounding pieces in an unpredictable way, often with the same highlighting as for burn victims, though sometimes on squares with pieces still (or newly) on them. I think this is contingent on whether it's a piece's first move:
-
- RGg4xg13=GG works (besides the above bug allowing it to survive)
-
- Pg5–4 Pg12–g11 2. RGg4xg13 similarly works
-
- Pg5–4 Pg12–g11 2. RGg4–g5 Pg11–g10 3. RGg4xg13 triggers the bug
-
The two bugs together also mean that a piece subject to the second bug can never be passively burned within the promotion zone

Since a toroidal board does not count as a 4D board, I removed the 4D category from this page. A 4D board is one where each coordinate is designated by 4 values, each one representing a different dimension. But each coordinate in this game is designated only by its rank and file.

I have updated the database and relevant scripts to better accommodate 4D games by including a new field for the 4th dimension called BoardRealms. However, I'm not sure what value to give it for this game or what value to change BoardLevels to now that it doesn't have to do all the work for both the 3rd and 4th dimensions.


The Diagram I posted only does active burning. Sorry I was unclear about that.
Adam implemented the burning by embedding a custom script for WeirdPromotion. Where he first tests whether a piece lands next to a burner (and in that case returns 251 as promotion code to make it a kamikaze move), and otherwise returns 512 when the moved piece is a burner.
I only used the captureMatrix parameter in my Diagram. There is no formalized way yet to specify passive burning by Diagram parameters; you would have to supply a JavaScript extension.
The Queen burns like a Fire Demon here
Did you mean including passive burning as well? Only active burning is working for me (though Adam's Tenjiku diagram seems to implement passive burning too so clearly it's implementable as you described)

Here's an Interactive Diagram for Tenjiku Shogi.
files=16
ranks=16
holdingsType=0
promoOffset=36
promoZone=5
maxPromote=30
promoChoice=+
royal=36
royal=45
stalemate=win
graphicsDir=https://www.chessvariants.com/membergraphics/MSsuzumushogi/
whitePrefix=w
blackPrefix=b
lightShade=#FFFF80
darkShade=#FFFF80
graphicsType=png
squareSize=37
symmetry=rotate
firstRank=1
rimColor=#000000
coordColor=#FFFFFF
newClick=1
atomicCapture=0
pawn:P:fW:p:a5-p5
dog:D:bFfW:d:e6,l6
iron general:I:fFbW:i:d1,m1
copper general:C:fFvW:c:e1,l1
silver general:S:FfW:s:f1,k1
ferocious leopard:FL:FvW:fl:c1,n1
gold general:G:WfF:g:g1,j1
blind tiger:BT:FsbW:bt:f2,k2
drunk elephant:DE:FsfW:de:i1
knight:N:N:n:b1,o1
kirin:KY:FD:ky:g2
phoenix:PH:WA:ph:j2
lance:L:fRbW2:l:a1,p1
reverse chariot:RV:vR:rv:a2,p2
side mover:SM:vWsR:sm:a4,p4
vertical mover:VM:sWvR:vm:b4,o4
side soldier:SS:bWsRfW2:ss:a3,p3
vertical soldier:VS:bWfRsW2:vs:b3,o3
bishop:B:B:b:c3,n3
rook:R:R:r:c4,n4
dragon horse:DH:BW:dh:d3,m3
dragon king:DK:RF:dk:e3,l3
horned falcon:HF:BsbRfWfDfcavWfabW:hf:d4,m4
soaring eagle:SE:RbBfFfAfcavFfabF:se:e4,l4
lion:LN:KNADcaKmcabK:ln:h2
queen:Q:Q:q:i2
bishop general:BG:B(paf)0kcB:bg:f4,k4
rook general:RG:R(paf)0kcR:rg:g4,j4
chariot soldier:CS:BvRsW2:cs:c2,d2,m2,n2
water buffalo:WB:BsRvW2:wb:f3,k3
free eagle:FE:QADcaFmcabF:fe:i3
lion hawk:LH:BWNADcaKmcabK:lh:h3
vice general:VG:B(paf)0kcB(a)2KabK:vg:i4
great general:GG:Q(paf)0kcQ:gg:h4
fire demon:FD:shQ(a)2KabK:fd:g3,j3
king:K:K:k:h1
tokin:+P:WfF:p2:
multi general:+D:bBfR:d2:
vertical soldier:+I:bWfRsW2:i2:
side mover:+C:vWsR:c2:
vertical mover:+S:sWvR:s2:
bishop:+FL:B:fl2:
rook:+G:R:g2:
flying stag:+BT:FsWvR:bt2:
prince:+DE:K:de2:
side soldier:+N:bWsRfW2:n2:
lion:+KY:KNADcaKmcabK:ky2:
queen:+PH:Q:ph2:
white horse:+L:fBvR:l2:
whale:+RV:bBvR:rv2:
free boar:+SM:BsR:sm2:
flying ox:+VM:BvR:vm2:
water buffalo:+SS:BsRvW2:ss2:
chariot soldier:+VS:BvRsW2:vs2:
dragon horse:+B:BW:b2:
dragon king:+R:RF:r2:
horned falcon:+DH:BsbRfWfDfcavWfabW:dh2:
soaring eagle:+DK:RbBfFfAfcavFfabF:dk2:
bishop general:+HF:B(paf)0kcB:hf2:
rook general:+SE:R(paf)0kcR:se2:
lion hawk:+LN:BWNADcaKmcabK:ln2:
free eagle:+Q:QADcaFmcabF:q2:
vice general:+BG:B(paf)0kcB(a)2KabK:bg2:
great general:+RG:Q(paf)0kcQ:rg2:
heavenly tetrarch:+CS:jvhQjsQ3cabK:cs2:
fire demon:+WB:shQ(a)2KabK:wb2:
|
25 comments displayed
Permalink to the exact comments currently displayed.
Indeed, a user promotion choice does overrule everything else. If a fixed promotion is required for pieces that would offer choice, the promotion query should be suppressed. Not only because it would prevail, but because it makes no sense at all to let the user choose and then do something else.
The mechanism the Diagram uses for this is to call WeirdPromotion() with the promo parameter set to 1021 (which is not a valid piece type), to inquire whether there is promotion choice. When this call returns 1001 the query will be suppressed, when it returns 1000 a query is forced, and in any other case it decides itself (based on maxPromote, promoZone and promoChoice).
In the AI it works slightly different; there (for a piece that could normally promote) WeirdPromotion() is called with promo equal to the promoted piece (as per promoOffset), and to suppress the promotion this would have to return 1022. It is the deferral (promo=0) that must be turned into a kamikaze move by returning 251, so that moves that would not naturally promote also get burned.
So when a passive burn is detected, WeirdPromotion() should return 1001 if promo == 1021, 251 if promo == 0 and 1022 otherwise.