Check out McCooey's Hexagonal Chess, our featured variant for May, 2025.


[ 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

EarliestEarlier 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 Mon, Feb 12, 2024 08:24 AM UTC in reply to Bob Greenwade from 01:10 AM:

There's no way, in the current implementation, to represent the capturing abilities of the Coordinator or Pincher.

Pincher capture is a form of (conditional) burning. It is not a move, so I don't think it should be represented in the move notation. If the Interactive Diagram were to support it, it should be through the burnZone spec (and captureMatrix for indicating which piece burns).

Now there is of course a spatial aspect to a burn zone, and its extent can very well be defined in Betza terms. As the ID already does. In this definition it is implied that it specifies capture, or in fact rifle capture at all the indicated locations, as an automatic side effect (i.e. mandatory when possible, but not required to be possible). We could elaborate on this definition by allowing modifiers on the atoms. E.g. dK would specify burning of all adjacent friendly pieces. Then you could also specify multi-leg burning. Pincher capture is a form of bouncing grasshopper capture, [dD-bucW]. (This uses the d-u kludge for specifying friendly hopping over the D squares, to capture at the jumped-over W squares.) In a burnZone definition the capture would be understood to be rifle capture. (So perhaps the c should be omitted, as in burnZone specs it is implied that the destination indicates enemies there disappear.)

Coordinator capture (also a form of burning) would be harder to describe. It would be multi-hopping hook-mover hopping to the friendly King, followed by reversal of the second leg of the hook move to make the capture. Problems in expressing that in the current XBetza implementation is that there is no way to specify friendly King capture (so the capture-unload trick cannot be used for the friendly hopping): k captures the enemy royal, ck every enemy non-royal, but dk would logically mean every friend or the enemy royal, with is not redundant, so there is no justification for a special interpretation "every non-royal friend" in analogy with ck (which was otherwise redundant). And this would not be the interpretation we need (only the friendly royal) anyway. The second problem is that although multi-hopping can be indicated with the aid of parentheses, the 'iso' mechanism would not be able to exactly reverse a combination of hops. Not even if we specify that repeated use of i would refer to ever earlier previous slider legs rather than always the latest: a mechanism to force an equal number of hops in the reverse leg would also be needed. A simplification would be to allow pp as indication for "hops arbitrarily many". Then [ppcR-sppk'R] would do it, with the conventions that use of an explicit c in the definition of the burn zone indicates the victim of the one rifle capture it will do, and the apostrophy in k' means friendly King. (This use of apostrophe or double quote on mode modifiers could be used as a general mechanism for indicating friend-only or foe-only, so that it could also be used on p, and the d modifier would become redundant, and could be replaced by c'.)

Don't hold your breath until any of this gets implemented, though. It is already possible to do these captures  with the aid of additional scripting, as can be seen in the Ultima Diagram. Considering how extremely uncommon these pieces are, that seems good enough.


Bob Greenwade wrote on Mon, Feb 12, 2024 04:56 PM UTC in reply to H. G. Muller from 08:24 AM:

Short answer: Yes, that's correct.

Don't hold your breath until any of this gets implemented, though. It is already possible to do these captures  with the aid of additional scripting, as can be seen in the Ultima Diagram. Considering how extremely uncommon these pieces are, that seems good enough.

I don't know about "extremely uncommon," but they certainly are uncommon. I'm not asking for a rush on it, though; I just wanted to be sure that there wasn't a way of doing them that I was missing.

That said, using pp for "hops arbitrarily many" does have some appeal of its own, especially for certain large Shogi variants.


Jean-Louis Cazaux wrote on Mon, Feb 19, 2024 06:19 AM UTC:

@HG: I understand your point of view about the need for S and T. OK. But when you write S 'Second ring', T 'Third ring', don't you think that "ring" is a wrong term there?


💡📝H. G. Muller wrote on Mon, Feb 19, 2024 07:52 AM UTC in reply to Jean-Louis Cazaux from 06:19 AM:

Yes, you are right, 'ring' might be confusing. Better to say 'second square'.


Bob Greenwade wrote on Tue, Feb 20, 2024 07:15 PM UTC in reply to H. G. Muller from Fri Feb 9 06:51 AM:

Since it is always clear in bracket notation what belongs to the same leg, I suppose there would be no reason to forbid compound legs. The XBetza compiler already expands the moves like you did here, not for different atoms, but for different directions of the same atom. (So aK gives 56 moves in the move table!) Your Thaumaturge could then be written as [xKCZ-KCZ]. Of course there is currently no support for this at all in the ID (except for the WF case implied by K), but it is a thing to keep in mind when implementing direct compilation of the bracket notation.

I just wanted to request that you let me know if/when this is imiplemented. (I say this, understanding that it may not be this year.)

Oh, and don't forget to add what happens with q on single-letter sliders to the list of "new/altered" modifiers.


💡📝H. G. Muller wrote on Tue, Feb 20, 2024 10:03 PM UTC in reply to Bob Greenwade from 07:15 PM:

Oh, and don't forget to add what happens with q on single-letter sliders to the list of "new/altered" modifiers.

Well, up to now it was an undocumented feature, and I am not sure if it is a desirable one. qR does the same as [W?DD], but the latter is a lot clearer. To understand qR you would have to know that q is overloaded, and doesn't mean 'circular' in this context, but something totally unrelated. Most people would not know that.

If I knew for which Diagram I implemented this, I would change it to the bracket notation there, and no longer support q in this meaning in the general script.


Jean-Louis Cazaux wrote on Tue, Feb 20, 2024 10:26 PM UTC in reply to H. G. Muller from 10:03 PM:

@HG and Bob: just a testimony. I had not followed your discussion, but yesterday I indeed tried qR, qQ, on the Diagram, and I was very surprised to see that it gave [W?DD], [K?SS]. I was wondering why is this related to a circular move. This is what HG is saying now if I don't misunderstand.


Bob Greenwade wrote on Tue, Feb 20, 2024 11:03 PM UTC in reply to H. G. Muller from 10:03 PM:

To understand qR you would have to know that q is overloaded, and doesn't mean 'circular' in this context, but something totally unrelated. Most people would not know that.

They probably would know it if the feature was documented.

But, I guess it's up to you. Perhaps something related to j (like jjR, or maybe jyW) would be more intuitive.


Bob Greenwade wrote on Tue, Feb 20, 2024 11:08 PM UTC in reply to Jean-Louis Cazaux from 10:26 PM:

I was wondering why is this related to a circular move.

That actually is the probolem that H.G. is citing about this, and it's a valid concern. I rather like it, since sliders are different animals than steppers and leapers, but I've only put it in one place, which doesn't yet have an ID, and I'll readily change to [K?SS] or (ampfaf)K or jjQ or whatever works best.


Daniel Zacharias wrote on Wed, Feb 21, 2024 03:53 AM UTC:

Am I defining this correctly?

my(adaubacfab)4Q

This is supposed to move as a queen and capture any enemies next to the destination square if there is also an adjacent friendly piece immediately opposite. It doesn't seem to work exactly how I want in the sandbox, so what's wrong with it?


Niels van Ham wrote on Wed, Feb 21, 2024 02:26 PM UTC in reply to Daniel Zacharias from 03:53 AM:

Even though it ignores the 4 part of the move, it still works as you describe it

Note : It also funny to say; "my adaubacfab"


💡📝H. G. Muller wrote on Wed, Feb 21, 2024 03:26 PM UTC in reply to Niels van Ham from 02:26 PM:

There are several issues here. The 'range' indicator 4 means 0 to 4. So all the pincher captures become optional; it can use the 0 case. And I suppose you want it to be an automatic side effect. Even if you could force it to traverse the parenthesized part 4 times, (by just writing it in full 4 times), there is no guarantee it doesn't take the path 4 times over the same piece, or over two pieces each twice.

The problem is that what you are trying to describe is not really a move. It is a form of conditional burning. These can both be described in Betza notation. But the difference is that for a move you have to pick one of the possible realizations, while for burning every possible realization should be executed. And that nothing moves during such execution: you really describe the path of a 'flame', which evaporates after having done its damage.

What you would want is being able to define spellZone=dabuafcK.

Now that I think about it, this might not be so difficult to implement. I could treat the spellZone as an extra piece, letting the Betza parser create the move list as usual. Then every move of a burning piece should automatically be followed by all possible moves of an empty square from the destination of that piece. Tomorrow I will try if I can get something working along those lines; most code for it already exists, and should just be called for another purpose.


Bob Greenwade wrote on Wed, Feb 21, 2024 03:44 PM UTC in reply to H. G. Muller from 03:26 PM:

Now that I think about it, this might not be so difficult to implement. I could treat the spellZone as an extra piece, letting the Betza parser create the move list as usual. Then every move of a burning piece should automatically be followed by all possible moves of an empty square from the destination of that piece.

Ooooh! Am I right in concluding that this would also allow for spellZone=KNS, spellZone=sRbBfW (Earthward Net), or spellZone=AXCY (Peacenik)? (I imagine that this would be done with both blastZone and spellZone.)


💡📝H. G. Muller wrote on Wed, Feb 21, 2024 05:59 PM UTC in reply to Bob Greenwade from 03:44 PM:

Not really, because I was talking about blastZone, even though I wrote spellZone by mistake. One difference is that the latter would have to deal with many kinds of spell.

But it might not be hopeless. The way spellZone is currently implemented is by tracking the piece that casts it, so that its location is known, and then before move generation create a board-size array, and mark the squares in it around the casting piece. The latter could be replaced by a move generation for the dummy piece, where each valid destination would not push a move on the move stack, but would mark the destination square. Or better, the capture square (which normally would be the same). By using c or d in the zone descriptor you could then decide whether the spell affects friends or foes (which would the need distinguishable marking).


Bob Greenwade wrote on Wed, Feb 21, 2024 06:51 PM UTC in reply to H. G. Muller from 05:59 PM:

Thinking... after that's all implemented, it looks to me like it might be possible to implement my Chicken Pawn move (the piece slides backward orthogonally or diagonally, but only if it's under attack). I wouldn't expect that right away, since it's low-priority and would (at best) require a bit of cogitation, but it sounds like it at least would be possible.


Bob Greenwade wrote on Wed, Feb 21, 2024 07:07 PM UTC:

I thought it might be helpful to update this list, with new information:

A - Alfil (2,2)
B - Bishop (FF)
C - Camel (1,3)
D - Dabbabah (0,2)
F - Ferz (1,1)
G - Tripper (3,3)
H - Threeleaper (0,3)
I - Imitator
J - alt Zebra
K - King (WF)
L - alt Camel
N - Knight (1,2)
O - Castling
Q - Queen (BR = FFWW)
R - Rook (WW)
S - Second space (AD)
T - Third space (GH)
U - Univeral leaper
W - Wazir (0,1)
X - +3 ortho
Y - +2 diag
Z - Zebra (2,3)

a - again
b - backward
c - capture
d - destroy (friendly capture)
e - en passant
f - forward
g - grasshop
h - half
i - initial (or “iso” in a sequence)
ii - initial (where any such piece starts)
j - jumping (leaper) / ski (slider) / second from the end (castling)
k - king (delivers check)
l - left
m - move only
n - non-jumping
nn - non-jumping, allows en passant
o - cylinder (l/r)
oo - toroid (l/r & f/b)
p - hop
q - circular (rotates direction)*
r - right
s - sideways
u - unload (position switch)
v - vertical
x - excite (move induction/borrowing)
y - fork (in a sequence; switch between stepper/leaper and slider/rider)
z - zigzag (reverses direction of turn)

' - (following an atom) Cannot promote or morph using this move

*Also, for now, q turns a single-letter slider (B/R/Q) into a slipper.

Available atoms: E M P V

(Right now, M is proposed for Mimic, and P is being considered for Pawn.)

Available modifiers: t w

If I do this again, I may also include two-letter codes (like ck and rh), including some special codes under consideration, along with combos that achieve certain tricks like rifle, slip, null move, etc.


Jean-Louis Cazaux wrote on Wed, Feb 21, 2024 07:15 PM UTC in reply to Bob Greenwade from 07:07 PM:

Again, I'm conscious to be a pain in the neck, but I contest the use of "perimeter" for S and T. A perimeter is not that!


💡📝H. G. Muller wrote on Wed, Feb 21, 2024 07:32 PM UTC in reply to H. G. Muller from 05:59 PM:

There could be an issue when allowing arbitrary XBetza move footprints as blastZone, though: sould it have an absolute orientation, or be relative to the move of the burning piece? The rudimentary description used now was absolute; the Fire Dragon in Minjiku Shogi had a Q move, with an F burn, and burned diagonally no matter how it moved. But then you could not specify an Advancer with this.

spellZone can only have absolute orientation, as there is no move to relate it to.

I guess c and d in the final step should be interpreted as to which side would be affected by the spell, not as what the current occupancy of the board should be before the move to be under the spell. E.g. a brake spell must affect empty squares to fullfil its function. So the marking of spell squares should use contingency planning, and tell what would happen should a piece of a certain type appear there.


💡📝H. G. Muller wrote on Wed, Feb 21, 2024 08:47 PM UTC in reply to Bob Greenwade from 07:07 PM:

Note that the apostrophe does not just affect promotion, but causes complete ignoring of anything specified in the morph or captureMatrix. That can also be burning, anti-trading rules, inaccessibility of a square.

Another proposal is cc in a final leg for move-dependent burning rather than moving.


Bob Greenwade wrote on Wed, Feb 21, 2024 09:02 PM UTC in reply to Jean-Louis Cazaux from 07:15 PM:

Again, I'm conscious to be a pain in the neck, but I contest the use of "perimeter" for S and T. A perimeter is not that!

While I agree with you from a purely linguistic and geometric standpoint, I've seen the term used for this elsewhere.

I could go with "radius," though, given that it refers to moves that many steps away.


Bob Greenwade wrote on Wed, Feb 21, 2024 09:14 PM UTC in reply to H. G. Muller from 07:32 PM:

I think I'd give blastZone absolute orientation by default, with some sort of flag to make it relative. Perhaps the apostrophe can have that meaning in this context?*

Also, doesn't brake affect pieces already present, by turning sliders into steppers and riders into leapers?

I do agree with your take on c and d in the final step, but I'm not sure what you mean by "a piece of a certain type" at the end. Do you mean broader categories like those I just mentioned, or something like a spellMatrix? (I'd welcome a spellMatrix, though I can think of many other things that would take precedence, among them cc and M.)

*My first thought was w for "welative," but that's just widiculous.


Bob Greenwade wrote on Wed, Feb 21, 2024 09:16 PM UTC in reply to H. G. Muller from 08:47 PM:

Note that the apostrophe does not just affect promotion, but causes complete ignoring of anything specified in the morph or captureMatrix. That can also be burning, anti-trading rules, inaccessibility of a square.

Noted. A simple edit.

Another proposal is cc in a final leg for move-dependent burning rather than moving.

I can make a note of that, once I get more into the two-letter groups.

Should I make a page of this, as a sort of XBetza Quick Reference?


Jean-Louis Cazaux wrote on Wed, Feb 21, 2024 11:03 PM UTC in reply to Bob Greenwade from 09:02 PM:

The fact you would have seen elsewhere is not a strong argument. I have seen many wrong things somewhere in my life, and I probably wrote some of them too :=) Why don't you say "square" (after correcting "ring") as HG does on this same page? It wouldn't be perfect, but it is less incorrect. Well, after all, I was just saying. With perimeter, people may understand that S=ADN and T=HGZC because they are the perimeters in a common view.


Bob Greenwade wrote on Wed, Feb 21, 2024 11:07 PM UTC in reply to Jean-Louis Cazaux from 11:03 PM:

I'll make it super-explicit, then: Second Space.

Someone would have to have the brains of a lobotomized amoeba to look at the description where it says (AD) and think it means (AND), and even worse to think (GH) means (GCZH).


Jean-Louis Cazaux wrote on Thu, Feb 22, 2024 06:10 AM UTC in reply to Bob Greenwade from Wed Feb 21 11:07 PM:

Perhaps, I am a lobotomized amoeba.


25 comments displayed

EarliestEarlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.