Check out Glinski's Hexagonal Chess, our featured variant for May, 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 ]

Ratings & Comments

LatestLater Reverse Order EarlierEarliest
Jetan. Martian Chess, coming from the book The Chessmen of Mars. (10x10, Cells: 100) [All Comments] [Add Comment or Rating]
Fredrik Ekman wrote on Wed, Nov 27, 2019 09:01 AM EST:

Late comer to the discussion here. Regarding the piece values, there are many takes on this. I list most of the ones I know about in my recent ERBzine article about jetan. Follow the link below, and scroll about two thirds down the page to the appendices. 

Exploring Jetan, from ERBzine


Symmetric Chess. Variant with two Queens flanking the King and Bishops Conversion Rule. (9x8, Cells: 72) [All Comments] [Add Comment or Rating]
💡📝Carlos Cetina wrote on Tue, Nov 26, 2019 07:52 PM EST:

Thank you, H.G., for the explanation and directions. I could already run Nebiyu properly but unfortunately... playing chess it defeats me easily! 


Alice Chess. Classic Variant where pieces switch between two boards whenever they move. (2x(8x8), Cells: 128) (Recognized!)[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Tue, Nov 26, 2019 07:56 AM EST:

This is a trial for using the Interactive Diagram for Alice Chess. Custom-supplied functions BadZone and WeirdPromotion take care of refusal of moves to squares of which the mirror square is occupied, and take care of shuttling the moved piece to the other board, respectively. The boards are separated by strip of 'hole' squares, which has to be two files wide to prevent Knights from crossing it.

files=18 promoChoice=NBRQ graphicsDir=../membergraphics/MSelven-chess/ whitePrefix=w blackPrefix=b graphicsType=png squareSize=33 symmetry=none royal=6 pawn::::a2,b2,c2,d2,e2,f2,g2,h2,,a7,b7,c7,d7,e7,f7,g7,h7 knight:N:::b1,g1,,b8,g8 bishop::::c1,f1,,c8,f8 rook::::a1,h1,,a8,h8 queen::::d1,,d8 king::KisO2::e1,,e8 hole::::i1,i2,i3,i4,i5,i6,i7,i8,j1,j2,j3,j4,j5,j6,j7,j8

I implemented e.p. capture as a move by the Pawn on the board where the doubly pushed Pawn started. This seemed the least illogical way to do it, as the e.p. square on that board will always be empty (or the double push would not have been allowed). And it is the square the double push really passed over, and thus where it could have been blocked. The move could still be illegal because the corresponding square on the other board is occupied, but that is normal for any move to an empty square in Alice Chess that would be legal on its own board. There has to be no extra rule to prevent double capture this way. This method of e.p. capture corresponds to one where the doubly pushed Pawn must first make a single retrograde step before being captured, rather than replacing its double step by a single step. That this is not the same is the fault of an Alice double push not really being two consecutive single pushes.

I still have a comment to make about the legality of moves (an aspect that the diagram doesn't address). The ambiguity here seems to be caused by not making proper distinction between legal and pseudo-legal moves, but heaping them all under the term 'legal'. A more precise description would have said that a move in Alice Chess is pseudo-legal if (before transfer) it would have been pseudo-legal in orthodox Chess on the board where it is made, and the target square on the other board is empty. And then an Alice move is legal (as usual) when it does not expose the King to pseudo-legal Alice capture. This prevents solving distant checks by interposing a piece that was on the board where the checked King resides (but then disappearing to the other board, so that the King can be captured) from being considered legal. Despite the fact that they would have been perfectly legal orthodox Chess moves on the board with the King.


Symmetric Chess. 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 25, 2019 02:50 PM EST:

That is because Nebiyu is an engine, and engines are not supposed to be used directly, but only through mediation of a Graphical User Interface like WinBoard. It is then WinBoard which will take care of launching the engine's .exe file, and send it the proper (text) commands to do something useful.

So the proper procedure is to start WinBoard (either as game viewer without any engine, or for playing against some other engine), then open the Engine -> Load first Engine menu dialog, use the 'browse button' behind the 'Engine' text entry to locate NebiyuAlien.exe, and then 'OK' the dialog. This will make WinBoard start Nebiyu in the background, (possibly terminating the engine that was in use before), and consult it through the appropriate communication whenever it needs it to make or suggest a move. You can then select one of the supported variants from the File -> New Variant dialog.

This procedure will also add NebiyuAlien to WinBoard's 'Engine List', which will be displayed in a listbox on the left in the Load Engine dialogs, so that you can just click on it when you want to use it again in a later session, without having to browse for it first. This Engine List will also be displayed in the comboboxes of WinBoard's Startup Dialog, so that a next time when you start WinBoard you can select Nebiyu immediately, as first or as second engine. (A second engine is only needed when you want to play two engines against each other, through the Mode -> Two Machines menu item.)


💡📝Carlos Cetina wrote on Mon, Nov 25, 2019 01:41 PM EST:

OK, I already downloaded Nebiyu 1.45 and unzipped NebiyuAlien; then double clicked on NebiyuAlien.exe and a window was opened but everything is black; there is only one blinking cursor; the window header says:

C:\Users\Carlos\Downloads\Nebiyu\NebiyuAlien.exe

But now I don't know what to do.


H. G. Muller wrote on Mon, Nov 25, 2019 12:04 PM EST:

There are many more links on that page, which come into view when you scroll down. The Nebiyu version I know is at the link Nebiyu 1.45. There seems to be a newer version 1.5, but from the decription of it I am not sure it would be useful untill you train it first, and I never used it myself. IIRC the Nebiyu 1.45 package contains several executables (also covering games other than chess variants), but the one you should run for CVs is NebiyuAlien.exe. The game definitions for that are all in the file alien.ini, which is sort of self-documenting. The file starts with a series of piece definitions, after which a series of game definitions using those pieces follows.


💡📝Carlos Cetina wrote on Mon, Nov 25, 2019 10:46 AM EST:

There is Fairy-Stockfish, which is very much worth having. But it is not an independent app that goes accompanied with an installer. Just something you unzip in a folder of your choice, after which you have to point WinBoard to the executable through the Load Engine dialog, so that it can use it as an engine.

The same holds for Nebiyu, which is not as strong as Stockfish, but rather easy to configure for playing new chess variants.

Thank you very much for the info. Of the two, attracts me more Nebiyu. I'm somewhat confused on how to proceed with the installation because I don't see any link that be unique and clearly says "download". There are these 4 links:

egbbdll-cpu

egbbdll-gpu

nets-epd.zip

nets-ccrl.zip

Could you, please, tell me which of them to click? 


H. G. Muller wrote on Mon, Nov 25, 2019 04:49 AM EST:

For the second, I would be grateful if you, Fergus, HG or anyone else tell me of any program (preferable of chess or chessvariants) that I could download.

There is Fairy-Stockfish, which is very much worth having. But it is not an independent app that goes accompanied with an installer. Just something you unzip in a folder of your choice, after which you have to point WinBoard to the executable through the Load Engine dialog, so that it can use it as an engine.

The same holds for Nebiyu, which is not as strong as Stockfish, but rather easy to configure for playing new chess variants.


💡📝Carlos Cetina wrote on Sat, Nov 23, 2019 01:06 PM EST:

Do you know what version of Windows 10 you are using? 

I'm using Windows 10 Home, 1903 version, operative system version 18362.476, installed on 14/Oct/2019.

My PC is a Compaq Mini CQ-1100, Intel(R) Atom(TM) CPU N2600, 1.60 GHz RAM.

Go in to the EnginesXBoard folder and delete everything underneath and then try running ChessV.exe again?

I already did it but the problem persists: no error message is issued nor the system crashes, it simply behaves as if nothing had happened.

In order to determine the cause there are 2 steps:

1) To install ChessV2.2 in other computer with Windows 10 Home .

2) To install in my PC another app.exe

For the second, I would be grateful if you, Fergus, HG or anyone else tell me of any program (preferable of chess or chessvariants) that I could download.


Greg Strong wrote on Fri, Nov 22, 2019 09:18 PM EST:

Ok, I had a thought.  Carlos, if you would be so kind, would you mind trying this?  Go in to the Engines\XBoard folder and delete everything underneath and then try running ChessV.exe again?

I included engines Fairy-Max, KingSlayer, and SjaakII.  When ChessV first runs, it will try to start each of those engines to determine their capabilities.  Perhaps one of them is failing and it is stopping everything...


Greg Strong wrote on Fri, Nov 22, 2019 09:08 PM EST:

Hi Carlos.  Thank you for the extra information.  Unfortunately, this does not make sense to me.  Do you know what version of Windows 10 you are using?  I know there is a "Windows 10 S" that can only run apps from the Windows App Store.  Other than that, I cannot imagine why it would not be possible to run a simple exe ...

Oh- ok- on further thought.  ChessV requires the .NET Framework while Winboard does not.  (The older ChessV used an older version of the .NET Framework.)  I would think you would get a better error message if that was the problem, but ...  Also, .NET Framework 4.6 is already installed on Windows 10 and should be compatible.  Does not really make sense.  Let my try something; I need to figure this out and I do not think that the problem is because there is no installer.


💡📝Carlos Cetina wrote on Fri, Nov 22, 2019 08:21 PM EST:

Greg:

When I double click on ChessV.exe it appears a window asking me if I agree the app makes changes in the device. After clicking "yes" NOTHING HAPPENS. It's disconcerting why does WinBoard 4.8.0 works while ChessV2.2 doesn't.

HG:

I already learned to drop pieces in Seirawan Chess. Thanks!


H. G. Muller wrote on Fri, Nov 22, 2019 02:37 AM EST:

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).


Greg Strong wrote on Fri, Nov 22, 2019 12:18 AM EST:

I have successfully tested on Windows 10.  What happens when you double-click ChessV.exe?  (It does not make button on the start menu)


💡📝Carlos Cetina wrote on Thu, Nov 21, 2019 10:16 PM EST:

Greg:

The same day you pre-released ChessV 2.2 I downloaded it but it does not work.

Recently I upgraded the OS from Windows 7 to 10. Save by the button sizes issue I still can run ChessV 2.1

I have archived the ChessV 2.2's 10 elements: 3 folders, 5 extensions and 2 apps, but Windows 10 may require programs to include an installer.

By contrast, some days ago I downloaded H.G. Muller's WinBoard 4.8.0 and I can run it perfectly; its logo appears listed in the Start Menu while the one of ChessV 2,2  doesn't, but the ChessV 2.1 logo yes appears listed.

I will look forward to the official release with installer included!

 

HG:

I will try to configure the Interactive Diagram as you say using the Bishop image for both Dragon Horse and Wazir.

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? 


Greg Strong wrote on Thu, Nov 21, 2019 07:31 PM EST:

The new ChessV supports Symmetric.  You could give that a try.  I think I have also fixed your issue with the button sizes, although I can't be sure (since I could not reproduce it.)


H. G. Muller wrote on Thu, Nov 21, 2019 12:27 PM EST:

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.


💡📝Carlos Cetina wrote on Thu, Nov 21, 2019 11:19 AM EST:

Thanks for your reply, HG.

What I'm looking for is an engine or computer program that allows me to analyze Symmetric Chess games with the idea of publishing them on YouTube, for which it would be very useful to have teaching resources such as those before mentioned: arrows, highlighting squares, etc.  

I think I could use the Interactive Diagram but I feel a bit unpleasant the fact that on the starting setup appear Dragon Horses instead of Bishops. Would it be possible to implement the Bishops Convertion Rule without the intermediation of neither Dragon Horses nor Wazirs? 


Wide Chess. Chess with 2 types of non-colourbound elephants added on a 12x8 board using fast castling rules.[All Comments] [Add Comment or Rating]
💡📝Kevin Pacey wrote on Wed, Nov 20, 2019 07:50 PM EST:

Here's a (10x8) variant I stumbled onto that has castling rules somewhat similar to that of Wide Chess, in that a king may pass over squares under attack (though not finishing on such a square, nor is castling legal if the K is initially in check). So, a sort of precedent for (part of) the special fast castling rules used in Wide Chess (and subsequently in a number of other CVs I've invented since):

https://www.chessvariants.com/large.dir/21st-century-chess.html

Here's another sort of precedent, perhaps, in that in the following (12x12) CV, a king, if not in check, may (with its initial move only) leap to an unoccupied (& unattacked) square on its back two ranks (including possibly 'over' any attacked square)- though this does not include a change of position by a rook or any other piece, as part of the special leap process:

https://www.chessvariants.com/large.dir/quinquereme.html


Odin's Rune Chess. A game inspired by Carl Jung's concept of synchronicity, runes, and Nordic Mythology. (10x10, Cells: 100) [All Comments] [Add Comment or Rating]
💡📝Gary Gifford wrote on Wed, Nov 20, 2019 06:55 AM EST:

There is (was) a Zillions version which grasps the game and plays it brilliantly. I lost all initial games to it... Thanks for commenting.

 


Calvin Daniels wrote on Tue, Nov 19, 2019 10:23 PM EST:

I made a set, painted runes on back of some wooden Scrabble pieces. Painted board on some soft leather. Love the game. I might have just called it Odin's Chess, and I'd have opted for priests with some twist, but overall I like its uniqueness. It has a root chess feel but is very much a rebuild from that foundation.


Courier-Spiel. 19th century variant of Courier Chess. (12x8, Cells: 96) [All Comments] [Add Comment or Rating]
Kevin Pacey wrote on Tue, Nov 19, 2019 09:25 PM EST:

The odd/special pawn promotion rules of Courier-Spiel kind of remind me of the odd/special pawn-of-pawns promotion rules found in another (earlier) historic variant, Tamerlane Chess:

https://www.chessvariants.com/historic.dir/tamerlane.html

[edit: Also note that with the Centaur and Guard pieces chosen for Courier-Spiel, in the setup, for each side, there are 3 pieces with a guard-like component (king, centaur and guard) and 3 pieces with a knight-component (besides three with a bishop component and three with a rook component, thanks to the presence of a queen), though just 2 ferfils.]


Amazons. Queens fire arrows to make squares unpassable. Last player that moves wins. (10x10, Cells: 100) [All Comments] [Add Comment or Rating]
Kevin Pacey wrote on Tue, Nov 19, 2019 05:04 PM EST:

"Roberto Lavieri wrote on 2005-07-08 EDTExcellent ★★★★★

I don´t know how many users and members of TCVP have played this great game. I have only seen at brainking.com that Andreas has been an active Amazons player, with a good performance. The best rated Amazons player at brainking is Grim Reaper (Ed Trice) Total score: 269 wins, 17 draws, 0 losses. Impressively good score."

I (Kevin Pacey) am wondering how a draw is possible in a game of Amazons. Perhaps on brainking the players are allowed to agree to a draw, or one or both players noticed (too late) that both players' playing time on their clocks had elapsed, thus resulting in a draw that way(??)


Symmetric Chess. 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 02:20 PM EST:

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..


💡📝Carlos Cetina wrote on Mon, Nov 18, 2019 01:26 PM EST:

HG:

Your Interactive Diagram is undoubtedly an excellent resource to show easily the various ways of moving pieces.

Given your obvious computer skills, I wonder if you could develop a software that serve as support when analyzing chessvariants games just like many bloggers do with standard chess; features such as arrows indicating piece movements, highlighting squares of threatened pieces, soon return to the basic position after seeing one or more variants. For example, please take a look at this YouTube video. 

I mean to add said features to the Interactive Diagram. Or are they more typical of a video editor software? 


Wildebeest Decimal Chess. A Wildebeest Chess adaptation to the decimal board.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Mon, Nov 18, 2019 07:34 AM EST:

