Check out Grant Acedrex, our featured variant for April, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Latest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments by HGMuller

LatestLater Reverse Order EarlierEarliest
Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Fri, Nov 22, 2019 12:31 PM UTC:

That it takes so much effort even by seasoned chess programmers to create a rule-checking preset for a variant as simple as Symmetric Chess firmly puts us in the category of 'backward websites'. We really should have some kind of wizard for this, where people that cannot program at all would have no trouble to create such a preset. E.g. something like the Design Wizard for Interactive Diagrams I put in the article on those. Where you just have to take a minute or so to specify board dimensions and size of promotion zone, pick a preferred graphics theme, tick a number of pieces in a list of standard types (or, very rarely, pick an image and specify a non-standard move for it by hand), drag the pieces to their initial locations on an empty (a specified symmetry taking care of you having to do that for only one member of each type), and you are done.

If the wizard produces the usual game code, (just as that for the Interactive Diagrams produces the HTML), it will remain possible to take care of any features not suported through the wizard by editing the automatically generated game code later. But this should be needed only very rarely.

To catch more variants through the wizard it could allow a general input screen for specifying castling rules: the location of the castling partner, where it and the King will end up after castling, which squares must be empty and which squares must not be attacked. (And allow that to be repeated as many times as possible.)


Symmetric Chess. (Updated!) Variant with two Queens flanking the King and Bishops Conversion Rule. (9x8, Cells: 72) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Fri, Nov 22, 2019 07:37 AM UTC:

Regarding WinBoard 4.8.0, I don't know how to drop the Hawk and the Elephant playing Seirawan Chess against the Fairy-Chess engine.  After moving a piece, no menu appears asking you to choose which piece you want to drop. Could you, please, help me?

To gate in a piece you first select that piece in the holdings (by clicking it, so that the border highlight around it goes on), and then move the piece from the location on the back rank where you want to gate it in the normal way (click-click or drag-drop).


H. G. Muller wrote on Thu, Nov 21, 2019 05:27 PM UTC:

In the Interactive Diagram images for the various piece types can be arbitrarily chosen. So there is nothing against representing the Dragon Horse and Wazir by the same image as the Bishop, so that the game state that determines how a piece depicted as a Bishop moves will become entirely hidden. But for the demo I wanted to make it clear what is actually going on.

For computer analysis the the conversion rule is probably not relevant for most of the game: the Bishops will both develop pretty quickly, and after that you are basically dealing with normal Chess on a 9x8 board. Most existing configurable multi-variant engines would allow you to specify an initial Wazir move on the Bishop, which would then enable you to set up the positions you want to analyze from the opening positions.


Chess Variant Inventors. Find out which inventors have the most games listed here.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Tue, Nov 19, 2019 10:05 PM UTC:

Last year at the ICGA Computer Games Conference 'Computer Curling' was actually one of the big things. The attraction was that it was a game with a continuous rather than a discrete game state, which makes exhaustive listing of all possible moves impossible. I suppose that to make it difficult there must be some randomness added to the move that you specify, as with infinite precision there would be no difference between an easy and a difficult turn.


H. G. Muller wrote on Tue, Nov 19, 2019 09:11 PM UTC:

Stratego is not a game of perfect information, which makes it very non-chess-like. It is somewhat similar to Banqi ("Chinese Dark Chess") in this respect. Dark Chess or Kriegspiel I also doubt, but these at least are absolutely normal Chess in all other respects, so that they would count according to the criterion that a single fatal flaw can be forgiven if it is completely orthodox in all other respects. Stratego, however, has different board size, different number of pieces, the replacement capture is subject to ranking of the type and can backfire, the royal piece does not move... Even when all pieces would be in plain view it would be nothing like orthodox Chess or one of the other major regional chess variants.

As to Clobber: I don't really believe that this should count as a chess variant, but if you think about it, it gets close. Several games normally considered chess variants lack one of the defining characteristics of chess. E.g. Suicide Chess does not have a royal piece, Marseillais Chess moves two pieces per turn. Clobber does not have many piece types, but precisely because it has only one you could consider that (extinction) royalty, and then it satisfies all other criteria. In Horde (Lord Dunsahy's Game) one of the players also only has Pawns, and in Maharadja and the Sepoys one player only has a single (royal) Maharadja.

