Comments/Ratings for a Single Item
x
is already taken sadly (for move‐relayers that ‘eXcite’ other pieces). Afaict the only (ASCII — I'd wager few would support using þ
, ß
, ⱶ
, ⁊c.) letters that aren't yet used in XBetza are t
and w
— of which the former had a meaning for Betza himself (though iirc the article he introduces it in also features incompatible meanings for a number of other letters). w
as a prefix (to ‘widen’ the available options?) sounds plausible I think
What about using numbers after lowercase letters to indicate separate meanings? It might look weird, but it would allow using any letter any number of times.
I think notation would be intuitively more clear with punctuation characters rather than digits as suffix to lower-case letters. E.g. c' or c". That gives me an idea: the range-toggle could be decoupled from the move mode, by using a' for starting a new leg with range toggle, and plain a for starting a new leg of teh same type. That way the y and g on non-final legs could be deprecated.
Suffix char is fine too. I don't really think a' is better than the current y, though, and adding new options and deprecating should be avoided in my opinion unless it's a huge win. Besides, a' should probably be capture-by-advance. Sure, there's " but I would avoid multiple suffixes as long as reasonable.
While it is true that ya = ma' = a', and ga = pa', there was no such thing for ca' or da'. If Advancer capture would be worth having its own symbol, it would seem more natural to me to make that c'. I am not sure it is, however; Advancers are not that common, so that it isn't too bad if their description is a bit complex. Furthermore, I can imagine several variations on this kind of capture, e.g. where the piece ends two steps before the piece it captures, or that it captures the nearest piece in the direction it moves. Having a dedicated notation for each of those would lead to a proliferation of dedicated (rarely used) modifiers. I'd rather have a powerful general system relying on commonly used modifiers.
Advancer capture seems related to Fire-Demon burning. It would be nice to have a method for appending a 'burning leg' to a move, which would not actually be made by the moving piece, but would execute the operation specified by the mode (c, d or e) there whenever it is possible, but would not block the move if it is not possible. Say we would specify this as t (for 'terminate'). Then the Advancer could be yaftcQ: a Q move to an empty square with range toggle (y), after which the move can terminate, but must continue in the forward direction (with a single step because of the range toggle) to capture if there is anything to capture. Without the f it would have been a Queen that burns like a Fire Demon. (A Fire Demon would be vsvmca'tcQaamcatcKamcatcK.)
[Edit] An alternative for using a new modifier is to indicate burning by cc (or dd). Duplication of characters is a common device even in the original Betza notation (e.g. NN = Nightrider, ffN = Shogi Knight). An Advancer would then be yafccQ. There would be no need to invoke quoting, or use the t. The latter could be used as an alternative to a, for starting a new leg with toggled range (so that it would obviously stand for 'toggle'). That would allow range toggling on a capture, such as would be needed to describe Fire-Demon-like burning (mctccQ = slide to move or capture, and then burn all adjacent foes).
I wonder whether it would do any harm to redefine the meaning of y as just indicating a range toggle, rather than m with a range toggle. The meaning of the combination ya would remain the same, as a without any explicit mode indicator defaults to ma. Only in combination with an explicit mode it would make a difference: currently ycaX means yaXcaX, i.e. a range toggle on an empty square, or a locust capture without range toggle. While the new meaning would be a locust capture with range toggle, without the possibility to end the first leg on an empty square.
The point is that I cannot imagine a combination of a range-toggling mode and a different non-toggling mode would ever be needed. In fact it appears that in the XBetza implementation of the Interactive Diagram (and its conversion to GAME code) such combinations don't even work as the old definition of y required. Due to a bug the range toggling specified by y already 'leaks' into modes that were specified as alternatives to it, and up to recently this was never noticed.
This redefinition of y removes the need to resort to using non-alphabetic characters for now, as ya takes the function of the proposed a'. The modifier t can then be kept in the proposed meaning of 'terminate', (as alternative to a) to indicate the remaining legs of the path are not performed by the piece, but just administers its 'influence' (such as burning). On second thought using an explicit indicator for the start of the 'influence path' is more versatile than using a separate mode (like cc) for burning, because it also allows burning according to a multi-leg path. The latter might be needed to emulate burning of non-adjacent pieces through a (dummy or lame) intermediate square.
With this new meaning of y, the Advancer would be ytfcQ. An Advancer that stops 2 squares before its victim would be ytfafcQ, and one that captures the first piece in the direction it moves tfcQ.
I also gave some thought to the issue of 'initial' moves. It is reasonably common that such moves depend not on whether the piece was moved before, but on whether it is in its initial location. E.g. for Pawns in Crazyhouse, which have the double push on the 2nd rank even when they were moved, captured and dropped before. This interpretation of 'initial' could be indicated by a leading ii on the move, instead of just a single i.
The ii modifier (or something similar meaning the same thing) is a genius idea. For the burning, there may be some merit to having something to determine certain specifics of the burning move (i.e. whether the move is passive as well as active, and if it is, which piece has priority in a conflict b/w the burning pieces) with diagram parameters. XBetza wouldn't necessarily be able to handle those specifics on its own.
Are any of the ideas here: http://chessvariants.wikidot.com/joe-s-strange-notation of any value to extended Betza notation or piece icon design, or are they too divergent? My iconology attempt was to define the move of the piece with the icon without using actual footprints or numbers, and I haven't seen any other attempts to do so, although I haven't been very active recently.
All these pieces can already be described through the general mechanism XBetza uses for multi-leg moves. The notation you proposed is much less general, and can handle only some very specific cases. E.g. D/W describes a W followed by D as well as a D followed by W move, as well as simple W or D moves. But what if there is a piece that only does simple W, or D after W? In XBetza you can describe each of these moves separately, e.g. mafmpafW would be a move that makes 3 W steps in a linear fashion (f), where the square reached in the first step must be empty (m), while the 2nd square should be empty or hopped over (i.e., its occupant is completely ignored, mp). That is, it is a W followed by D. The bent version would be mampafW, i.e. it would drop the directional f restriction after the first step. Writing an s there would force a 90-degree turn at that point.
It is true this makes the description of your W/D a bit cumbersome (WDafmpafWmpafafW), but that seems justified for a piece that really has a rather elaborate and complex set of moves: three different ranges (WDH), the latter half lame in a multi-path way (can be blocked by two, but not by a single piece). By assigning a very specific (and therefore hardly ever useful) meaning to a certain notation, you can of course always be more compact in the rare case where that notation would be useful.
Note that when the Betza j modifier is interpreted as 'must jump over exactly one piece', the W/D could be written as WDnHjH, which is also not so bad. And at least allows the piece to have an nHjH move without having either W or D.
I extended XBetza notation to give new meaning to the use of the z and q modifier in continuation legs of multi-leg moves, where the original meaning of crooked and circular are not useful. The intention was to solve the problem that in a bent trajectory that contains an s (also in combinations fs / bs) the equivalence of l and r is broken. A move described as afs...W starts like the Xiangqi Horse (W, and from there diagonally outward). But in a description like afsafrW the next bend in the path is 45 degree to the right, irrespective of whether whether the first bend was taken to the left or right. It thus describes two different move shapes (Alfil-like or Camel-like), rather than two orientations of moves of identical shape. That is incovenient: it preclude the use of s for compactifying the notation, and forces one to write the two symmetry-equivalent paths separately (afraflWaflafrW for the Camel-like or 'crooked' version).
From now on this can be written as afsafzW. The z then indicates that the path bends in the opposit direction as the preceding s. A sequence of z legs would thus always describe a crooked path. Similarly, a q would indicate bending in the same direction as the previous bend, and a sequence of q legs would give a circular path. This new use of the modifiers allows the description of the Falcon move to be shortened to afafsKafsafzfK: the first atom describes a path that bends after 2 steps, the second atom one that bends immediately, and then either bends in opposit direction (fz) or goes straight on (f).
Note that on oblique atoms the symmetry is broken from the very start, even without the use of an s. Such moves are interpreted as if they started in their longest direction. (So g1-f3 would be a 'left' move.) You should thus never use l or r in continuation legs of an oblique atom, or after an s leg, but always use z or q instead.
I'm impressed by this development. But it is complex for me to understand, despite of the very clear text, it is not intuitive for me. I'm particularly interested by bent riders. A Gryphon without W or R in the string is strange, I understand the explanation but it is too bad there is no a modifier to say "move outwards as X". I'm not at all a computer language expert, I confess.
I got the string for the Gryphon, I can derive the one for Manticore by replacing the F by W. I think this is right. But I failed in fiding the string for the Ship (an half-Gryphon, only sliding vertically, not horizontally) and the Snake(tongue) (an half-Manticore, 1 step v then sliding diag away, never 1 step h then diag). What is the solution?
Thanks a lot
The Snaketongue is simple: a vertical W step followed by the outward turn is simply vWvyafsW
(same as the manticore but with v
prepended to each component).
The ship is trickier, as the first step can be in any direction and by the second step there's no way to specify which is the right twist (as there hasn't been a bend yet and l
and r
are relative). It may be worth special‐casing z
and q
here too(?) but meanwhile it can be done in a slightly hacky way involving the mp
modality trick (i.e. a square that can either be empty or a mount, so it doesn't matter what's there). That gives two solutions: FvmpasyazW
which (other than the F step) moves one forward, ignoring wahatever is there, turns 90° for another W step, then turns 90° again for the rest of the Rook move; or alternatively smpyasW
which steps one space sideways, ignores what's there, then turns 90° and continues, now vertically, as a rook (note this latter one already includes the F step)
@HG:
quite incidentally while trying some of these, I input yafqF
as a move, which seems to give a pandacub (Gilman's name for the forward‐only Slip‐rook, ft[WDD]
) for some reason? Not sure exactly what I expected (though sth gryphon‐like would have made sense I think?) but it definitely wasn't that.
I agree that the way XBetza handles multi-leg moves is not very intuitive. I don't think it is too late to switch to a more intuitive notation, as long as it doesn't allow specification of moves that would not be possible to specify in XBetza. Because then it would be quite easy to just equip the Interactive Diagram (or XBoard) with a simple pre-processor, which just converts the more human-friendly notation to XBetza before interpreting the latter.
E.g. how about writing multi-leg moves always within parentheses, using a hyphen as leg separator, and requiring all atoms should be 'compatible'? Where compatibility means they should either all be multiples of K steps, or of the same oblique leap. The Griffin would then be F(F-fsR), and the pre-processor would act on anything between parentheses, run through the legs to see whether range-toggling is needed. Depending on that it then translates the hyphen to a or ya. So that it ends up with the modifier string yafs, after which it then writes the leading atom F to get the equivalent XBetza. (I guess we could also use square brackets and commas, to stay closer to Betza's original suggestion: F[F,fsR].)
As to your specific questions: the Snake is easy: vWvyafsW. This is just the Manticore with all its moves prefixed with a v. The Ship, however is hard. This is not so much the fault of the notation, but caused by the fact that moves with different initial steps bend in different directions, and you have to indicate which (while for the Snake all moves bent in both directions). The only way to do it is to separate the left-bending from the right-bending move, i.e. the diagonal from the anti-diagonal first steps. This in itself is cumbersome, as there are no shorthands like v or s for diametrically opposed diagonal moves. So you have to write out all directions, and being diagonals, each direction requires two letters. E.g. a Ferz moving along an anti-diagonal is flbrF, and in the Ship you want those to bend to the right (i.e. fr) in the next leg. So you get flbryafrF for these two paths. And then you have to write the other two paths in the same way, changing all l into r and vice versa. This is how I did it in my Diagram for Tamerlane II. (Note that flbr[F,frR] as it would look in the proposed more intuitive system would not be much less cumbersome...)
@Bn Em: your trick for the Ship with the z is clever, but makes the description even less intuitive. When I made the Tamerlane II diagram this alternative use of z did not exist, though. I am not sure if defining a meaning for z and q without first using an s would be helpful. But, come to think of it, s is a dummy on a diagonal atom, as lF is the two left moves, and rF the two right moves, so together these are a full Ferz. But such a dummy s could be used to define the symmetry breaking as used by following z or q. I guess it would be most useful to define it such that it causes the diagonal atom to be interpreted as an oblique one with the longest leap in the sideway direction (i.e. as sN would have been interpreted). Then the Ship would be FsyafqF.
I have no idea why yafqF does what it does. Without a preceding s or oblique leg it triggers the code for the old Betza meaning, which lays out the entire path for the circular piece, with a special mode flag to indicate it can be terminated at any square along the path. But the preceding leg must utterly confuse it...
Thank you HG and Bn for your answer, it's fascinating, although I can't understand everything.
I have tried the strings you said for the Ship. Not all of them work. Maybe I haven't caught what you meant.
flbryafrFfrblyaflF: doesn't work. It skips the F-square
smpyasW: it works, but I really don't have the skills to understand why (it looks like "sympa" a French equivalent of "cool" or "great" that you say when something is nice)
FvmpasyazW: doesn't work. Strange pattern: B+incomplete Manticore
flbryafrFfrblyaflF: doesn't work. It skips the F-square
That is correct. But then you simply add it explicitly: FflbryafrFfrblyaflF.
All the bent trajectories you can specify with XBetza skip the first square (or actually the entire first leg if it is more than a single square, or even all non-final legs if they have more than two legs). All legs mentioned in a description are compulsary, and must contain at least one step if they are sliding.
This was a choice; it could have been defined such that slider continuation legs can make 0 to infinite steps, rather than 1 to infinite (like the initial or only leg can). But what would you do then for a piece where you don't want that? E.g. a Griffon that cannot move to the F squares, even though it can be blocked there? It is much easier to add the F moves to a piece that not naturally has those, than it would be to prevent it from stopping on the first square of its path. So asR is a hook mover that must turn a corner, and cannot move like a simple Rook. If you would want it to move as a simple Rook as well, as the Hook Mover from the large Shogi variants can, just write RasR.
smpyasW […] looks like "sympa"
Well the ship is certainly a sympathic piece ;)
FvmpasyazW: doesn't work. Strange pattern: B+incomplete Manticore
Sounds like a Crooked Rook (=Girlscout) move to me, which would make sense in the old/non‐continuation‐leg interpretation of z
. It gives me a Ship when I try it; maybe try refreshing your Cache? (Ctrl–Shift–R)
BTW, I now made it such that FsyafqF for the Ship works too. (Refresh cache!)
Explanation: q in a continuation leg stands for l or r that would bend the path in same direction as before / initially. So fq can mean either 45-degrees left or right. Now the s at the start of the multi-leg part defines 'sideways' as the initial direction (which for diagonal atoms would otherwise be ambiguous). So the move toward the lower right bends to the right (if you imagine it to start to the right), so it bends 45-degree right again for the second leg, which makes that move straight down. The move to the upper right, however, had to bend left if it startes horizontally to the right. So the leg after that one bends left, making it move straight up.
Bright! Thank you
I am still a bit unhappy with the need for an s prefix on a diagonal atom (where it does not select any initial direction) in order to define a meaning of q and z in following legs. Perhaps we should always classify all moves of an atom as either bending left or right; for oblique atoms this is natural, as the left and right moves are mirror images. For orthogonal and diagonal atoms this would be artificial, but could be adopted as a convention. E.g. on a diagonal atom fr and bl could be defined as bending right, while fl and br could be defined as bending left. For an orthogonal atom we could define f and r as bending right, and b and l as bending left. (I cannot imagine a case where this would be useful for f and b, though.) A Ship would become FafzF with these conventions, as we want the initial fr step to bend left, i.e. in opposit direction as the (artificially assigned) initial bend.
@Jean-Louis:
I would still like your opinion on whether you think F(F-fsR) would be a less cryptic notation for the Griffon (and F(F-fzR) for the Ship, KNAD(cK-K)(cK-bK)(K-bK) for the Chu-Shogi Lion, where (cK-bK) is the igui, (cK-K) the locust and double captures, and (K-bK) the turn pass). Or perhaps F[F-fzR] with brackets instead of parentheses?
[Edit] Just to try it out a bit I now made it such that notations like [fF-fsR] are also accepted for multi-leg moves. The interpretation is still very flaky, though. Basically the atoms mentioned in the later legs are ignored, except their range (which must be leaper or infinite). The direction is purely derived from the angular spec in front of them. So it does not matter whether you would write B, R or Q as continuation leg. I suppose that I could make it such that it checks whether the directional spec is compatible with the mentioned atom, and issue an error message when it is not. Nice feature is that the first atom can be a distant orthogonal or diagonal leap, and then combine with a slider in the next leg. So the Osprey would be D[D-fsB]. It can also be made non-jumping, e.g. R2[nD-fsB].
@HG: I'm embarrassed to answer you. I see Betza's notation as a convenient and intuitive way of describing the moves of a chess piece. I believe XBetza's notation has another goal, that of being able to be understood by an AI for the cases not covered by the basic notation. In that respect, what you have done works. I can't say which form is the best because I am very soon lost in the deciphering (even with strong effort, I'm lost in the explanations).
I would have said that a Ship should be something like F&$vR, I use other characters as examples, but they could be anything, & meaning "then" and $ meaning "away from the starting square in both x and y". A Gryphon would be F&$R, a Snake vW&$B, an Osprey D&$B. That would permit to differentiate a N&$B (Unicornio from Grant Acedrex) from a N&$R (used in some large CVs).
But this is just a "user's" point of view, ignorant of the constraint of programming and consistency with the rest of the XBetza language.
I see Betza's notation as a convenient and intuitive way of describing the moves of a chess piece. I believe XBetza's notation has another goal, that of being able to be understood by an AI for the cases not covered by the basic notation.
In principle there is no limit to what an AI can understand; it is just a matter of how much effort you put in creating it. And I subscribe to the goal of making move description convenient and intuitive, even for moves that are intrinsically more complex, such as the Griffon, Falcon or Chu-Shogi Lion. So think it is worth it to put a great deal of effort in achieving that goal.
But for any system of notation it seems important that it is unambiguous, and covers sufficiently many cases. Betza himself has suggested the t[F,R] notation for Griffon, but this is not unambiguous, as an 'Acute Griffon', which would continue inward instead of outward, making a 135-degree turn, (or the piece that can continue in all four Rook directions), would be written the same. Furthermore, the leading t seems redundant here: the 'then' meaning could be implied by the presence of the brackets. I think Betza suggested also other uses for the brackets, like z[F,W] for a slider that alternats W and F steps in a crooked way, but this distinction could also have been made by using other separators than comma for that, e.g. [W/F]. Once non-alphanumeric characters are allowed in the notation, lots of options are available.
I hope you agree that it hardly matters for the intuitive understanding whether one would write F&R, F-R, [F-R] or [F,R]. But now suppose that we want to slam extra W moves on a Griffon... I don't like WF&R so much, because intuitively you would parse this as (WF)&R, as punctuation usually separates 'words'. While it is intended to mean W(F&R). This is why I think it would be better to require some sort of parentheses around the complex moves. And to stay as closely as possible to Betza's legacy, these can be brackets. With W[F-R] there is little doubt that the W is a separate move.
The ambiguity problem has to be solved by putting some directional specification on the continuation legs, to distingush outward from inward, or even between several possible outward directions (such as in the case of the Ship). In your example you suggested a new prefix character ($, as we have run out of letters) for indicating 'outward'. This has the advantage that we can keep using the original directional modifiers in the meaning they have in the absolute frame of reference. This works well for the Ship, where you can write F&$vR to make the extra v pick out the vertical of the two outward Rook paths.
But I wonder whether introducing a whole new system for indicating relative directions is worth it. For one, the use of an absolute direction to disambiguate equivalent relative directions only rarely works; the Ship is a favorable case. It would for instance not work on a 'Chiral Griffon', which would bend always in the same relative direction (left or right), to give a rotation-symmetric rather than reflection-symmetric move pattern. And how would you know that in N&$R 'outward' would mean 'in the direction of the long component'? Some are v and others s so you cannot use those to indicate it. And if you define the meaning of 'outward' on oblique moves as in their long direction, how would you describe a piece that would continue like a Rook in the short direction of the knight move? It seems that we would have to create a whole new system for describing relative directions, or groups of directions, similar to the existing Betza system for absolute (initial) directions, but using puntuation characters instead of the familiar fbvlrs. That would involve a lot of new characters, but perhaps these could be chosen in a somewhat intuitive way, so they would not be too hard to remember (like ! for outward, ^ for inward, < for turn left, > for turn right, _ for < or > and | for ! or ^). But it still seems a hassle, which can be exploited only very rarely.
So I think there is a lot of merit in sticking to the existing Betza scheme for indicating directions, but interpret them as relative directions on continuation legs. Then instead of needing a new symbol like $ or ! for 'outward', we can simply use f for outward. In a sense the Betza directional modifiers have always been relative: for simple moves they are relative compared to the way the player is looking. We also say fmWfcF for black Pawns! (And in a 4-player game even v and s have player-dependent meaning.) Is F&fR really any less intuitive than F&$R ? You would lose the possibility to disambiguate the two outward Rook moves by use of an absolute direction, but you now have a simple way to write a (right-handed) Chiral Griffon: F&frR. One always has to compromise: what makes one piece easier to describe, will make some other piece that behaves in the opposit way more difficult to describe. I think it would be a mistake to judge a description system solely on how well it does on a single piece that you happen to use, but is not very common, and even less representative for the general problem.
There also is a more fundamental issue: writing the Griffon as F&fR or [F-fR] assumes the move can also be terminated without making all its legs, after just the F step. It might be subjective whether this is intuitive or not; it seems to me that this is mainly inspired by the case at hand (i.e. bent slider). Problem is there are many other cases where you would not want this. E.g. lame leapers like the Mao also need a multi-leg description to indicate where they can be blocked. But if W&fF or [W-fF] also allows making a W move, how can we describe the Mao then? And if fcF&fmF would also allow plain capturing diagonally forward (fcF), how would we describe the Checker? We do need a way to describe complex paths that cannot be terminated half-way. One way would be to forbid incomplete moves, so that these have to be described as separate moves when they are desired. (Advantage: no new notation needed. Disadvantage: move descriptions get longer.) The alternative is to introduce a different symbol for continuations that are only optional. E.g. [F~fR] could mean a Griffon that can make F moves, as the fR continuation is optional. While [F-fR] could not make the F move, although it can be blocked on the F square, as the fR continuation is mandatory. Actually I sort of like this latter solution, even though it requires introduction of a new symbol.
I would also like to have some feedback from other people, on what they would consider intuitively clear in these matters.
I think mpsyasW is pretty clear, but perhaps not very intuitive. What if doubling a direction made it absolute instead of relative? Then the ship could be something like FyafvvF or FyavvsF. It's not clear to me how exactly combinations of directions should be interpreted.
I think mpsyasW is pretty clear, but perhaps not very intuitive.
Well, I think it is a justified complaint that it is not easy to see that there is a Rook move hidden in there. The bracket notation [smpW-sR] would make that more explicit. The notation of a full Griffin based on this idea would be [mpW-sR], and would automatically visit the F squares, as these are now reached by the first sideway Rook step. But it literally requires some 'out of the box' thinking to detour the trajectory over an auxiliary square (sW), and subsequently make that square fully transparent by giving it mode mp. And this obscures the fact that in reality the first square visited by the piece (in the sence that it can move to it or be blocked there) is an F square. That distracts greatly from the intuitiveness.
Doubling of directional modifiers is a bit tricky, as sometimes it is needed to prevent such modifiers from combining to the intermediate direction. E.g. if we want to describe a Knight that lacks the two backward-most moves, we must specify an s and an f direction on it. But we cannot just write fsN, as this means flNfrN, and fl and fr describe individual N moves. To prevent that we write ffssN.
25 comments displayed
Permalink to the exact comments currently displayed.
That would give new meaning to the name xBetza.