Check out Janggi (Korean Chess), our featured variant for December, 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 ]

Comments/Ratings for a Single Item

Earlier Reverse Order LaterLatest
Betza notation (extended). The powerful XBetza extension to Betza's funny notation.[All Comments] [Add Comment or Rating]
💡📝H. G. Muller wrote on Fri, Jun 12, 2020 05:07 PM UTC:

I did a complete write-up on XBetza recently, and submitted it to CVP as an article. It also contains an updated copy of the 'Betza sandbox'. But it isn't approved by the editors yet.

satellite=joker files=9 ranks=8 graphicsDir=/graphics.dir/alfaerie/ whitePrefix=w blackPrefix=b graphicsType=gif squareSize=50 useMarkers=1 maxPromote=1 promoChoice=QNRBJ symmetry=mirror pawn::::a2-i2 knight:N:::b1,h1 bishop::::c1,f1 rook::::a1,i1 queen::::d1 joker::fI:fool:g1 king::::e1

This is demo featuring a Joker. I see now that the pure I atom describes a bi-directional Joker, which imitates both the piece and its 180-degrees flipped version. This was not my original intention. But perhaps it is just as well, as without directional modifiers Betza atoms always move in all directions, and it would be ugly if I was an exception. So I changed the definition of the Joker in the diagram above to fI, so that it only imitates the Pawn moves as if they were Pawns of its own color.


Aurelian Florea wrote on Fri, Jun 12, 2020 05:08 PM UTC:

ok!


Aurelian Florea wrote on Fri, Jun 12, 2020 06:53 PM UTC:

Why does the below diagram asks to put the gated piece on the board?


💡📝H. G. Muller wrote on Fri, Jun 12, 2020 07:40 PM UTC:

It should not. That is a feature for Musketeer-type gating. Earlier today I had uploaded a buggy version, which switched that on by default, instead of only with the option autoGate=1. But it has long since been replaced. It seems you are still using an old version of the script. What happens when you click on the 'move' header in the piece table?


🕸Fergus Duniho wrote on Fri, Jun 12, 2020 09:12 PM UTC:

I have corrected some spelling mistakes.

I changed mention to a table to a list, because the underlying HTML was for a list, not a table.

I don't follow what the x modifer does. An example would be helpful.

It's not clear how FyafsF is supposed to describe the Griffon. Should the second F be an R?

I rewrote the description of the leadng i modifer to use the word initial and to omit use of the word virgin, which was being used in a figurative rather than a literal sense.

Is mp something different than the moving and hopping modifiers combined? Does mpafsK mean the same as N? If so, how does it work?

I'm not familiar with Bifurcators, and other readers might not be too. An illustration to how the piece works or a link to a page on this type of piece would be helpful before describing what gabyabsR  is doing.


💡📝H. G. Muller wrote on Fri, Jun 12, 2020 10:31 PM UTC:

Is mp something different than the moving and hopping modifiers combined? Does mpafsK mean the same as N? If so, how does it work?

I now elaborated on that, and hope this will make it clear.

I don't follow what the x modifer does. An example would be helpful.

I think we have to discuss presentation strategy here. The list of modifiers below the diagram also serves the purpose of a quick reference guide, which can always be kept in view by people who are using the sandbox diagram. Elaborating on each of them, explaining examples, would easily quadruple its size, so that it becomes difficult to use for that purpose. I do in fact give an example for x, (mNxaN) but I don't say what it is. (It is in fact the Knight of Knight-Relay Chess, which moves (without capturing) like a Knight (mN) and induces Knight moves at a distance of a Knight move (xaN)).

Would it be an idea to add an extra section where each of the examples mentioned in the 'quick reference' are discussed in depth?

It's not clear how FyafsF is supposed to describe the Griffon. Should the second F be an R?