You're welcome, Erik.  I'll change it for the official release.  But if you want, you can change your copy right now.  Just modify the text file in the Include sub-directory.  (Don't just rename the file, you also have to edit the first line in the file.)


💡📝Erik Lerouge wrote on Mon, Nov 18, 2019 05:49 AM EST:

The definitive name of this game is 'Wildebeest Decimal Chess'. Is it possible to change the name of the corresponding preset (which I had called 'Wildebeest Chess Decimal') for the definitive name, without destroying ongoing and finished games?

I also just downloaded Chess V2.2. Great job. Thank you Greg for having included my game. No matter if you have it under its old name; but if it is a Release Candidate version, if the name could be also changed it would be more coherent with this page (even if the 2 names are nearly identical).


Symmetric Chess. Variant with two Queens flanking the King and Bishops Conversion Rule. (9x8, Cells: 72) [All Comments] [Add Comment or Rating]
💡📝Carlos Cetina wrote on Sun, Nov 17, 2019 02:30 PM EST:

Thanks, H.G., for your posting. I will comment something later. Rightnow I'm leaving home.


H. G. Muller wrote on Sun, Nov 17, 2019 01:35 PM EST:

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

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 11:50 AM EST:

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 10:12 AM EST:

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)?


💡📝Jean-Louis Cazaux wrote on Sun, Nov 17, 2019 09:56 AM EST:

Thank you for all these explanations and feedbacks. I will correct soon the description on my own page. 

  • The end-o-game rules, checkmate, stalemate, etc. are identical to standard chess
  • King's jump: you guessed well. At his first move, the King may jump to a free square at 2 squares' distance. It does not matter if the square jumped over is occupied or not; however, the jump os forbidden if that intermediate square is threatened by an enemy piece. When jumping like a Knight, at least one of the two intermediate squares must be free of threat. The King's jump is not permitted if the King is in check.
  • The King cannot capture with its initial jumping moves (it may jump to a free square only)
  • En passant: any time a Pawn or a Prince takes a double step and passes through the capture square of an opposing Pawn, that Pawn may capture the Pawn or the Prince as if it had only moved one square. This en passant capture must be made in the immediate move following the double step. Only a Pawn may capture en passant; the Prince does not have this option.

📝H. G. Muller wrote on Sun, Nov 17, 2019 07:18 AM EST:

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".


