Check out Makruk (Thai Chess), our featured variant for March, 2025.

Enter Your Reply

The Comment You're Replying To
H. G. Muller wrote on Sun, Apr 6 06:03 PM UTC:

The past week I made another sweep through the alphabetical index to identify "game information pages" for variants that are within the capabilities of the Interactive Diagram's AI. I managed to everything from finish Z to R. (I was working backwards through the alphabet, because last time I went forwards from A, but I had forgotten how far I got.)

Since that previous sweep the capabilities of the Diagram have been greatly extended, in the sense that what needed embedding custom JavaScript in the page can now usually be handled by the morph and captureMatrix parameters.

I also developed new tricks for configuring the Diagram to handle games with 'limited' piece drops. With this I mean cases where the piece drops are just intended for introducing 'spare' pieces by dropping them in a comparatively small and save area of the board (such as the player's own backrank), where they are unlikely to cause much tactical upheaval. Most of the problems that exist with Shogi-like piece drops than do not occur. Dropping on empty squares in the backrank on 8x8 gives at most 8 drop moves for a piece in hand, not any different from what a typical minor piece has away from the edges. This means the search tree won't explode, especially if you can arrange the mechanism of introduction (e.g. by leaping from a brouhaha square) such that no multiple pieces of the same type have simultaneous access (by blocking each other).

A second consequence is that the value of a piece in the hand is not higher than on the board. Especially since the dropping typically cannot be a capture. So no extra depth is needed to make potential drops prove their usefulness, and overcome the intrinsic value loss on leaving the hand, as there would be for Shogi. In one respect the support of the I.D. for such drops can be improved: the heuristic for determining piece value for the off-board pieces completely fails, as it is judging the moves defined to travel to the board. (The in-hand piece is defined as a separate type, morphing into the desired piece when it lands on the board, and has only the moves it needs to reach the board as a valid drop.) Usually it is very low (because the number of potential introduction moves is small, and none of them are captures), or even zero (because introduction requires sliding through off-board squares, blovking any move on board).

The I.D. already has a value parameter, which can be used to overrule the automatically determined piece value. But for the introduction to work sensibly you would need an in-hand value very close to the value on the board (or it will always introduce at the earliest possibility, at the expense of sound development, or never introduce at all). And the piece value heuristic works by random sampling, making the absolute piece values vary from run to tun, (each time you reload the page). So you cannot set a value now that is slightly lower than the on-board value, without sometimes finding that it is actually higher, and the piece will not be introduced. This problem could be solved by allowing the value parameter to accept a relative value, which should be added to the heuristically determined value of a given piece. E.g. by appending a /xxx to it, where xxx is the number of the piece to which the value before the slash should be added.

Another possible enhancement of the I.D. could be the support of neutral pieces. I encountered several variants that I could not do because they involved those. Such pieces come in two flavors: those that have to be movable by both players, and those that have to be capturable by both players. I suppose there could be parameters friend=N and foe=N to give the numbers of the pieces that always can be moved or captured, respectively.

Support for the introduction method in Matts Winther's variants (of which there are many!), where they are 'gated' onto the board at the origin square of Pawn from its initial rank, might also be useful. So far th I.D. only has support for the Musketeer mechanism through the autoGate parameter. Seirawan gating is also not implemented.

Things that seem rather hopeless at the moment are variants with Shogi-style drops, and hexagonal variants. Of course hexagonal boards can be distorted to a square topology, but this loses most of the 'educational value'. Moves get asymmetric, and have ugly Betza notations. Even if it would be doable to make a table with masonry like square layout (and provide a full-board image with hexagons as background), I don't think it would be useful to include such Diagrams if there isn't a Betza-like notation system for moves dedicated to hexagonal topology. I was surprised how many hexagonal variants we feature on CVP.

[Edit] Oh yes, and not to forget about multi-player variants, multi-move variants, variants with hidden information, variants with dice/cards.... Those are the most hopeless of all.

Multi-dimensional is already possible, as it can always be mapped on side-by-side 2-dimensional slices. But the move description then is very ugly, and not fit for presentation (expressing the displacement in the remaining dimensions as very long leaps). To ameliorate that the meaning of the Betza atoms could be extended to their totally symmetric equivalent in higher dimension, so that at least variants with totally symmetric pieces (which are most common anyway) would be possible. There would be a shortage in directional modifiers, though. One method out of that would be to redifine 's' as the four sideway directions, which would allow symmetry breaking in the vertical direction. Or, more flexible, redefine the combinations v = fb and s = lr, which serve us so well in 2d, as v = (vertically) up , and s = down ('sinking').


Edit Form

Comment on the page Interactive diagrams

Conduct Guidelines
This is a Chess variants website, not a general forum.
Please limit your comments to Chess variants or the operation of this site.
Keep this website a safe space for Chess variant hobbyists of all stripes.
Because we want people to feel comfortable here no matter what their political or religious beliefs might be, we ask you to avoid discussing politics, religion, or other controversial subjects here. No matter how passionately you feel about any of these subjects, just take it someplace else.
Avoid Inflammatory Comments
If you are feeling anger, keep it to yourself until you calm down. Avoid insulting, blaming, or attacking someone you are angry with. Focus criticisms on ideas rather than people, and understand that criticisms of your ideas are not personal attacks and do not justify an inflammatory response.
Quick Markdown Guide

By default, new comments may be entered as Markdown, simple markup syntax designed to be readable and not look like markup. Comments stored as Markdown will be converted to HTML by Parsedown before displaying them. This follows the Github Flavored Markdown Spec with support for Markdown Extra. For a good overview of Markdown in general, check out the Markdown Guide. Here is a quick comparison of some commonly used Markdown with the rendered result:

Top level header: <H1>

Block quote

Second paragraph in block quote

First Paragraph of response. Italics, bold, and bold italics.

Second Paragraph after blank line. Here is some HTML code mixed in with the Markdown, and here is the same <U>HTML code</U> enclosed by backticks.

Secondary Header: <H2>

  • Unordered list item
  • Second unordered list item
  • New unordered list
    • Nested list item

Third Level header <H3>

  1. An ordered list item.
  2. A second ordered list item with the same number.
  3. A third ordered list item.
Here is some preformatted text.
  This line begins with some indentation.
    This begins with even more indentation.
And this line has no indentation.

Alt text for a graphic image

A definition list
A list of terms, each with one or more definitions following it.
An HTML construct using the tags <DL>, <DT> and <DD>.
A term
Its definition after a colon.
A second definition.
A third definition.
Another term following a blank line
The definition of that term.