I did not want to suggest Amazons could be a chess variant; on the contrary, I gave it as an example of a game that is clearly not a CV, but yet has a piece that moves like a Queen. To show that the fact that in Ultima most pieces move like a Queen doesn't make it a chess variant anymore than that it makes it an Amazons variant.


H. G. Muller wrote on Tue, Nov 19, 2019 07:58 PM UTC:

Borrowing merely a single piece from a game IMO is not enough to qualify as a variant of that game. Note that the idea that capture of a single designated piece (rather than total extinction) is not exclusive to Chess; Hnefatafl and Stratego are also won in this way. The royal piece must not be too mobile, or the game could virtually never be won, and limiting the motion to just the adjacent squares is one of the most obvious things to do that.

There will of course always be boundary cases, but for my taste Ultima is not even that. It really doesn't have anything in common with Chess that it also doesn't have in common with several other games. Queen moves are also pretty elementary, and common in other games (e.g. Amazons). Replacement capture also occurs in Clobber and Stratego.


H. G. Muller wrote on Tue, Nov 19, 2019 10:38 AM UTC:

When the Cannon was introduced it could be called ground-breaking, because it introduced an entirely new class of moves: obligatory hopping over other pieces. Such moves are not as elementary as leaps, because they depend on occupancy of other squares than the origin and destination of the move. But one could already say that of sliding moves, which require all passed-over squares to be empty; the hoppers just impose another, more general condition than emptiness on such squares. Xiangqi is also somewhat unique in that it confines certain pieces to certain zones of the board; this could be seen as a special case of endowing pieces with location-dependent moves (namely scrapping precisely those moves that would leave the zone, in each location), which is very un-chess-like.

You are correct in pointing out the large Shogi variants are mostly just run-of-the-mill Chess variants, except for perhaps a hand full of innovative pieces (Lion, Hook Mover, Fire Demon.) But they still have a very different and easily recognized 'flavor': pieces tend to move only along the principal (orthogonal or diagonal) rays, and oblique leaps are almost completely absent. (And those that are there are then usually an incidental consequence of some multi-move rule, such as Lion = double-move King.) I have a theory that this is a consequence of the different Pawn move: the FIDE Pawn, capturing diagonally, tends to form chains of Pawns protecting each other. Which are very hard to break down by frontal attack once the chains interlock. You then need oblique leaps badly to be able to undermine these structures by attacking their weak spots in the rear, which are usually unreachable by Queen-moves only. And it doesn't matter much how few pieces you have that can make the move required in the case at hand, as the Pawn chains are quasi-static structures, and won't go away. So you will have enough time to manoeuvre the required piece into position. Shogi has none of this, as Pawns can never protect each other there (and after the invention of drops they added a rule for keeping it that way!). So there is no great need for oblique moves, and to get a large-enough variety of pieces with Queen-moves only, they turned to pieces with very low symmetry.

Another distinctive trait of the Shogi flavor is that virtually all pieces can promote (usually only with modest gain in abilities), while in western variants promotion is reserved for Pawns, offering the possibility to turn the weakest piece into the strongest one. In principle these traits could be easily mixed, but in practice this is not often done. Scirocco is a good example of a chess variant that combines design characteristics of Shogi and western chess variants.

But since the invention of the Cannon and the Grasshopper, and the introduction of asymmetric pieces, putting such moves on a piece in some combination that was never used before can no longer be called 'innovative'. There must be millions of such combinations possible even on an 8x8 board, and I am pretty sure the combination of moving diagonally forward like a Cannon, leaping like a Camel, and moving backwards like a Xiangqi Elephant (just to name something crazy) has never been tried. So what? Unless there is a very good reason why this move would make the game it appears in better than any other, 'inventing' the piece is not more creative than writing down a random number of 60 digits of which you can be virtually certain no one in the Universe has ever used (or even thought of) it before.

Truly innovative pieces are for instance Mats Winther's bifurcators, which generalize the principle of a hopper in various ways (by not only allowing change of move/capture rights on encountering an obstacle in their path, but also of the move direction, and the exact location where this change occurs). Inventors also often resort to associating a move with side effects to create something new, usually locust capture at squares that in various different ways can depend on the move (e.g. Advancers, Withdrawers), but also displacement of pieces on such squares (Magnetic or Catapult pieces).