Marseillais Chess. Move twice per turn. (8x8, Cells: 64) (Recognized!)[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Nov 16, 2019 12:29 PM EST:

Since you brought up the rule in Shogi against checkmating a King in Shogi with a Pawn drop, I checked how I handled it in Game Courier. I handled it similarly. After checking for checkmate in the Post-Game code, my code checks whether the checkmate was due to a Pawn drop, and if it was, it reports an illegal move instead of concluding the game.


Caïssa Britannia. British themed variant with Lions, Unicorns, Dragons, Anglican Bishops, and a royal Queen. (10x10, Cells: 100) [All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Sat, Nov 16, 2019 12:19 PM EST:

Done, and I moved the ASCII diagram to the ALT text of the image.


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 12:18 PM EST:

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.


Greg Strong wrote on Sat, Nov 16, 2019 11:25 AM EST:

Ok, I see.  Yes, probably representing positions in the middle of turns would not be common.  But since ChessV considers the legs to be different moves, I needed to do something.  I don't want to break the property that everything has an FEN.


Caïssa Britannia. British themed variant with Lions, Unicorns, Dragons, Anglican Bishops, and a royal Queen. (10x10, Cells: 100) [All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Nov 16, 2019 11:22 AM EST:

The graphic diagram on this page is very small for some reason.  Don't think it was always that way.  I will fix in a few days if Fergus doesn't.


Calvin Daniels wrote on Sat, Nov 16, 2019 10:24 AM EST:

Love the rebuild of chess. It's less a variant and more a unique offering, like shogi as example.

I'd say two things surprised me. In changing almost every piece on the board was there any thought of a different approach to the pawn?

And, of more interest, doing something to save te knight from its 'pasted on feel', the only real disappointment with the game so far? It woul be rare that promotion to a knight would be a better option than a taken piece IMO so I doubt knights get much play.

Perhaps making them a 'Veteran Knight' knight/camel combined move would help.

Or, allowing promotion to a knight on 8 and 9 row, to anything captured in 10th. In that was a knight might be better option as it arrives to the fray earlier.

Just a couple of thoughts.


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 03:47 AM EST:

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


Metamachy. Large game with a variety of regular fairy pieces.[All Comments] [Add Comment or Rating]
J Andrew Lipscomb wrote on Fri, Nov 15, 2019 09:49 PM EST:

The term "royal" in this context specifically means the "capture/mate me to win" property. The term "prince" has been used both for pieces with the King-move but no such property (Tempête sur l'Échiquier comes to mind) and for pieces that serve as a backup royal (Chu Shogi, Tamerlane). Prince is a reasonable term for either, but the clarification is also reasonable.


💡📝Jean-Louis Cazaux wrote on Fri, Nov 15, 2019 05:57 PM EST:

Hello friends,

Two things. I would like to know what was not clear in my description of metamachy? I could make corrections.

Second, it is a bit severe against me as the inventor to write about the Prince "Despite what its name suggests, it has no royal properties". It moves like a King, I think this is a strong royal property. It can be checked, and this is logical, the capture of the Prince should not be the end. A Prince is not a King. Its name is well chosen or I miss something.

Best regards


Marseillais Chess. Move twice per turn. (8x8, Cells: 64) (Recognized!)[All Comments] [Add Comment or Rating]
Greg Strong wrote on Fri, Nov 15, 2019 05:27 PM EST:

About the FEN: is this really needed? Why would one ever want to have a FEN for a position after the first move?

Really?  FENs are useful.  For example, the CECP setboard command.  I think the fact that ChessV will give you the FEN for the current position or load a new position by FEN in any game to be a useful feature.

[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

I'm sorry, but I don’t like this at all.  Instead of adjusting the side-to-move from “w2” to “w” and then to “b2”, you are going to go from “w” on move 10, to “w” but on move 10.5, and then to “b” and roll the move counter back to 10?  That is not cleaner than my approach.  And my approach is cleanly extensible to Progressive Chess

It seems to me that a Marseillais Chess cannot be implemented without some dedicated code that would be useless in single-move variants.

It is certainly true that allowing multi-move variants requires extra code.  So the goal was to add this capability in a modular fashion that is not specific to Marseillais.  ChessV has Rule objects which can be plugged in to enable various capabilities.  To support this, I made a special type of Rule called a MoveCompletionRule which handles updating the side-to-move when moves are made or unmade.  Every game must have exactly one of these.  Unless you are playing a multi-move variant, you just leave the default in place which just oscillates between white and black.  Other implementations can do more complex things.  The MarseillaisMoveCompletionRule can be plugged into any game – add it to Capablanca Chess and you have Marseillais Capablanca with one line of code.

It should be clear that you cannot judge the legality of a turn before you have seen the full turn

Well, this is what we are discussing... I wish to avoid that complexity, which I consider unnecessary and possibly undesirable, at least for Marseillais.  But you do have one excellent point, which is:

Take the Shogi Pawn-drop-mate ban.

Yeah.  That’s a problem.  I may not be able to avoid this issue long term since I deffinately want to be able to support Shogi.  I think that rule did cross my mind previously and I immediately pushed it to the side so as not to give myself nightmares.  Say, I wonder if Zillions can handle that rule?  I bet it can’t.

The other examples you give, like Paco Shako – are probably not going to happen – at least not unless other programmers start assisting me.  ChessV is now up to 400 files of source code.  It’s a ridiculously ambitious project for one guy in his spare time.  Some things just aren’t going to happen.  Unless I win the lottery.  Or find a wealthy benefactor.

The reason I mentioned QS was because I assumed this would be required to detect the fact that the previous ply exposed the King

That’s not how I am handling it.  One of the messages a Rule object can accept is MoveBeingMade – upon which it can update internal information (in the case of the castling rule or en passant rule), but it can also rule that the move is illegal.  The Checkmate rule handles MoveBeingMade, checks to see if the king is attacked, and rules the move illegal if it is.  And, determining if a square is attacked is also routed by message passing.  Butterfly Chess includes a CaptureByAdvance rule which handles the Advancer’s capture ability.  So the Checkmate rule handles MoveBeingMade, fires off IsSquareAttacked messages, which are picked up by the CaptureByAdvance rule.  So Butterfly Chess has both capture-by-advance and check/checkmate/stalemate without either Rule object knowing anything about the other!  Beyond that, support for Butterfly comes entirely from the scripting language - no C#, entirely plug-and-play. Computationally very inefficient, hence my lousy nodes-per-second, but that’s how ChessV is able to play such a wide variety of games and how I am able to add support for new games very quickly.


H. G. Muller wrote on Fri, Nov 15, 2019 02:21 PM EST:

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 02:08 PM EST:

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.


🕸Fergus Duniho wrote on Fri, Nov 15, 2019 11:16 AM EST:

Is there any French speaker here who can provide an accurate English translation of this? Google translate is not good enough to make it clear.

Les échecs marseillais sont une variante du jeu d'échecs où chaque joueur joue deux coups à la suite. En plus des règles du jeu normales, les joueurs doivent respecter les règles suivantes :

  • Un joueur en situation d'échec doit parer l'échec au premier de ses deux coups.
  • Si un joueur fait échec au roi au premier coup, il perd la faculté de jouer son deuxième coup.
  • Si après avoir joué son premier coup, un joueur se trouve dans une situation où il lui est impossible de jouer un coup légal, il est déclaré pat.
  • La prise en passant doit être effectuée au premier coup sauf si deux prises en passant sont possibles. Dans ce dernier cas, les deux prises en passant peuvent être effectuées à chacun des deux coups.
  • L'avance de deux cases des pions depuis leur position initiale ne peut pas être considérée comme un coup double (avance de deux fois une case). Donc le joueur peut jouer ensuite son deuxième coup.

Greg Strong wrote on Thu, Nov 14, 2019 08:09 PM EST:

An additional note, which I will add to the text of the page itself at some point, when we finish discussing modern Marseilleas:

The concept of an FEN Notation needs to be updated for Marseillais Chess.  ChessV can load/save an FEN for any game, so I needed to decide how to enhance FEN for Marseillais.  The only part that needs to be expanded is the part that records the side on the move - typically "w" or "b".  I add the additional options of "w2" for white on-the-move with two moves still to make and "b2" for black on-the-move with two moves still to make.  I like this alteration in part because the starting position for a (balanced) game still has the same FEN as orthodox chess.


Greg Strong wrote on Thu, Nov 14, 2019 07:21 PM EST:

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.

A reasonable distinction - from the point of view of a pure engine, it might not matter if a move is technically legal if you return -INFINITY for those moves that aren't.  For a GUI (that is, either Game Courier, or ChessV at the root), we need to know what is legal vs. illegal, although you do address this (quoted later.)

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.

What you say makes perfect sense.  It does.  And yet, Stockfish does not work this way.  It does not allow a king to be captured and evaluate it badly - rather, it considers that move to be illegal, even in a deep search.  I've looked at a ton of open source chess engines, and what you desribe is not how they work.  In truth, I don't really "understand" chess engines well at all - I sort of understand, but have a very, very hard time visualizing it.  You clearly understand these things on a level that I do not. I'm really just a sophisticated copy-cat who models my open-source engine after the code of others.  What you describe is a nice simplificaiton, but you are far off the beaten path and I am reluctant to follow you down this road, especially given that ChessV doesn't just play Chess, it plays over a hundred games, and it does it with absolutely NO "special cases" for any given game jammed in the middle of anything.  None.  It does what it does by means of a very sophisticated architecture of message-passing between Game, Piece, PieceType, and Rule classes glued together dynamically at run-time.  Not to brag, but there is nothing else in the world like it.  I don't want to tear apart what works on promise of what might be a 0.01% improvment in a typical game, nor what might make an unlikely corner-case of Marseillais more playable.

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.

Ok, here you might be right.  As a GUI, I really only need to know what is legal at the root, and again, what you say makes sense.  But I am afraid to follow you.  For one thing, ChessV must, must, must do the right thing in every chess variant which it comes across.  I stipulate that as an immutable parameter of its design (a parameter which I have temporarily broken by implementing Makruk without the counting rules.)  Is it always the case that an evaluation of -INFINITY (game lost) is the same as a move that is not legal?  And 1 ply + QS in normal chess, 2 ply + QS in Marseillais?  Doesn't this already indicate that we don't really know and we are doing an approximation?  Is this univerally applicable to all variants it supports and may support?  For Progressive Chess, does it need to be X ply + QS?  And what the heck does QS even mean in terms of a game like Marseillas where there are no quiescent positions?

Please don't misintrepret - I am not doubting you.  Your engines are awesome and there are many different games where you have the best engine in existance and, in some cases, the only engine.  I'm not doubting you.  I'm doubting MYSELF.  I'm just not willing to make a radical change when I cannot fathom the consequences.

All that said, at some point I will have a sophisticated test suite of dozens of positions in dozens of different games so I can test architectural changes with some level of confidence.  For example, I really like the alternative to mate-distance-pruning you suggested on another forum that is like a universal application of it that prefers the shortest route to any advantage.  It seems genious, and I want to use it.  But I'm afraid, given that Stockfish doesn't use it ...  And I have no robust test suite to prove it doesn't break anything...


H. G. Muller wrote on Thu, Nov 14, 2019 05:32 PM EST:

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.


Greg Strong wrote on Thu, Nov 14, 2019 04:25 PM EST:

I think you are describing what I already consider to be Marseillais Chess. In other words, what you are proposing is what I think we should be considereing to be actual Marseillais. But, in any event, what you describe is what ChessV is already doing under the name "Marseillais Chess" and what, on the other TalkChess thread, we agreed the rules to be (although we didn't get into the move-into-stalemate question)

Not arguing - if you are proposing we move forward with this, I am in complete agreement.


🕸Fergus Duniho wrote on Thu, Nov 14, 2019 04:20 PM EST:

Aside from trying to reconstruct the original Marseillais Chess, I would like to propose a game I might call Simplified Marseillais Chess, which is designed with programming it in mind. It would follow the rule of Balanced Marseillais Chess of giving White only one move at the start of the game, it would allow en passant capture only of a Pawn moved on the last part of a player's turn, it would have a turn end with one move if there were no legal moves to follow it, and it would work with normal stalemate and checkmate on a player's first move. I think those are the main differences from regular Marseillais Chess. Is there anything I have overlooked?


Greg Strong wrote on Thu, Nov 14, 2019 04:20 PM EST:

Sorry if I'm falling behind in this conversation.  I'm working so messages are coming faster than I can consider or respond to them.  So, for now, I'm only responding to H.G's latest message:

I understand what you are saying here, but I'm not sure how this addresses the issue.  Perhaps the conversation has already moved beyond what I think we are talking about. Regarding the "move into stalemate" issue, H. G. said:

The pair of moves should be legal, and a first move that only occurs in illegal pairs should therefore be considered illegal itself.

I think this is what we were talking about.  If it's not, please let me know.  You describe assigning a stalemate score to a move pair, but I don't think this does anything about making a first move ILLEGAL if it leads to a stalemate when there is an alternate possibility.  If we've already written this off as unworkable, great.  If we're still talking about it, I don't think it is reasonably doable.

Regarding Sven's eninge - that would be awesome.  I didn't remember this from the thread and going back now, it seems this file is no longer available.


🕸Fergus Duniho wrote on Thu, Nov 14, 2019 03:33 PM EST:

One more question remains. While the rules seem to allow for second-order stalemate when the King is not in check, what about when the King is in check? Should this count as checkmate or stalemate? From the understanding that checkmate is check plus stalemate, we could argue that check plus second-order stalemate is also checkmate. Or, we might argue that the ability to escape check, even if no follow-up move is possible by any means of escaping check, constitutes only stalemate. Here's an example:



🕸Fergus Duniho wrote on Thu, Nov 14, 2019 03:27 PM EST:

Here's an example of what I'm calling a second-order stalemate. Black is not in check but has only one legal move.



🕸Fergus Duniho wrote on Thu, Nov 14, 2019 12:59 PM EST:

For the sake of testing some endgame positions as I write the code, here is a game where I played both sides just to get a stalemate position.



H. G. Muller wrote on Thu, Nov 14, 2019 05:03 AM EST:

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.


Greg Strong wrote on Wed, Nov 13, 2019 08:33 PM EST:

I somewhat like the notion that a player can't make a first move that puts himself into stalemate if there is an alternate sequence.  Unfortunately, this would be extremely difficult for me to implement.  Like Zillions, ChessV handes multi-move variants by treating each leg as a separate move and implements the double move by adjusting when the side-to-move is flipped.  To implement this, I would not know if a move is legal without generating moves another level deep, and that would be a radical modification.  In practice, I think this would almost never come up in a real game.  I had a hard time even coming up with a position where I could test this.

So far as I know, there is no other xboard engine that plays Marseillais (or another GUI that enforces the rules.)  I really hope that changes.  To that end, I'm not inclined adopt an interpretation that makes it substantially harder to make a fully compliant engine to address a situation that is extremely rare at best.

Don't get me wrong - when trying to nail down the rules for classic games, ability to program them shouldn't be the top concern, and certainly shouldn't constitute a veto of clearly defined rules.  But the classic rules are in doubt, very likely were played with different interpretations at different times (to the extent these corner-cases were even considered), and the rules have been evolving.


🕸Fergus Duniho wrote on Wed, Nov 13, 2019 03:10 PM EST:

I think I figured out how to interpret the rule in a way that uses stalemate but avoids the problem of letting a player deliberately move into stalemate. This is the interpretation that if a player does not have any combination of two legal moves, the game ends in stalemate at the very beginning of his turn. I could do it like this. After checking for regular check and stalemate in the Post-Game sections, I could try out the available legal moves to see if any are followed by legal moves, stopping as soon as I find at least one. For this, I would use a subroutine that returns false as soon as one legal move is found and does not take the time to go through all possible moves and calculate a list of legal moves. Since there are plenty of legal moves when lots of pieces are on the board, and a position without any combination of two legal moves would be most likely in a position with few pieces left, there should not be a heavy computational load for doing this.


🕸Fergus Duniho wrote on Wed, Nov 13, 2019 11:50 AM EST:

I don't know if the interface already commits the user to the first move after he entered it. If not, and he can still take it back, you don't really have to do anything.

This comment popped up while I was writing my last one. The interface does not commit a user to a move until it is complete.

Whatever he does for the second move will be rejected as illegal, so sooner or later he will decide to try another first move.

That's how it currently works. A player without any legal move on his second move is unable to proceed and must go back and make a different move to complete his move. The problem comes in when a player has only one legal move, and that puts him in a position without any more legal moves. In that case, the player is unable to move at all, and all he can do is resign or wait for the clock to time out. I would rather have something cleaner than that.


🕸Fergus Duniho wrote on Wed, Nov 13, 2019 11:44 AM EST:

Using the Zillions-of-Games version of Marseillais Chess by Young-Hyun Joo, I moved pieces until I got a position where one side used the first move to move into a position with no second move. When I tried to move again, it declared the game a draw.

While I generally don't like the idea of a player being able to draw a game by stalemating himself, it is also a difficult thing to do until the endgame, and giving each player two moves should normally allow the player who is ahead to force checkmate all the more quickly. So, in this game, it may mitigate the greater advantage of the player who is ahead and give the player who is behind greater hope of being able to draw the game without really making the game too drawish.

This rule comes from a reading of Pritchard, and given how he mangled all of my games that ended up in the revised version of his Encyclopedia, I don't trust him. But he is also the only source I have. I would like to find the article written by Fortis, but it may not be on the web. Since I don't have a serious objection to it, and since it is computationally less expensive than some other options, I'll probably go with it unless someone has a more authoritative historical source than Pritchard.

Checking how en passant works in the same Zillions script, it works as I have programmed it except that it allows the capture of two pieces when a piece has moved to the space a pawn just passed over with its double move. I suspect that if capturing two pieces at once were allowed, this would have been mentioned explicitly in the rules. My interpretation is that since en passant means "in passing," the idea is that an en passant capture happens during the pawn's move and not after another move. In that case, the new piece would not yet be on that space when the en passant capture actually happens, and a double capture would not be possible then. Given this, a pawn who captured by en passant on that space should itself be captured, leaving the piece that moved to that space still standing. But this would overcomplicate the game, and it is easier to say that moving the piece there caused the enemy pawn to lose its chance to capture by en passant but compensated for this by giving it another piece to capture. So, I don't support allowing double captures.


H. G. Muller wrote on Wed, Nov 13, 2019 11:05 AM EST:

I would consider the latter solution perfectly acceptable. In my Shogi engines I use something similar for Pawn-drop mates; rather than engaging in time-consuming testing whether the move is legal, just reverse the score of a checkmate when the previous ply was a Pawn drop.

I don't know if the interface already commits the user to the first move after he entered it. If not, and he can still take it back, you don't really have to do anything. Whatever he does for the second move will be rejected as illegal, so sooner or later he will decide to try another first move.


🕸Fergus Duniho wrote on Wed, Nov 13, 2019 10:02 AM EST:

I hadn't thought of that interpretation, but it is more computationally complex than the ones I was considering. It would involve testing a position for legal moves, then trying out each legal move and testing it for legal moves until at least one legal move is found. Also, I normally handle checking for stalemate in the Post-Game sections to minimize its computational cost, but if a move were to be illegal if it had no follow-up move, the code would have to check for double levels of stalemate in the Post-Move sections, and that would significantly raise the computational load of the code.

The two interpretations I was considering were to allow only one move when no second move is legally available or to end the game in a draw when a second move is not available. Another alternative would be to end the game as a loss for the player who does not have a second move available. This would discourage players from deliberately stalemating themselves just as well as making it illegal would, and it could be done with far less computational complexity.


H. G. Muller wrote on Wed, Nov 13, 2019 03:51 AM EST:

I support that interpretation. The pair of moves should be legal, and a first move that only occurs in illegal pairs should therefore be considered illegal itself.

One can compare this with the handling of the touch=move rule in FIDE rules, which also makes a turn a two-event action: lifting a piece, and then dropping it. If I play Carlsen with black, and start touching Ra8 after his opening move, I cannot claim a draw on the basis that this Rook has no moves, and I am not in check, so that its a stalemate. I simply must grab another piece to move.


dax00 wrote on Wed, Nov 13, 2019 02:01 AM EST:

It seems logical to me that stalemate must be a result of one player's move making it impossible for the other player to complete his move(s). Intentionally "stalemating" yourself on your first move so you have no legal second move seems like it should be illegal - an illegal move. If left with any set of 2 legal moves to be played, a player should be compelled to make those moves.

If, for example, a player can only move his pawn, that pawn starts on b7, and an enemy pawn is on b4, that player should not be allowed to make the pawn double-move on move 1, but rather make 2 separate single-square moves.


wdtr2 wrote on Tue, Nov 12, 2019 07:29 PM EST:

Tough Question.  I could see the 2nd move being "pass", and if Marseillas is a mandatory 2 move game per person, it is a strong arguement that it is a stalemate.  You are the programmer to the game, I would pick the one Fergus Likes, and make sure it is mentioned in the rules.


🕸Fergus Duniho wrote on Tue, Nov 12, 2019 05:05 PM EST:

One more issue has come up. Suppose that a player makes a first move that leaves him with no legal second move. Does this end his turn like a checking move would, or does it end the game in a draw? Pritchard says in Popular Chess Variants, "A player who is not in check and cannot complete his turn is stalemated." This suggests the latter, but he could have said it more explicitly if that is what he meant. Is there any consensus on how being unable to move on the second move should be handled?


🕸Fergus Duniho wrote on Tue, Nov 12, 2019 11:29 AM EST:

What I cannot imagine is that the original inventor would have thought it reasonable to allow e.p. capture

  1. when the capturing Pawn has not seen the other one move past it
  2. when the Pawn that moved is no longer there
  3. when the e.p. square gets occupied

That's all reasonable, and what I've coded for Game Courier is in conformity with it. The first one is already handled by the rule that en passant is not allowed on the second move unless the player is making two en passant captures. This prevents a player from using his first move to move a Pawn into position to do an en passant capture. (Note that a Pawn that was already in the position to do this could just capture the double-moved Pawn normally and then use its second move to go to the space the now captured Pawn had passed over, reaching the same position without using en passant.)

The second is handled by setting the ep1 variable to false whenever a player moves the same Pawn again. Since ep1 would store the position of the previously moved Pawn if the last move were a Pawn move, it checks whether the second move is from that location.

The third is handled by checking for a normal capture before checking for other types of Pawn moves. If the move is a normal capture, it never gets to the code for en passant. If it's not a normal Pawn capture, then the move was to an empty space. By the time it reaches the elseif clause for en passant, it has already been determined that the space is empty.

 


🕸Fergus Duniho wrote on Mon, Nov 11, 2019 09:54 PM EST:

So if the player moved a pawn two spaces and the placed a piece on the square passed over you would allow capture of both with a single move? 

The way it is coded, that would not happen. The first thing it checks for is an ordinary diagonal capture. If the move involves one, that's what it does, and it doesn't get around to checking for an en passant move.

I have started to look at the thread you provided a link to, and I will continue to look at it tomorrow.


H. G. Muller wrote on Mon, Nov 11, 2019 03:49 PM EST:

What I cannot imagine is that the original inventor would have thought it reasonable to allow e.p. capture

  1. when the capturing Pawn has not seen the other one move past it
  2. when the Pawn that moved is no longer there
  3. when the e.p. square gets occupied

Greg Strong wrote on Mon, Nov 11, 2019 03:45 PM EST:

So if the player moved a pawn two spaces and the placed a piece on the square passed over you would allow capture of both with a single move?  To me, that doesn't fit comfortably with the spirit of chess.  Pritchard notes that the rule has changed over time, probably for good reason.  Similarly, Marseillais Chess is now played in 'balanced' form because it is clearly superior.  Old games do evolve and that's a good thing.

Here is the thread on Talk Chess where this was discussed.  In it I actually started iwth Fergus' view and was persuaded to adopt my current view.


🕸Fergus Duniho wrote on Mon, Nov 11, 2019 03:26 PM EST:

The earliest source I can find is Pritchard's 1997 Encyclopedia, which is the source Hans originally used to write this page. It says "En passant is legal if the opponent moved a pawn two squares on either of his moves but the capture must be made at once. However, if the opponent made two two-square pawn moves, both pawns can be taken e.p. This last rule is credited to Alekhine by F. Palatz in an article on the subject (LEC Sep 1928)." LEC refers to L'Echiquier. Notably, Alekhine is not one of the inventors, and how the game should handle en passant might be something that the original inventors didn't think of. It is also unknown whether the game was invented by Fortis or by de Queylar. It has been attributed to each one, but its origins are murky.

Regarding one of the alternative rules, it says "The game was sometimes played with alternative rules: a check on the first move was illegal and a player could not capture e.p. if the pawn had been moved in the first part of the player's turn." It's very possible that Fortis and de Queylar invented similar games with slightly different rules that eventually got conflated together.

The rule that Greg Strong and H. G. Muller propose has the advantage of being the simplest to program. It works with code that has already been written for Chess. Of course, the original inventor of the game would not have had this in mind, since programming games was not an option when it was invented. However, the rules as initially described above can be programmed, and that's what I have done in Game Courier. The only issue with them is that they need emendation for a Pawn that moves twice on the same turn. If we keep those rules, then en passant capture should be impossible in this instance, or it should be allowed for the Pawn on its new space. I have the former programmed right now, whereas the latter would be trickier to program.


Greg Strong wrote on Mon, Nov 11, 2019 01:57 PM EST:

Yes, I should have said en passant only allowed if the two-space pawn move was on the player's most recent move (rather than second move) to account for this.  I just tested this situation and ChessV does allow en passant to get the king out of check.  It is implemented as H. G. suggests - any move clears the EP square.


H. G. Muller wrote on Mon, Nov 11, 2019 12:37 PM EST:

Well, another move should clear the e.p. rights generated by any previous move. Like it always does. E.p. rights are transient, and last only to the end of the next move. (And not to the end of the next turn!)


🕸Fergus Duniho wrote on Mon, Nov 11, 2019 11:37 AM EST:

I changed it to allow en passant only when the Pawn's double move is a player's second move, and I confirmed that this change did not break any past game. But as I was rewriting the rules, one more thing occurred to me. Suppose a Pawn's double move done on the first move puts a King in check, thereby ending the turn without a second move. If this check could not be ended with an en passant capture, this could allow a King to be checkmated in a position that would not be checkmate in Chess, and this would violate the intention behind the game.

So, I think we have to exclude the rule that en passant is allowed only when a Pawn makes a double move on the second move of the turn. This could be replaced with the rule that en passant is allowed only when the double move was the opponent's last move, or it could be replaced with the rule that en passant is allowed only when the Pawn that made a double move didn't make another move after it. For the meantime, I'll change it back to the latter.


H. G. Muller wrote on Mon, Nov 11, 2019 03:31 AM EST:

In any case it should be clear that you can never capture a piece after it moved away with the second move, just because it was in a location after its first move where you could capture it. It would be highly illogical if e.p. capture would be an exception to that. Whether you want a second move done with a different piece to destroy e.p. rights is a matter of choice.


Greg Strong wrote on Sun, Nov 10, 2019 09:43 PM EST:

This is tricky, and different players have used different rules.  This page states:

According to Pritchard's Popular Chess Variants, 'The en passant rule has seen change. Modern players allow it only when the Pawn advance formed the second move of a turn.'. This helps to eliminate some ambiguity discussed in the comments. (What if a player advanced a Pawn by two squares, then occupied the intermediate square with a piece?)

The situation is potentially even worse than this example.  What if a pawn made a double move and then went on to capture a piece with its second move?  Would capturing it en passant then magically bring back the piece it captured?

There was a discussion about this on the talk chess site a few years ago.  The discussion went on for quite a while and a lot of people weighed in.  I can try to dig up the thread, but the final outcome was that there is really only one interpretation of en passant makes sense and doesn't lead to problems: the en passant capture must be made with a player's first move and can only be used to capture a two-space move by the opponent's second move.  If a player makes a two-space pawn move with the first of his two moves, it is not subject to en passant.  ChessV uses this interpretation and I believe Game Courier should do the same.


🕸Fergus Duniho wrote on Sun, Nov 10, 2019 09:28 PM EST:

While fixing a bug in the Game Courier code, I came across a situation that is not clearly covered by the rules. Suppose a Pawn makes its usual first-move double move, then it moves forward one more space on the same turn, so that it moves a total of three spaces forward. Can it be captured by en passant if the opponent has a Pawn in the usual position? On the one hand, it has made a double move, and a Pawn that makes a double move can normally be captured by en passant. On the other hand, it is no longer on the space it moved to when making its double move, and if the player had wanted to, he could have moved the Pawn forward one space, then captured the Pawn that was in a position to capture it by en passant if it had made a double move.

For now, I have written the code to forbid en passant capture in this situation. Does anyone know if there is any precedent for allowing en passant capture in this situation?


Yalta. A three player chess variant. (Cells: 96) [All Comments] [Add Comment or Rating]
Colin Rowat wrote on Sat, Nov 9, 2019 07:12 AM EST:
  1. how does Yalta compare to other three-player chess variants?  (I'd come across it as a teen, so have a soft spot for it.  It also looks like a more direct extension of two-player chess than some others that I've seen - which I also like.)
  2. is there anyone who makes Yalta chess mats?

Cagliostro's Chess. Variant on 12 by 8 board with combination pieces. (12x8, Cells: 96) [All Comments] [Add Comment or Rating]
Kevin Pacey wrote on Thu, Oct 31, 2019 11:12 PM EDT:

Does anyone know if this variant has been tested much over-the-board or online? Superficially, it looks like if a player castled (especially kingside, with the enemy queen beaming in to the l-pawn's home square right from the setup), he might routinely get destroyed by an attack based almost on long diagonals alone. In any case, the opposing bishops are beaming at each other's home squares in the setup, which may be seen as undesirable (though for 12x8 variants with the inclusion of bishops, some sort of tradeoff(s) may always have to be made when it comes to choosing a setup).


Tandem Chess. 4 player variant where pieces taken from your opponent are given to your partner. (2x(8x8), Cells: 128) (Recognized!)[All Comments] [Add Comment or Rating]
Kevin Pacey wrote on Tue, Oct 22, 2019 10:38 PM EDT:

Oddly the wikipedia entry for Bughouse Chess (which is given there as synonymous to Tandem Chess or Siamese Chess, unlike in CVP's entry for Bughouse plus Tandem Chess [which notes some differences in rules between the two variants]) does not appear to discuss drops of captured rooks at all, unless I missed it:

https://en.wikipedia.org/wiki/Bughouse_chess


H. G. Muller wrote on Tue, Oct 22, 2019 05:49 AM EDT:

I am a bit worried about this paragraph that states a dropped Rook is considered virgin (and thus fit for castling). As far as I know there doesn't exist any on-line server that uses this rule, or any engine that plays by this rule. It is also a very weird rule: when you move a Rook you lose castling rights, and moving it back to a corner normally doesn't restore them. And a drop move is a move like any other.


Veteran Chess. Most pieces can or must irreversibly promote when they capture.[All Comments] [Add Comment or Rating]
💡📝H. G. Muller wrote on Fri, Oct 18, 2019 04:15 AM EDT:

Alfaerie is one of the six preconfigured settings in the design wizard for the interactive diagram, (setting the right values for the image directory, square size, white/black prefix and graphics type at the press of a button), and in fact the default choice. Other buttons give you Abstract, Motif, Utrecht, 2 sizes XBoard presets. And of course you could use your own uploaded graphics, by supplying the location and other parameters to the design wizard explicitly.

For the pieces I needed Alfaerie was not too bad. I had to improvise a bit for the (Mounted) Veteran, using the Wazir(-Knight) instead, thus only indicating the non-capture move correctly. But that seemed acceptible.

Some of the other Alfaerie pieces look embarrasingly simplistic (e.g. Elephant), so I usually prefer the XBoard theme when I need any of those. Even the orthodox pieces look pretty ugly in Alfaerie; they are not anti-aliased, giving them a very ragged appearance. This is so 20th-century... I think it is high time someone would take the trouble replacing all the Alfaerie image files by anti-aliased versions (with alpha channel).

versus  

BTW, I am happy you like Veteran Chess. I have not programmed it into any engine yet, but I play-tested it against a regular participant of the Dutch Superchess championship over the board, and it seemed quite playable. That 1:1 trading is discouraged by leaving the opponent with a promoted piece seems compensated well enough by that in 2:1 trading you can promote your second piece to compensate for the loss of the first. E.g. a Pawn protected by a Pawn is pretty much unassailable in orthodox Chess, but here after BxP, PxP, NxP=M promoting the Knight to a Rook-class piece plus capture of two Pawns seems enough compensation for the Bishop. So you don't get into stand-off situations too easily.


Greg Strong wrote on Thu, Oct 17, 2019 09:57 PM EDT:Excellent ★★★★★

A very interesting game.  And you have the interactive diagram using our signature Alfaerie pieces and colors!  I love it :)


Chimera Chess. The highlight of this chess variant are the Chimera pieces, which are substantially enhanced versions of the orthodox Knight.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Oct 6, 2019 03:20 PM EDT:

As an opposing army for orthodox Chess this seems way too strong. A leaper with 16 targets typically is worth about 7 Pawns, and with 24 targets about 11 Pawns. Together with the Sages, which are about Knight value, this already balances the fide army. But in addition you have the two Flying Jesters, which are major pieces, and should be worth at least a Knight, and more likely about 4 Pawns each.

So pitting this against fide is like being Rook + minor ahead...


Ben Reiniger wrote on Sun, Oct 6, 2019 02:03 PM EDT:

Yes, graphics are present now, and I've unhidden the page.

You might consider renaming the Chimera Rider, since "rider" is a common variant piece descriptor.


💡📝Albert Lee wrote on Sun, Oct 6, 2019 04:47 AM EDT:

Dear Fergus,

I am the inventor of Chimera chess who posted the description above.

I had a look at the page from my account, and I can see all the images.

Could you please check again? 

 

Thanks,

Albert


Courier-Spiel. 19th century variant of Courier Chess. (12x8, Cells: 96) [All Comments] [Add Comment or Rating]
Kevin Pacey wrote on Sun, Sep 29, 2019 01:47 PM EDT:

Today I've had an idea for a CV that might be called 'Accelerated Courier-Spiel'. The thought is to try to come up with a modified version of Courier-Spiel that one day just might be significantly more popular with modern day chess (and CV) players.

The rules would be the same as for Courier-Spiel, except:

1) Some form of fast-castling rules would be used - in particular such as those used for my own 'Wide Chess' CV:

https://www.chessvariants.com/rules/wide-chess

2) The 'fool' pieces (move like guards) would be replaced by Archbishops, in the setup (a slight 'rationale' would be that thus for the new setup, one chess minor piece has been knighted [= the Archbishop] and the other chess minor piece has been crowned [= the Centaur]). [edit2: A slightly different setup seems advisible to make these and the other changes most feasible]

3) The pawns would behave as in standard chess, except that they can promote to any piece type in the (modified) setup, except for a king. [edit: if centaurs replaced archbishops in the setup, then the resulting CV idea might be called Centaur-Spiel]

Note I thought about somehow having Chancellors in the setup, too, but given that I wanted 12 non-pawn pieces per side still, I didn't mind excluding Chancellors as I've always worried they might trade each other off too easily in CVs where they can be developed to be able to do so in just one more move, if either player is willing or has no better option. [edit4: Below is an idea that might be called Capa-Spiel; See above for my own suggested castling, pawn rules. edit6: Perhaps it might often be hard to castle kingside completely safely, at least early on, owing to possible pressure by the enemy Q, bishop(s) and chancellor - in any case the position of the Archbishop in the setup might also cause some awkwardness (also the case in the previously diagramed setup, for Accelerated Courier-Spiel):]

[edit: Adding an Archbishop and Centaur to the FIDE army on 10x8 (like for Capablanca Chess' Archbishop and Chancellor addition) might be an interesting concept. edit3: A slightly different setup, after the changes, again seems advisible to me. edit5: The following (reverse symmetry) idea could be called Centaur Princess Chess; pawns would be like in chess, and castling rules would be like in my earlier Wide Chess. edit7: The setup may seriously limit the number of interesting opening variations, at least in the early stages of a game, I fear:]

[edit8: 22-Nov-2019: Currently I'm not liking any of these 3 CV ideas, as in their setups, very much.]

[edit9: Here's an idea of mine (with castling and pawn rules as suggested for my Accelerated Courier-Spiel idea above) that could be called Hurly-Burly Spiel; I'll study it at my leisure:]

Note that wikipedia's entry for Kirins states that 2 of opposite colours can mate a lone K without help from their own K; also, Dr. Muller's results elsewhere indicate that on 12x8, K & 2 fibnifs (also called lancers) can mate a lone K, and he opines that K & 2 horsewazir compound pieces really should be able to mate a lone K.

[edit11: I don't really like this CV too much since neither side has a full FIDE Chess army included, which is why I worked on edit10's CV idea.]

[edit10: Here's another idea of mine, somewhat similar to the last one (i.e. with same castling and pawn rules), which could be called Hurly-Burly Chess; I'll study it at my leisure:]

[edit12: I'm afraid I don't really like this CV idea too much either, since the enemy Archbishop in the setup might make castling queenside often/sometimes a somewhat unsafe idea, and the board is very wide in any case, which makes it especially impractical for over-the-board games (besides trying to recall the setup).edit13: Lately I think I'm worrying too much about possible defects for all these CV ideas.]


8-Piece Chess. (Queen's Army chess, all 8 Back Rank Pieces different).[All Comments] [Add Comment or Rating]
💡📝JT K wrote on Fri, Sep 20, 2019 11:59 AM EDT:

Nice one Ben, exactly right.  In addition:

Pushing the King to d5 also works, but my original idea- just like your line of thinking, was "return to the square it just left" like in my checkmate example in the Pieces section. Even though it can do a lot, I'm pretty sure the sentry is still just a bit weaker than a bishop (and that's how I wanted it), for example if the sentry were a pinned piece here, it can't perform the final mate move, while a bishop already has it mated. Advantages and disadvantages is what I was going for.

 


Ben Reiniger wrote on Fri, Sep 20, 2019 10:32 AM EDT:

Thanks H.G., I've changed my older comment to use the inline-style whiteout.


H. G. Muller wrote on Fri, Sep 20, 2019 03:36 AM EDT:

A common work-around for spoilers is to print them as white text on a white background. Selecting it then usually makes it visible. This editor doesn't seem to have a button for selection of the font color, though. But of course this could be done through HTML tags. Like below:

This sentence is printed in white.


Ben Reiniger wrote on Thu, Sep 19, 2019 08:37 PM EDT:

I've put (what I think is) the solution in my last comment, but as an html comment.  You can see it by viewing the page's source code (ctrl+u on most browsers; then ctrl+f to search for "spoiler" should get you there quickly).  I was suggesting/asking whether we (the editors) should pursue adding a spoiler-hiding method and, probably, a button in CKEditor to insert such a spoiler to the site.


💡📝JT K wrote on Thu, Sep 19, 2019 06:27 PM EDT:

You’re asking the admin team for Spoiler text as a feature?  Or did you want me to simply post the sequence for now?


Ben Reiniger wrote on Thu, Sep 19, 2019 02:13 PM EDT:

Spoiler(?) (should we consider adding a spoiler tag plugin for CKEditor?):

Qxc5+, ke6 // in check both from queen and sentry->lancer
Qd5+, ke7
Qxf7+, kd6 // again doubly checked
Ld2=n+, kc6
S-c6Kd6# // checked by Lancer, no piece to interject; cannot move back to Sentry's square, and Queen and Pawns cover last escape squares.


Wildebeast9. A Variant of Wildebeast Chess.[All Comments] [Add Comment or Rating]
Aurelian Florea wrote on Thu, Sep 19, 2019 09:08 AM EDT:

Nice idea!... Is there anyone interested for a personal challenge?


8-Piece Chess. (Queen's Army chess, all 8 Back Rank Pieces different).[All Comments] [Add Comment or Rating]
💡📝JT K wrote on Tue, Sep 17, 2019 05:31 PM EDT:

Ben, if you liked the sentry example, here's another one, a bit trickier. White to move and mate in 5:


Ben Reiniger wrote on Mon, Sep 16, 2019 03:24 PM EDT:

Nice!


💡📝JT K wrote on Mon, Sep 16, 2019 01:10 PM EDT:

A quick puzzle based on this variant, with Black's pawns moving up the board - playing from the bottom (using abstract pieces as this is from Tabletopia) 

Anyone insterested in playing a game, we can arrange a time/date to play live online.


Threatened Pawn Chess. Pawns start in threatened positions. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Mon, Sep 9, 2019 04:38 AM EDT:

I had similar problems in Shogi, when I tried to search check drops in addition to captures. Some lines just continue forever, and with depth-first that is of course fatal. This looks especially stupid when alternative moves to the infinite line in many places include a mate-in-1, which would have alpha-beta pruned the infinite line had they been searched first. So I tried a scheme with an iteratively deepened QS that would back up score intervals rather than one-sided score bounds (and would return {standPat, INF} for QS nodes with captures that were too deep to search), deepening it until the interval in the QS root collapsed to a single value. This way you would find the closest forcible (through QS moves) mate before searching any deeper lines. But this still wasn't enough to make the problem disappear, so I abandoned that again, and only search captures now.

The problem is that this is really very wrong in games with piece drops. Even recapture exchanges are often meaningless there, as the capture of a protected piece might give the opponent the piece in hand that he needs for an all-check-drops mate, so that you cannot afford to recapture. It seems Bonanza in every QS node first does a 3-ply checks-only search to see if it can checkmate that way, and if it cannot searches only captures (or stand-pat).

Even most engines for orthodox chess limit the search of checks to the first two ply of QS. They are furthermore selective in what checks they search, and usually prune those that can be evaded by a SEE > 0 capture on the checking piece.

It is still an open question for me how, when you have a QS that also is controlled by a depth parameter, you can best increase the tree size in an iterative deepening scheme. The simplest way would be to just keep the QS depth fixed, and iterate the depth of the full-width search as usual. I suspect this is very sub-optimal, though, as it requires the tactics that QS misses because of the depth limitation to be discovered by the full-width part. Which is not only the most expensive thing you could do in the leading plies from the position that was too complex, but adds to the tree everywhere. It leads to the complex tactics being resolved only when the branches ending in simple tactics (presumably the large majority) have already been deepened too, while the resolved score could be such that it upsets the entire tree, making most of the deepened lines irrelevant.

Increasing the depth of individual QS until they converge OTOH leads to very much (possibly infinite) effort on QS that in the end might turn out to have scores that makes the branch leading to them irrelevant. Iteratively increasing the QS depth limit in the tree as a whole before increasing the depth of the full-width search would waste a lot of time walking the same full-width tree in parts where you encounter only QS that have already converged for the current depth limit.

I have the feeling it should be possible to control the search depth with a single parameter from the root, which would both increase the QS depth limit and the full-width depth as it grows. E.g. with a QS that does an M-ply all-capture search followed by unlimited-depth recapture-only, you could keep track of whether the QS actually did prune any captures that were not recaptures. If there were, M was not large enough to converge the QS, and would have to be increased. The search could be made to converge the QS first, before being allowed to search any non-captures. E.g. by counting each QS ply as half a full-width ply, and when an N-ply search is requested, start with a QS there, increasing the QS depth limit to at most 2N. If QS converges before that, it all moves with a d=N-1 reply (or applicably further reduced), if not, it just returns the unconverged QS result (signalling to the parent that it cannot yet switch to full-width).


Greg Strong wrote on Sat, Sep 7, 2019 08:03 PM EDT:

Wow, QS explosion is a serious problem.  Now that I have allowed all check evasions in the QSearch, I have my search stack overflowing very quickly in Gross Chess and my stack supports a depth of 128!  After four plies of QS it considers only recaptures and check evasions and I still had over a HUNDRED plies.  I figured something had to be broken with my 3-fold repetition detection, but not so...  In Gross Chess you can literally have over a hundred consecutive moves of nothing by check evasions and recaptures to the last square without triggering repetition.  I would not have thought it possible had I not spent a couple hours manually stepping though about 50 plies until I was convinced it was for real.  (It has a lot to do with the cannons - you can often escape check by moving into the path of your own cannon to become a screen and check the opponent king.)

So I appreciate your previous message or I would probably have been at a loss as to what to do about this.  I've now switched to this:  first four plies of QS are all captures and check evasions; after four plies it switches to only recaptures and check evasions; after eight plies of QS it starts to allow standing pat even when in check (returning the static evaluation rather than -INFINITY.)  This has stopped the search explosion.  I'm now running a 1600 game Capablanca match against FairyMax to ensure this doesn't hurt my search strength too much.  (Seeing as most games don't have the kind of search explosion problems that Gross does but I'd like to keep the search function the same across games if possible.)


Greg Strong wrote on Mon, Sep 2, 2019 01:53 PM EDT:

Yeah, I was generating all check evasions in QS, I just forgot to make that exception when it switches to recpature only.  I added the limit because the QS explosion was so bad it basically didn't move when I implemented Evolution Chess.


100 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.