Did you read the 'more about a' link in the 'quick reference'? It opens a box that should make this clear. I presented it this way, because most people wanting to use XBetza (e.g. for making an Interactive Diagram for their variant) would not need the complexity of multi-leg moves, and be completely satisfied by combining Knights with Bishops, or perhaps make a HFD. Even the need for directional modifiers is quite rare (outside Shogi). Not many people use bent riders, bent lame leapes, locusts, bifurcators, pieces that induce moves in other pieces, or displace those...

I don't want to burden the 95% of people with stuff they don't need, and deter them by it. The a is a highly advanced feature of XBetza, almost never needed.

But it would of course be bad if I hid it so well that people will miss it alltogether. The more-about-a box was actually a remnant of the old sandbox diagram I posted as a comment to the Betza article (since then pushed far in the background noise). In a real article I have more space, and perhaps I should move most of what is now in the box to the preceding section about XBetza above the sandbox, or a new section about multi-leg moves. (With an initial warning that people who just want to do basic things can skip that section.)

To answer your question: The yafsF part of FyafsF means the move starts as F to an empty square, to fork there (y is "move and continue as slider"), and then continue in the (relative) fs direction, i.e. as a Rook. That is a Griffon, except for the F moves. (Because a Rook makes at least one step; it cannot null-move.) So the latter are slammed on separately.

I'm not familiar with Bifurcators, and other readers might not be too. An illustration to how the piece works or a link to a page on this type of piece would be helpful before describing what gabyabsR  is doing.

Bifurcators are an invention of Mats Winther. But when I looked for them, I could not find any mention of them in the Piececlopedia. (Do we have a search function here?) I know Mats describes many variants on his own website, mostly based on very innovative piece designs ('Catapults' are another invention of him).

Note, however, that the sandbox diagram is available as an interpretation aid: to know what it means you only have to copy-paste it in the Betza move-entry, assign it to a piece, (e.g. 'betza2'), and then click on the name of that piece to summon up the move diagram. As this is some kind of hopper, even the move diagram will be interactive for pointing out the hopper's mount by hovering the mouse pointer over a square in its path (or touching that square on a touch-screen device). That would make it obvious what the piece does; as they say, a picture is worth a thousand words.

One reason for giving the examples was to provide people with something to try out the sandbox diagram with something non-obvious.

[Edit] I now added a section at the end, which discusses the examples of the more complex pieces in detail.


Aurelian Florea wrote on Sat, Jun 13, 2020 04:07 AM UTC:

HG,

The script works wonderfully. Thanks! 

Microsoft edge got updated last night. I think this is why!


💡📝H. G. Muller wrote on Sat, Jun 13, 2020 06:48 AM UTC:

Problem is that it still assigns zero value to the Joker, because it determines piece values at the start of the game, when the Joker has no moves yet. Not sure how to put a value on it; it seems to depend a lot on what the opponent has. So some sort of average of the opponent piece values. But it should be a weighted average, as stronger pieces tend to move more frequently than weaker pieces. And of course it should be weighted by the number of each type the opponent has as well. So something like SUM(over pieces) value*value/SUM(over pieces)value.


Aurelian Florea wrote on Sat, Jun 13, 2020 07:52 AM UTC:

I was wondering about that :)!


💡📝H. G. Muller wrote on Sat, Jun 13, 2020 09:00 AM UTC:

OK, I just uploaded an updated script that fixes that.


Aurelian Florea wrote on Sat, Jun 13, 2020 09:05 AM UTC:

HG,

If you have time to make the interactive diagrams AI work on the particular cases of chess960 (for the initial position randomness) and gross chess (for the promotion rule) I'd really apreciate it for my apothecary games as I think I would be able to do interactive diagrams on them, too.


💡📝H. G. Muller wrote on Sat, Jun 13, 2020 11:20 AM UTC:

I did post an Interactive Diagram for Gross Chess. You can simply look up that comment, click 'View' to see it in isolation, and then ask your browser for the 'page source' to see the HTML. Then you will see the diagram definition between the <div> tags and the supporting JavaScript for handling the special promotion rule between <script> tags. You can just copy that JavaScript. You might have to adapt the numbers a bit to bring it in accordance with what promotions you want to allow where, but that should be easy, as it is a very straightforward routine. Programming in JavaScript is a hundred times easier than writing 'game code'...

As to the shuffling: you would have to tell me by which rules you want to shuffle.


Aurelian Florea wrote on Sat, Jun 13, 2020 03:29 PM UTC:

I had found a function called weird promotion. I'll get to it tommorrow. Thanks HG!...

 

Later Edit: I don't understand how the rule that states that you must have the pieces in reserve is implemented. 

I'll take a look on Grand chess also, I guess!


💡📝H. G. Muller wrote on Sat, Jun 13, 2020 03:45 PM UTC:

Oh, that rule is a standard feature of the diagram. You can also see that in the definition of the Gross Chess diagram itself. You just prefix the piece ID in the promoChoice setting with an asterisk (*). (Must still make the AI understand that, though.) Choices that cannot be made on last rank (like staying a Pawn) can be prefixed with an exclamation point (!). So you don't have to worry about that in WeirdPromotion(). The problem is that the way the diagram works it would offer all pieces mentioned in promoChoice that are available for the user to promote to, irrespective of what rank in the zone you are on. So the task of WeirPromotion is just to reject the choices that are not allowed according to the specific promotion rules, and I think the version there does that by considering them the choice to not promote at all. By replacing the choice by a Pawn, as if the user had chosen that. On the last rank, where a Pawn would not be allowed, this can never happen, as every other choice would be allowed there.) I think in newer versions of the Diagram script WeirPromotion() can actually cause the Diagram to refuse the move completely (rather than just the promotion), by returning 1022 as choice.


🕸Fergus Duniho wrote on Sun, Jun 14, 2020 09:03 PM UTC:

Various examples mention that fs continues a move at a 45 degree angle, but there is no prior mention of this in your descriptions of the modifiers. Where you are overloading the meanings of the modifiers by giving new meanings to pairs of modifiers, it would be helpful to explicitly spell this out in your quick reference.


💡📝H. G. Muller wrote on Sun, Jun 14, 2020 09:50 PM UTC:

Well, the main text says:

The latter is specified by the directional modifiers on the continuation leg, and is triggered by a diagonal direction specification causing a 45-degree change in direction (as directions are always relative to the previous leg).

So there is nothing new in the use of fs here; it has always meant 'diagonally forward', i.e. at an angle of 45-degrees to 'forward'. It is just that 'forward' is a relative notion. And frankly, I don't see how that could be different. The moves of a chess piece start off in many different directions, so if you want to describe a move with a fixed shape, it is only the angle between the steps that count. An absolute orientation would be useless; it would be different for each move of the symmetry-equivalent set. Angles must always be given compared to some frame of reference; for the first step the piece is still in the origin, and the symmetry is not yet broken, so we take the player as the reference.

[Edit] As the old text apparently was not clear enough, I moved part of what was hidden in the more-about-a box to the XBetza section, and also added some more explanation there. I completely rewrote the content of the hidden box, to make more like a reference guide than an explanation.


🕸Fergus Duniho wrote on Tue, Jun 16, 2020 01:59 AM UTC:

I just searched for the text you quoted to read it in context, and the search brought me directly to your comment quoting it. Did you remove it?


💡📝H. G. Muller wrote on Tue, Jun 16, 2020 05:36 AM UTC:

Apparently so; this was one of the things from the XBetza section that was also mentioned in the hidden more-about-a box in other wording, and when I amalgamated the two, and in response to your remark, I changed it to:

For instance, directions on continuation legs are always specified relative to the preceding leg, as we want the notation to specify moves of a fixed shape. Thus f should be read as "in the same direction", (e.g. mafF is a lame Alfil.) and fs as "deflected by 45 degrees left or right". This rotation of the frame of reference means that continuation legs always use the same system for specifying directions as the K atom: even for oblique and diagonal atoms f in a continuation leg only specifies a single move.