I do not consider games like Ultima or Aarima chess variants at all. Even Paco Shako is a dubious case. Replacement capture is one of the defining traits of chess variants, and while it is OK to have the occasional exception (such as e.p. capture), a game that does (almost) entirely away with it no longer feels like chess at all. You might as well call Checkers, Ataxx or Amazons a chess variant. Clobber is a somewhat dubious case. 'Chess variant' is not a synonym for 'board game'.


Symmetric Chess. (Updated!) Variant with two Queens flanking the King and Bishops Conversion Rule. (9x8, Cells: 72) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Mon, Nov 18, 2019 07:20 PM UTC:

The Interactive Diagram basically is a table of piece images, where the table cells are made sensitive to mouse clicks, which then can bring about the desired manipulation of the images (e.g. move them to other cells) or background colors. Such a structure would not allow drawing of image elements that span multiple cells, such as the arrows in the video.

I guess that in theory it should be possible to break up the arrows in cell-sized 'puzzle pieces' of straight parts, corner parts, arrow heads etc., in all possible orientations, and synthesize cell-spanning arrows from those pieces. The Chess pieces are actually displayed as cell background image, and have transparent background themselves, through which a background color for the cell shows (which I then use for highlighting). So technically the cells are empty, and just show a background. Images of arrow segments could be put inside them, and the non-transparent parts would then cover the piece images in the background. But this would require the images of the arrow segments to exactly fit the cell (or the browser's display algorithm would just enlarge the cells to fit the image). So it would require a different set of arrow segments for each conceivable square size. And it is a bit hard anyway to make images fit exactly in table cells; most browsers want to take some margin between the image and the cell edges, especially at the botton. So the arrows might look more like dashed lines.

Of course there still would be the problem of how a user should indicate where he wants arrows. Or other types of highlights. All in all it would not be very easy.

The current diagram already records all moves you play to make them into a game history. And on a page with a diagram you can request presence of buttons to step through a thus recorded games. For the diagrams I post here I never included such buttons, because they just serve the purpose of illustrating the piece moves and initial position. But you can see them in operation at my turn-based server, which uses the Interactive Diagram as user interface..


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Mon, Nov 18, 2019 06:48 PM UTC:

Something is very wrong! I try to upload an updated betza.js file to the membergraphics/MSinteractive-diagrams. It says "file uploaded successfully". When I point my browser to the MSinteractive-diagrams directory, I see the betza.js file there with today's date. All as expected.

But when I then request the content of the betza.js file, it has not changed. It still gives me the old content, not the one I just uploaded. Flushing my browser's cache, or switching to another browser makes no difference, I keep getting the content of the file that according to its date does no longer exist.


Chess Variant Inventors. Find out which inventors have the most games listed here.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Mon, Nov 18, 2019 09:05 AM UTC:

It is true that new variants that just slam a number of sliders, leapers, hoppers and their compounds on a rectangular board of some size are not very innovative. Even if some of the pieces they feature have never been tried before. In a sense it is like they are all the same 'meta-variant' that has a number of adjustable parameters, and by turning the knobs you can set them to values that are never tried in that combination before. As Pritchard said: "it takes only 10 sec to invent a new chess variant, and unfortunately some people do". This doesn't mean that they cannot be entertaining to play, of course. Or that they are all of the same quality. Some non-trivial work can still go in picking the initial setup, making sure all pieces can be easily developed (remove any 'awkwardness'), all pieces are protected against possible quick attacks, and such. The spectrum of piece powers is also an important factor in how attractive the game is.

Still even there you can sometimes express a novel idea. In my variant Team-Mate Chess I used a collection of not-so-special pieces that were selected to not have mating potential (against a bare King) on their own, but always must force checkmate in pairs (similar to Bishop + Knight in orthodox Chess).

BTW, it seems my productivity is overrated in the list above: it says I invented 13 variants, but it attributes Wa and Tenjiku Shogi to me, while these are just historic Japanese games for which I made a rule-description page. (I also made such pages for Chu, Dai, Dai Dai and Maka Dai Dai Shogi, Paco Shako and Metamachy, but these were (justly) not attributed to me.) It also counts my article on FairyGen as a game invention, while this is just a description of a piece of software for generating End-Game Tables involvng fairy pieces.


Symmetric Chess. (Updated!) Variant with two Queens flanking the King and Bishops Conversion Rule. (9x8, Cells: 72) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 17, 2019 06:35 PM UTC:

Treating the Bishop conversion rule as a piece-type change in the Interactive Diagram through a custom function WeirdPromotion() embedded as JavaScript in the HTML page:

  function WeirdPromotion(x1, y1, x2, y2, promo) {
    var piece = board[y1][x1]; // moved piece
    var type = piece & 511;    // strip off color and virginity bits
    if(type == 6) {            // convertable Bishop
      promo = piece - 3;       // demotes to Bishop
      var partner_x = 8 - x1;  // start location of other
      if((board[y1][partner_x] - piece & 2047) == 0) // contains same piece (igore backround color flags)
        board[y1][partner_x] = ((x1 ^ x2 ^ y1 ^ y2) & 1 ? piece - 3 : piece + 1); // demote partner to B or W
    } else if(typ == 7) promo = piece - 4; // converting Bishop always promotes to Bishop
    return promo;
  }
files=9 promoChoice=NBRQ graphicsDir=../graphics.dir/alfaerie/ whitePrefix=w blackPrefix=b graphicsType=gif squareSize=54 symmetry=none pawn::::a2,b2,c2,d2,e2,f2,g2,h2,i2,,a7,b7,c7,d7,e7,f7,g7,h7,i7 knight:N:::b1,h1,,b8,h8 bishop::::, rook::::a1,i1,,a8,i8 queen::::d1,f1,,d8,f8 Convertable Bishop:B:BW:promotedbishop:c1,g1,,c8,g8 Converting Bishop:B:W:wazir:, king::::e1,,e8

Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 17, 2019 06:06 PM UTC:

That certainly makes more sense to me. One could still wonder about the case where the first-moved Bishop does not convert, but is captured before the second moves. The situation this gives rise to is not really any different from the one where it was captured before it moved. And you would need extra game state to distinguish the two.

I guess you need extra game state anyway, because a Bishop can move and return to his starting square without converting. The other Bishop must then convert, but from the board position you cannot see which of the two is the 'other' Bishop.

Possibly the cleanest solution to everything is to implement this by piece-type changing: start both Bishops as Dragon Horses. When a Dragon Horse moves, it 'promotes' to Bishop, and as a side effect, depending on how it moves, the other Dragon Horse (which must still be on its starting square in that case if not captured), promotes, either to Wazir or to Bishop. If a Wazir moves it always promotes to Bishop. All game state is then encoded in the board position.


Marseillais Chess. Move twice per turn. (8x8, Cells: 64) (Recognized!)[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 17, 2019 04:50 PM UTC:

I still wanted to comment a bit on legality checking and game-end detection:

There is no need to assign illegal moves the same score as a legal losing game termination. You can assign it an even lower score. This reminds me of the fact that there are many Xiangqi engines that prefer losing by perpetual checking over being mated in 1. But the behavior can entirely be controlled by setting the score for the various kinds of game termination; minimax or alpha-beta doesn't require a binary game outcome. (Luckily, or the heuristic evaluation would not be any good.) If losing by illegal move gets a lower score than any form of losing by legal means, minimax should always avoid it. Unless the game rules themselves are incomplete, and allow you to manoeuvre by legal moves into positions where you have no legal moves, but which are not defined as terminal. (Most common case of this is failing to define stalemate as game end in games where the goal is King capture, under the false assumption that you will always have pseudo-legal moves.) Even in that case the illegal-move score will merely show up in the root as the most dishonorable form of losing.

It is useful to distinguish 'direct' termination conditions (detectable from the move or piece counts, such as King capture or baring) from 'indirect' ones (depending on the location of pieces and how they move). 'Check' is already a complex condition, defined in terms of pseudo-legal moves. 'Legal' (and thus illegal) are again defined in terms of check. And 'checkmate' is defined in terms of 'legal'. These definitions taken at face value often imply search, being of the form "there must not exist a move that ...". The definition of checkmate even involves a two-ply search, as it requires all pseudo-legal moves to be searched for legality, which again requires all replies to be examined for King capture.

Now it is very possible that there exist shortcuts for doing these searches, e.g. check detection through the super-piece method, or mate detection through estabishing that the checker(s) cannot (all) be captured, nothing can be interposed to block the check(s), and the King has nowhere to withdraw to. This is pretty well developed for orthodox Chess, but can get arbitrary complex in arbitrary variants. E.g. for determining whether a square is attacked when there are hoppers, bent sliders or locust capturers around (not to mention Coordinators, Immobilizers and Pincher Pawns). The super-piece method requires generation of retrograde captures, which must be handled by dedicated code, which can easily be inconsistent with the prograde move generator used in search. And for mate detection, what if there is a Lion around that can capture two checkers in one move? Or capture one, and block the other? What if there are bent sliders, that can both be blocked on a single square? What if the checkers involve a hopper, and its mount can move away, capturing or blocking another checker? How do I determine whether a locust capturer will attack me after the evasion? If I just stick to the official definition of these game concepts I only need prograde pseudo-legal-move generation, and there is not nearly as much that could go wrong.

You mentioned the 'beaten path', but you should keep in mind that this is the path used by developers of engines for orthodox Chess, and thus might not necessarily lead to where you want to be. No matter how much smartness you built into your engine for more efficient detection of the game-end conditions, it will never hurt to be prepared for game rules where these shortcuts fail, and some illegal moves escape your dedicated detection for those. So I would recommend to reserve a score for 'illegal move', (which, with checking rules, would be the negated score of capture or extinction of royal(s)), so that your engine will not crash if you inadvertantly run into a King capture. And in any node detect whether enough of the moves you thought to be legal are indeed legal, so that you would not have to declare game end after all (with an appropriate score different from the illegal-move score, like a draw or a distance-to-root-corrected losing or winning score). Which is pretty easy by starting bestScore at the illegal-move value, and see at the end if it stayed there. In cases where your dedicated game-end detection fails, your would then have a safety net in the engine. As for the GUI, you could always subject all moves to a search to make sure they are legal, and make the depth of this search a parameter of the variant, which can then be increased for variants with unusually complex game-termination rules.


Metamachy. Large game with a variety of regular fairy pieces.[All Comments] [Add Comment or Rating]
📝H. G. Muller wrote on Sun, Nov 17, 2019 03:12 PM UTC:

So just to be absolutely sure: when moving Kf1-f3, with a black Knight on g4 attacking f2 (but pinned on the black King on g5 by a white Rook on g3), this would be illegal if f2 was empty or occupied by a white piece, but legal if it was occupied by a black piece (assuming f1 and f3 not under black attack)?


📝H. G. Muller wrote on Sun, Nov 17, 2019 12:18 PM UTC:

Not clear from your description at http://history.chess.free.fr/metamachy.htm was:

  • Whether stalemate is a win, draw or loss.
  • What the "overpassed squares" are in case of the initial King move to the second ring. In particular whether moving like a Knight (from f1 to g3, say) passes over f2, g2, neither, either or both. And what it means for those squares to be "under attack" when they are occupied. (For D or A move it can be assumed that these are the W and F squares in the same direction, respectively.)
  • Whether the King can capture with its initial jumping moves.
  • Whether a Prince can capture en passant, in addition to being e.p.-capturable. Especially since, in the description of the Pawn, you present its ability to capture e.p. as a "consequence" of its ability to capture diagonally, rather than as an additional rule that could very well have been different. Since the Prince can also capture diagonally, does this have the same (but this time unmentioned) 'consequence'? And is this then a consequence just of being able to capture, (so that the Prince can also e.p.-capture orthogonally), or does the direction matter (and how about backward diagonal then)?

Note that my remark on the non-royal nature of the Prince is not meant as criticism on you piece naming, but just as a warning to the reader that the Metamachy type of Prince is not like the Shogi Prince (which also moves like King) in that it has to be captured / mated too in order to win the game and cannot expose itself to pseudo-legal attack. I would have said the same for Queen where it not that the Queen is an orthodox Chess piece that can move into check, and would automatically be assumed the same in other variants. Note that in your Metamachy description you use 'royal' in exactly the same meaning as I use it here, when you describe the Prince as "a non-royal King".


Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 17, 2019 11:05 AM UTC:

The description of the Bishop conversion rule says this:

" for one of the bishops of the player, the first move made with this bishop must be of this special type. "

I take this sentence to mean that if one of the Bishops gets captured before it moves, the other cannot start with a normal move. This doesn't seem very sensible, though, so I am not sure whether my interpretation is correct.

Just to contribute my two cents: when you would keep one flag per Bishop to indicate whether it had been moved (or per square whether the original occupant is still there), which really should be considered a standard feature automatically kept track of in any chess variant, (considering how many variants endow pieces with virgin-only moves), the game state can be ancoded with only a single other flag per player, indicating whether a conversion has already taken place. The rule for a virgin Bishop is then merely that he cannot convert when a conversion was already done, and otherwise must convert when the other Bishops is not virgin (or, since the rule is only applied on a virgin Bishop, when not both Bishops are virgin). Note that the type of move (W or B) can be easily tested from the color of the square ((x ^ y) & 1 if you have separate x and y coordinates, nr*9 & 8 for 0-63 square numbering on an 8x8 board, nr & 1 on 0-71 square numbering on 9x8).


Fibnif. Moves one diagonally or makes a forwards or backwards knight jump.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Nov 17, 2019 10:01 AM UTC:

Note that as part of an attempt to get rid of the ridiculous names of some of the CwDA pieces it was decided the Fibnif should be renamed to Lancer.

And yes, a pair of Lancers is pretty good at checkmating. An overview for various board sizes:

board size won lost worst-case/average DTM
8x8 98.3% 69.8% 21 / 12.4
10x8 98.4% 74.1% 23 / 15.0
12x8 98.4% 77.0% 27 / 17.9

Given that Knight + Wazir is already won, and that blocking plays virtually no role at all in the late end-game (especially when the losing side cannot block because the squares where this could be done are attacked by the piece itself), two WazirKnights should have no problem at all. My EGT generator does not do lame leaps, but with a pair of NW the stats are:

pieces board size won lost worst-case/average DTM
N + W 8x8 93.7% 61.0% 45 / 28.4
N + W 10x8 92.9% 64.6% 56 / 36.2
N + W 12x8 92.4% 67.5% 69 / 44.2
2 x NW 8x8 99.9% 73.9% 11 / 6.3
2 x NW 10x8 99.9% 78.0% 13 / 7.6
2 x NW 12x8 99.9% 81.1% 16 / 9

Note that the winning percentage for N + W is not as high as commonly found in general wins. This is because a Wazir can easily be chased to doom by a King, when it happens to wake up cut off from the rest of its army. So there are a lot more positions where the strong side loses a piece despite the fact that he has the move (which otherwise are usually limited to forks in configurations where one of the pieces cannot move away while protecting the other, or attacked pieces trapped against an edge or in a corner).


Marseillais Chess. Move twice per turn. (8x8, Cells: 64) (Recognized!)[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sat, Nov 16, 2019 05:18 PM UTC:

But then I am not so happy that this requires an alteration of the normal (full-turn) FENs, which would require w2 and b2 stm field in your proposal. I would much rather have it that the exceptional partial-turn FENs would require something special. As the full-move counter is actually completely useless, and in balanced Marseillais the first turn is special in that it only allows a single move, recognizing half-turn FENs by artificially setting their move count to 1 would be OK with me.

The WinBoard Alien Edition would not consider positions half-way a turn not as game positions; when you step through the game later it would always alternate player between two turns, and show the effect of the pair of moves (like it was dealing with castling). Animation of the move might tell you the order.

As to the legality issue: I took the pragmatic approach in my Shogi engines as well as WinBoard: I do not consider Pawn-drop mates illegal, just losing. If checkmate is detected, its scoring depends on whether the previous move was a Pawn drop or not. So even without engine WinBoard allows the user to enter the Pawn drop, which then will end the game for him as a loss. For Shogi this is of course entirely justifiable. But it would not disturb me if Marseillais was treated the same; if we thing it should not be allowed to stalemate yourself after the first turn, just detect the stalemate and declare it a loss if the user elects to play into it.


H. G. Muller wrote on Sat, Nov 16, 2019 08:47 AM UTC:

Yes, FEN is very useful in general. What I was questioning is whether it would be useful to design special FEN conventions for representing game states halfway a turn. I have never seen an orthodox-Chess puzzle like "white mates in four after he has touched his Rook", or people pushing for a FEN field to indicate which piece has been touched. Or a Chu Shogi problem that said "white mates, now that he has captured a Gold something with the first leg of his Lion move. Neither can I imagine why you would want to load a position half-way a turn in a GUI or engine.

 

More later


H. G. Muller wrote on Fri, Nov 15, 2019 07:21 PM UTC:

French translation:

Marseillais Chess is a chess variant where each player plays two successive moves. On top of the rules for the normal game, the players must honor the following rules:

  • A player that is in check must evade the check on his first move.
  • If a player checks a King with his first move, he loses the capability to play a second move.
  • If, after having played his first move, a player finds himself in a position where it is impossible to play a legal move, this is considered a stalemate.
  • En-passant capture should be performed with the first move, except when two e.p. captures are possible. In the latter case, the two e.p. captures can be made in each of the two moves.
  • Pushing Pawns two spaces beyond their initial location cannot be considered a double move (two advances of one space). So the player can make his second move after that.

 


H. G. Muller wrote on Fri, Nov 15, 2019 07:08 PM UTC:

About the FEN: is this really needed? Why would one ever want to have a FEN for a position after the first move? In orthodox Chess we also do not have a special form of the turn indicator for positions half-way a castling, where the King has already moved and the Rook is yet to move. Or in Chu Shogi, for after the Lion made the first leg of a locust capture. The exceptional case for the initial position can already be recognized from the full-move counter in the FEN.

[idea!] Why not use a fraction on the full-move counter if you want to do this?  E.g. move 10.5 would mean after the first half of the 10th turn of the player on move.

As to legal move generation:

It seems to me that a Marseillais Chess cannot be implemented without some dedicated code that would be useless in single-move variants. One task for this code would be to score a stalemate after the first move different from one before it, namely as an illegal position (whatever score you want to use for that) rather than a draw. A second task should be to treat first-moves  that get such a score as illegal moves, i.e. ignore them, and correct the legal-move count that might have been made during move generation for it. This would need a 'delayed' mate detection to handle the case where this count hits zero because all 1-move-legal moves turn out to cause self-stalemate the player, aborting the node with a checkmated or a draw score depending on the in-check status.

It should be clear that you cannot judge the legality of a turn before you have seen the full turn. So that would be 2 ply in Marseillais, and a progressive number of ply in Progressive. If you wouldn't try the last ply of the turn, you could never know if the turn can be legally completed. Unless of course the rules guarantee there always is a legal move irrespective of the position, e.g. because passing on the second turn is always allowed. If you do a full judgement on the legality of the position after the turn, one turn should be enough.

The reason I mentioned QS was because I assumed this would be required to detect the fact that the previous ply exposed the King. The assumption was that the root node of QS would start generating moves, and detect that one of the moves captured the King before really searching any. And then abort with a very happy score. So it would always be a 1-node QS, or a dedicated King-capture test, if you want. Depending on the variant there could be simpler ways to detect King capture than generating all moves and see what they hit. E.g. making all possible retrograde captures from the King, and see if they hit an enemy that reciprocates one (sometimes referred to as the 'super-piece method').  Depending on the complexity of the moves in the variant the super-piece method might be cheap or very expensive. (E.g. bent sliders, Cannons or Fire Demons are a pain.) Just generating all prograde capture moves, which you must be able to do anyway, is always a sure method, though.

How much extra you need compared to the turn you want to judge the legality of unavoidably depends on how complex the conditions for legality can be in the variant at hand. Take the Shogi Pawn-drop-mate ban. To detect it you must be able to see that that the Pawn drop checks (which is of course trivial), but that every conceivable reply move is illegal (exposes your King, or perhaps (worse) completes a perpetual checking cycle). So that is two turns plus a King capture test.

But it can be worse. Imagine a variant where it is illegal (rather than just losing) to expose yourself to mate-in-1 (rather than just to King capture). To judge a move you then have to take into account all replies that check, and then all evasions to any of those, to see if these expose the King. That is 3 ply + 'QS' (or 2-ply + mate-test). Imagine a variant where it is illegal to check when you cannot continue checking until you checkmate. (Tsume Chess?) Far fetched? Take the chained release moves of Paco Shako, implemented as a multi-move turn. It is illegal to release a piece from an embrace (by jumping into it) if the released piece cannot find an empty square to go to, an enemy to enbrace, or trigger another legal release. You will have to verify that at least one chain of releases (no matter how long) exists that terminates. There is just no predicting how many ply it can take.


H. G. Muller wrote on Thu, Nov 14, 2019 10:32 PM UTC:

We might miscommunicate, because I am thinking in terms of a pseudo-legal-move search, while you might want to determine move legality before searching them. For me an illegal move is simply a move that receives score -INFINITY when I search it. In an engine for normal chess this happens when the next ply captures your King, which gets awarded +INFINITY, and is then negated. Incidentally -INFINITY is also the start value of bestScore, and if it is left at -INFINITY all of the moves must have been illegal. That means mate or stalemate, and if stalemate is a loss both can get the same score, and -INFINITY would be a very suitable value, and you don't really have to do anything other than just returning the maximum move score.

IMO independently trying to establish legality of moves in a search is just a waste of time, as moves are legal more often than not. Just do the search, and when the move is illegal this will discover it soon enough, and will return -INFINITY. But most of the time there is nothing to discover. As long as an illegal move will get a score lower or equal than anything else, the search will work fine.

If you want to test legality of an input move, just do a sufficiently deep search on it (1 ply + QS in normal chess, 2 ply + QS in Marseillais), and reject it if the score is -INFINITY. You don't need any special code for that. I you want to make a list of legal moves (e.g. for the purpose of highlighting taret squares), just write a small loop to subject every prseuo-legal move of interest to such a search.


H. G. Muller wrote on Thu, Nov 14, 2019 10:03 AM UTC:

Is this really a problem? If you score stalemate after the first move as -INFINITY (which it would automatically get when you score King capture as +INFINITY), the node that searches the first move will end up with score -INFINITY if it has no legal pair of moves. Only there you correct such a score to 'draw' if the player is not in check. This assumes actual checkmates get a slightly better score, either by adjusting them for distance to the root in the leaf itself, or by a delayed-loss bonus when propagating towards the root, so that positions heading for a forced checkmate will not be mistaken for stalemates. (Note that a consequence of the proposed rules is that when your only 1-step-legal check evasions stalemate yourself, this would count as a checkmate.)

BTW, I thought that Sven Schüle said he had made an engine, in the TalkChess discussion you already referred to. I never got around to making a Fairy-Max derivative for it.


Frog chess[Subject Thread] [Add Response]
H. G. Muller wrote on Thu, Nov 14, 2019 09:45 AM UTC:

Capablanca Chess has about 16% draw rate between equal players, compared to orthodox Chess about 32%. (That doesn't account for the limit of near-perfect play, possibly with the aid of exhaustive opening theory that prevents mistakes before the game reaches the stage of a dead draw.)

Draw rates tend to fall for games within a group of players of very diverse strength, as many games will be a guaranteed win for the strongest player.


Betza Notation. A primer on the leading shorthand for describing variant piece moves.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Wed, Nov 13, 2019 10:47 PM UTC:

I implemented a new enhancement of XBetza notation in XBoard, to be able to more precisely indicate generation of e.p. rights on oblique moves. 'Non-jumping' is an ill-defined concept for those; nN could be a Mao or a Moa, so with the existing convention ifmnN would not sufficiently specify what the blocking square (and thus e.p. square) is. For that a multi-leg description fully specifying the path is necessary, like mafsW for the Mao.

XBetza uses the 'e' modifier to indicate e.p. capture, as alternative to the 'm' and 'c' modality. But this only seems useful in the final leg of a muti-leg move. So I redefined the meaning of 'e' in a non-final leg to me an 'm' move that generates e.p. rights on its target square. This would make the double-push of a FIDE Pawn ifeafmW. (And its e.p. capture feF, which can combine with the normal capture to fceF.)

[Edit] On thecond thoughts I wonder if it wouldn't be better to use the 'n' modifier instead of 'e' for indicating generation of e.p. rights by a non-final leg, and reserve the latter for actual capture. When laying out a lame-leaper trajectory one will almost certainly use a stepper atom (W, F or K), and 'n' can never have its traditional non-jumping meaning there. OTOH, e.p. capture on a non-final leg is not completely out of the question: one could want to define an e.p.-capturing Checker, feafmF, where the 'e' on the non-final leg then means that leg should end on the e.p. square (by definition empty), and that the move as a whole leads to removal of the previously moved piece as a side effect. Double-push FIDE would then become ifnafmW to generate e.p. rights.


25 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.