🕸Fergus Duniho wrote on Tue, Jun 16, 2020 10:06 PM UTC:

I have made some revisions for the sake of clarity, though I'm not done reading it over yet. I have also started on creating a system for keeping track of revisions. When you update your submission, a relatively permanent copy will also be saved to the Revisions table. In time, I will add the ability to view, compare, retrieve, and delete specific past revisions.


🕸Fergus Duniho wrote on Wed, Jun 17, 2020 05:14 PM UTC:

I made a few more revisions, published this page, and changed its type from Game to Desktop Publishing.


A. M. DeWitt wrote on Wed, Jun 24, 2020 09:44 PM UTC:

Is there a way to have a piece jump 4 squares diagonally? As it is now, the diagram doesn't appear to have that option as a single move/atom.


Greg Strong wrote on Wed, Jun 24, 2020 11:20 PM UTC:

Yes: mpafA

The 'a' means again, so two A steps.  The 'mp' means the first square can either be empty, or occupied and passed over.  In other words, doesn't matter what's there, so the two steps are glued together.  And the 'f' restricts the second step to the same direction as the first (forward, relatively speaking).

It would be nice to be able to use (4,4) in place of an atom to specify an arbitrary step.


💡📝H. G. Muller wrote on Thu, Jun 25, 2020 08:16 AM UTC:

The X suffix for 'extended' atoms was somewhat of a hack, to quickly solve a problem that occurred. I am not very happy with it, expecially since the amount of extension is dependent on the lateral step of the atom. I don't like the coordinate notation (1,4) much either. For one, I would like to reserve the parentheses for grouping modifiers, or just for the purpose of enhancing readability. Brackets like [1,4] would look better, IMO.

The dilemma here (as always) is whether we want to go for something universal, which requires an infra-structural investment (in this case the brackets and the comma) to make it work even in simple cases, or use an ad-hoc solution that captures a few cases in a very simple way (such as the X suffix), but offers no universal relief. BTW, the suffix solution could be made universal by allowing repeated suffixes, like in Roman numerals vs arabic digits. Depending on the frequency distribution of the numbers encountered in practice, one system or the other would on average give the most compact representation. (Or, to say it differently, run-length encoding only gives compression on texts that frequently contain long repetitions of the same character.)

The X system is lame, however, and I now regret having implemented it. Perhaps it is not too late to change it. A better solution of this type would be to have two suffixes: X for adding an H step, and Y for adding an A step to any given atom, and allow repetition of as many X and Y as is needed. Primitive, but more consistent than the current X suffix. And HXX for [0,9] is still only 3 characters vs 5, HXXX for [0,12] is 4 vs 6, only after HXXXXX for [0,24] the coordinate system starts to need fewer characters. And would we ever want to describe pieces that leap more than 24?

The atom table would then become (1 quadrant shown):

HX CX ZX GX DYY
DX NX AX CY ZY FYY
WX FX DY NY AY
H  C  Z  G
D  N  A  Z
W  F  N  C
#  W  D  H 

A. M. DeWitt wrote on Thu, Jun 25, 2020 02:44 PM UTC:

I think adding the Y extension and repeatable suffixes is a good idea. It might also be a good idea to allow the X and Y extensions to be combined in case there is a leap that one extension cannot simplify on its own. It may not be a perfect solution, but it should be good enough to suit the needs of most variants.


Greg Strong wrote on Thu, Jun 25, 2020 02:46 PM UTC:

Personally, I like [x,y] a LOT better than adding X and Y as suffix atoms, which is a pretty ugly hack.

And, yeah, using brackets and saving the paranthesis makes sense.  (Betza 2.0 is easier for me to comprehend than XBetza.)


25 comments displayed

Earlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.