Check out Symmetric Chess, our featured variant for March, 2024.


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

Ratings & Comments

EarliestEarlier Reverse Order LaterLatest
Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sat, Feb 4, 2023 04:38 PM UTC in reply to A. M. DeWitt from 12:34 AM:

I thought of one more thing that could be going on, and I updated update_row to return a warning when it happens. This function now reads the row from the database and checks its values against the values you want to update, and it adds to the SQL query only those values that are different from what is already stored in the database. So, if you tried to update a comment without changing anything, it wouldn't add any values to the query. In case this happens, it will now exit early with a warning.


Maurice Dekker wrote on Sat, Feb 4, 2023 06:34 PM UTC:

Problem when trying to change password: "Cannot continue, because no row in the Person table could be identified."


Diagram Designer. Lets you display diagrams without uploading any graphics.[All Comments] [Add Comment or Rating]
Edward Webb wrote on Sat, Feb 4, 2023 07:47 PM UTC:

The set groups Chushin Shogi and Taishin Shogi have no working graphics for any of the sets listed.


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sat, Feb 4, 2023 10:33 PM UTC in reply to Maurice Dekker from 06:34 PM:

That happened to me too when I signed in after trying to change my password by email. Email is not working, and I didn't get the email it sent. When I signed in from the same page where I had tried to send an email for changing my password, it said "Cannot continue, because no row in the Person table could be identified." To change your password, do it within five minutes of signing in, or ask for assistance. Since you were able to sign in to post this, you should be able to do it within five minutes of signing in. Just click on the link with your name, or select "Personal Information" from the menu with your name, and then click on Change Password.


Ultima. Game where each type of piece has a different capturing ability. (8x8, Cells: 64) (Recognized!)[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Sun, Feb 5, 2023 11:02 AM UTC:

pieces are tramplers

satellite=ultima files=8 ranks=8 promoZone=0 maxPromote=0 stalemate=win graphicsDir=/graphics.dir/alfaeriePNG/ squareSize=50 graphicsType=png lightShade=#ffff80 darkShade=#bf998c rimColor=#077208 coordColor=#ffff40 symmetry=rotate borders=0 firstRank=1 useMarkers=1 newClick=1 trackPieces=6 spell=freeze pincher::mR:templar:a2-h2 withdrawer::mocabyafmKdaubyafmK::e1 leaper::mQ(cyafyaf)2cafmQ:longleaper:b1,g1 coordinator::mQ:coordinator2:h1 chameleon:X:mQkK(cyafyaf)2cafmQ::c1,f1 immobilizer::mQ::a1 king::K::d1


Interactive diagrams. Diagrams that interactively show piece moves.[All Comments] [Add Comment or Rating]
💡📝H. G. Muller wrote on Sun, Feb 5, 2023 11:37 AM UTC:

An Interactive Diagram using the new scripting interface is now available in the alternative script betzaNew.js. (Which, after sufficient testing, will replace the current betza.js). As a test case I used it to create the Ultima Diagram in the previous posting.

Ultima required a fair amount of scripting. Only the Long Leaper and the Withdrawer can be done purely with XBetza. The Immobilizer can be done with the aid of the new trackPieces=N and curse=freeze parameters. Pinching is a kind of burning, but since it is dependent on the burn victim being sandwiched, this has to be tested in a script before a 'selective burn' promotion can be issued. Coordinator capture needs to be performed entirely by the custom script (using the coordinates of the tracked King), by adding locust squares to Coordinator moves.

The Chameleon is of course a disaster; it needs to be able to do what all other pieces do, but in a type-selective way. Only the replacement capture can be implemented in XBetza, as kK, because the King happens to be royal. The other captures that can be described with XBetza need to be vetted for whether they capture the correct victim. I only did that for Long Leapers, and add capture of a Withdrawer as an extra locust square 'by hand'. The standard script now supplies the routine AddVictim(move, file, rank, mask, target) to facilitate that; the mask and target arguments are optional, and when omitted the square (file, rank) is only added if it contains an enemy piece. By setting mask = 0x4FF you can test for a specific colored piece type (the test is (board[rank][file] & mask) == target), and other pieces would not be affected.

The curse=freeze option would only freeze enemy neighbors of an Immobilizer, not the Immoblizer itself (of course). But if a Chameleon is frozen, it reciprocates the favor. So the custom script has to test the board for adjacent enemy Chameleons, and mark the Immobilizer square as freezing too when any are found. Al in all this gave me the following custom script:

  var myNodes = 1e8;
  function ultimaTinker(m) {
    var s, p, v, k, x, y, xx, yy, type = m[-6] & 511, col = m[-6] & 1024; // mover and its color
    if(nodes != myNodes) { // new node; update burn map first
      myNodes = nodes;
      var q = loc[col+6], x = q & 7, y = q >> 7;       // friendly immobilizer?
      if(q >= 0 && (board[y][x] & 0x4FF) == col + 6) { // yes!
        var l = (x ? x-1 : 0), r = (x == 7 ? 7 : x+1); // left and right boundary of surrounding
        for(var i=l; i<=r; i++) { // detect enemy chameleons next to it
          if((board[y][i] & 0x4FF) == 1029 - col) neighbor[q] = nodes;            // on same rank
          if(y && (board[y-1][i] & 0x4FF) == 1029 - col) neighbor[q] = nodes;     // on next-lower rank
          if(y < 7 && (board[y+1][i] & 0x4FF) == 1029 - col) neighbor[q] = nodes; // on next-higher rank
        }
      }
      if(neighbor[q] == nodes && type == 6) { freeze = 100; return 1; } // the current move should have been frozen
   }
   if(type == 1) {        // pincher moved
     var p = 0, x = m[2], y = m[3], xcol = 1024 - col; // destination and enemy color
     if(x > 1 && (board[y][x-1] - 1 & 0xC00) == xcol && (board[y][x-2] - 1 & 0xC00) == col) p |= 0x40; // W
     if(x < 6 && (board[y][x+1] - 1 & 0xC00) == xcol && (board[y][x+2] - 1 & 0xC00) == col) p |= 0x04; // E
     if(y > 1 && (board[y-1][x] - 1 & 0xC00) == xcol && (board[y-2][x] - 1 & 0xC00) == col) p |= 0x10; // S
     if(y < 6 && (board[y+1][x] - 1 & 0xC00) == xcol && (board[y+2][x] - 1 & 0xC00) == col) p |= 0x01; // N
     if(p) m[-1] = p | 512; // request a selective burn through the promotion code
   } else if(type == 5) { // chameleon moved
     // long-leaper victims
     for(k=2; k<m[-2]; k++) { // at this stage all locust squares are long-leap captures
       v = board[m[2*k+1]][m[2*k]];
       if((v & 0x4FF) != 1027 - col) return 1; // victim not long leaper; reject this move
     }
     // withdrawer victims
     x = m[0] - m[2]; y = m[1] - m[3];         // calculate unit step (should really be table lookup...)
     k = (x ? x : y); if(k < 0) k = -k;
     xx = x/k + m[0]; yy = y/k + m[1];
     if(!((xx | yy) & 8)) AddVictim(m, xx, yy, 0x4FF, 1026 - col); // add withdrawer victim if on board
     // pincher victims
     if(!(x & y)) { // only on orthogonal moves
       p = 0, x = m[2], y = m[3], xcol = 1024 - col;
       if(x > 1 && (board[y][x-1] - 1 & 0x4FF) == xcol && (board[y][x-2] - 1 & 0xC00) == col) p |= 0x40; // W
       if(x < 6 && (board[y][x+1] - 1 & 0x4FF) == xcol && (board[y][x+2] - 1 & 0xC00) == col) p |= 0x04; // E
       if(y > 1 && (board[y-1][x] - 1 & 0x4FF) == xcol && (board[y-2][x] - 1 & 0xC00) == col) p |= 0x10; // S
       if(y < 6 && (board[y+1][x] - 1 & 0x4FF) == xcol && (board[y+2][x] - 1 & 0xC00) == col) p |= 0x01; // N
       if(p) m[-1] = p | 512; // request a selective burn through the promotion code
     }
     // coordinator victims
     k = loc[col + 7];  // king location (128*rank + file)
     AddVictim(m, k & 7, m[3], 0x4FF, 1028-col); // add locust square for coordinated coordinator
     AddVictim(m, m[2], k >> 7, 0x4FF, 1028-col);
   } else if(type == 4) { // coordinator moved
     k = loc[col + 7];  // king location
     AddVictim(m, k & 7, m[3]);  // add locust squares for coordinated enemies
     AddVictim(m, m[2], k >> 7);
   }
   return 0;
  }

Issues in the interface that could still be improved:

  • The standard script tests for freezing / burning before the custom script is consulted. So when the custom script adds a freezing or burning square, like it does here when the freezing is 'reflected' by a Chameleon, the move that consulted the script would have already passed the test if it happened to be the first move generated. The Ultima script above has to explicitly test for that.
  • The standard script now automatically marks the 'blast zone' around the tracked piece (controlled through trackPieces=N). But it now always uses K steps for that. It might be useful to make this user-configurable, through an option blastZone, so that the default burning could take place only on W or only on F squares, or perhaps even on N squares.
  • It could be useful to define the meaning of the bits in the promotion code for a selective burn (and the marking of the blast zone) relative to the player. That would allow asymmetric burning (e.g. only forward) to work the same for black and white.
  • Perhaps it should be possible to specify 'shooters' expicitly. Entering the Withdrawer and Coordinator moves in the Ultima Diagram below feels a bit queer, as you have to specify the victim first. This will always happen with locust victims added by the script; you will have to click those in the reverse order from which they were added. The Long Leaper obviously is a 'trampler', so it is less strange there (and the locust squares were generated from the XBetza move). But since all these capture are all implicit side effects, it is silly they would have to be clicked at all. Perhaps there should be a third class of pieces ('burners'), that can only be defined by the user, which would then autocomplete after origin and destination are clicked.

Aurelian Florea wrote on Sun, Feb 5, 2023 11:44 AM UTC:

There are times I think you are a magician, HG!


A. M. DeWitt wrote on Sun, Feb 5, 2023 03:46 PM UTC:

There is something wrong with the diagram for Desert Pub Chess. When the AI moves, it seems to spuriously remove pieces from the board in unpredictable ways. Furthermore, this bug also affects the desert pieces, causing them to not capture properly when they capture more than once.

Normal Move Bug Replication

Move each pawn forward one at a time, you should see the opponent's pawns add locust squares (the dull red highlights) when moving. Eventually the AI will make a Knight move that removes a friendly pawn. 

Desert Piece Bug

Make the following moves manually:

1. e2e4 f2g4 2. Fc8d5

Then open the AI dashboard and move a white piece. You will see some very strange behavior (only one white pawn gets captured and the other is "moved" to a different square).


Variants playable against the diagram's AI. Index of variants that can be played against the interactive diagram.[All Comments] [Add Comment or Rating]
A. M. DeWitt wrote on Sun, Feb 5, 2023 05:04 PM UTC:

(Same as old page, but with the hyphen removed)


Interactive diagrams. Diagrams that interactively show piece moves.[All Comments] [Add Comment or Rating]
💡📝H. G. Muller wrote on Sun, Feb 5, 2023 06:43 PM UTC in reply to A. M. DeWitt from 03:46 PM:

There is something wrong with the diagram for Desert Pub Chess.

This is fixed now. (Flush browser cache!) I had already fixed a similar bug in the betzaNew.js. Actually it was two bugs. One that it used the last square in the move array as the center of a burn, while the destination is always the second square. This only manifests itself on moves with locust squares.

The more subtle bug is why it would think it has to burn here at all. This was because the 512 bit in the promotion code that is used to request burning is used in the on-board pieces to indicate the piece is non-virgin. At some point the 512 bit in a promotion code has to be translated into extra locust squares, and normal promotions have to get ther 512 bit set to prevent they have their initial moves. This is done just before execution of the move, in the routine that calculates the score gained by the move. The problem was that the moves obtained from the AI have already been performed once, during the search. While for moves entered by clicking this still have to be done after the move is selected. The result was that moves from the AI were scored twice. So that a normal promotion got its 512 bit set the first time, and the second time than made it into a burn. And the Pawns appeared because some of the burn squares were actually empty, which for locust squares is interpreted as an unload of teh captured piece...


Kevin Pacey wrote on Sun, Feb 5, 2023 07:49 PM UTC in reply to Aurelian Florea from 11:44 AM:

@ Aurelian

Off-Topic, a quick question:

Have you looked at the following link in the past (hopefully extensively) when searching for CVs to play on Game Courier at some point in time? - I'm thinking if I have preset(s) out there, one day, that haven't been published, maybe, hopefully, there's at least a small chance people might find them by using this link (if not my personal Settings files link). That's since I have a large backlog of ideas for CVs that might take ages to publish:

https://www.chessvariants.com/play/pbm/listgames.php


Aurelian Florea wrote on Mon, Feb 6, 2023 12:00 AM UTC in reply to Kevin Pacey from Sun Feb 5 07:49 PM:

I have not looked there in a while! Why do you ask?


Orthodia. Break your orthogonal and diagonal patterns! (Two versions). (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
Ben Reiniger wrote on Mon, Feb 6, 2023 02:57 AM UTC:

I did some minor editing (fixed the header levels, changed the origin of the berolina pawn, shrank the custom setup image). The en passant rule "same as Horizon" should be explicitly spelled out on this page, please.


Shafran's Hexagonal Chess. Hexagonal variant from the early Soviet Union.[All Comments] [Add Comment or Rating]
Ben Reiniger wrote on Mon, Feb 6, 2023 02:59 AM UTC:

Any updates here?


Borderline. Without pawns, with only one king, capturing opponent's pieces is omitted. (7x7, Cells: 49) [All Comments] [Add Comment or Rating]
Ben Reiniger wrote on Mon, Feb 6, 2023 03:19 AM UTC:

Do you mean white (er...blue?) pieces don't give check except when they are on ranks 4-7?

What do you think about the volatility of facing rooks and queens?


Expansion Chess. Get points per each your piece on other half of board to win. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
Ben Reiniger wrote on Mon, Feb 6, 2023 03:27 AM UTC:

This reminds me a little of the Unreal-Tournament-inspired Domination Chess.


Borderline. Without pawns, with only one king, capturing opponent's pieces is omitted. (7x7, Cells: 49) [All Comments] [Add Comment or Rating]
💡📝Gerd Degens wrote on Mon, Feb 6, 2023 09:57 AM UTC in reply to Ben Reiniger from 03:19 AM:

Do you mean white (er...blue?) pieces don't give check except when they are on ranks 4-7?

Almost - on the border line the king cannot be attacked. The king can be put in check only when a piece of one side has crossed the border line. Specifically, white (blue) can put the king in check on ranks 5-7, and black (red) can do so on ranks 3-1.

What do you think about the volatility of facing rooks and queens?

In Borderline, capturing pieces is excluded - except for the king, which must be captured to win the game. In this respect, it is not of particular importance when rooks and queens face each other. Did I understand the question correctly?

Why Boderline? Unlike the variants where the board is complexly changed (this also goes to my own address with Chess 66 or Chess 69) or new pieces with new move possibilities are created, I was looking for a mechanism which has a certain independence and which has not existed before (hopefully). Maybe I succeeded with a game where there is only one king, which both parties want to capture and which can be moved by both parties instead of one of their own pieces. It is also possible that the game has become too simple for many and they do not want to deal with it. We will see.
 


Interactive diagrams. Diagrams that interactively show piece moves.[All Comments] [Add Comment or Rating]
💡📝H. G. Muller wrote on Mon, Feb 6, 2023 11:43 AM UTC:

I now improved the piece-value guessing of the Diagram. This used to be based on the 'raw' moves delivered by the move generator, as specified by the XBetza notation. But now that user scripts can add locust victims, either directly or through a promotion code that requests burning, it has become important to first subject the move to this script before determining its power. Before, the values of the Ultima Pincher Pawn, Coordinator and Immobilizer were estimated as next to nothing, because the guessing only saw the mR or mQ part, and the Chameleon was given the same value as the Long Leaper (because the XBetza description was the same, and it did not realize that the leap-capture part was restricted to capturing Long Leapers only).

Guessed values based on the 'cooked' moves were much better; only the Immobilizer was still considered worthless, as even the cooked move never has any captures. So I added an ad-hoc bonus for a piece that puts a spell on its neighbors: 1000 for freezing, 600 for charming and 300 for burning. This makes the Immobilizer the most valuable piece in Ultima. (Which I believe it should be.) The Chameleon might still be underestimated, as no account is taken of the fact that it can freeze an Immobilizer. (Which of course has the repercussion that it then also gets frozen itself. But since the Immobilizer is worth more, this should be worth something to the Chameleon.)

I wonder if I should also support an opportunity for affecting the evaluation through a user script (say xxxEval()). Of course there is already the value=N parameter, which can be used to tune individual piece values. But the current evaluation doesn't take into account whether pieces are frozen. It might be very hard to program something sensible for this, though.


Kevin Pacey wrote on Mon, Feb 6, 2023 11:53 AM UTC in reply to Aurelian Florea from 12:00 AM:

Hi Aurelian. I'm glad you have looked at that link (more than once, presumably) in the past. I meant to say I was pondering about making settings files/('unofficial' presets) for many CV invention ideas of mine, which I was thinking of not trying to publish at least for a while longer. I thought you might be a typical user of CVP site in some ways, so I asked you about the link (featuring a list of possibly played presets on GC) since I know you, and you are paying attention to the present thread (sorry my post is off-topic again).

I was hoping by people (e.g. one being me) playing at least one game with a given 'unofficial' (that is, unpublished) preset of mine, that preset might have at least a slim chance of being stumbled on by someone using that link I just asked you about (then such a someone could play or popularize said CV of mine, if I never got around much to either). Slim chance, yes, but better than if I just left said preset as an unplayed Settings File of mine (people might have an even slimmer chance of finding it that way, I thought, even though I am a known inventor). Publishing presets (plus rules pages) would be best, but that could take ages since for one thing I have over 20 CV invention ideas of mine stored away since 2019 (e.g. there was a limit of 9 submissions at a time [including a given preset or rules page] suddenly introduced during that period - so I just kept letting my ideas pile up).


Borderline. Without pawns, with only one king, capturing opponent's pieces is omitted. (7x7, Cells: 49) [All Comments] [Add Comment or Rating]
Ben Reiniger wrote on Mon, Feb 6, 2023 02:20 PM UTC in reply to Gerd Degens from 09:57 AM:

white (blue) can put the king in check on ranks 5-7

I wonder how hard mate will be; you can't get very close to the king while still giving check, so a rook/queen net seems the only way, but with all the other pieces getting in the way...
On the other hand, maybe all the other pieces actually help? A sample mate (preferably one arising from actual play) would be helpful.

In Borderline, capturing pieces is excluded

Oh boy, sorry. Maybe add that all-important bit as the first bulleted Rule so skimmers like me don't miss/forget it from the intro (ugh, and even the short description, maybe it's just me)?


Interactive diagrams. Diagrams that interactively show piece moves.[All Comments] [Add Comment or Rating]
💡📝H. G. Muller wrote on Mon, Feb 6, 2023 03:15 PM UTC:

I changed the name of the parameter to specify burning or freezing from curse into spell, and added parameters spellZone and blastZone. The latter can be used to define the area on which the spell (e.g. passive burning) and the active burning works, relative to the tracked or moving piece. They can be given the value K (the default), W, F or N.


Borderline. Without pawns, with only one king, capturing opponent's pieces is omitted. (7x7, Cells: 49) [All Comments] [Add Comment or Rating]
💡📝Gerd Degens wrote on Mon, Feb 6, 2023 06:05 PM UTC in reply to Ben Reiniger from 02:20 PM:

Okay Ben, sorry for the short rules section.
I added the rule about excluding capturing pieces to the rules section. If there is anything else missing from the rules section, please let me know.

I have played the game many times and did not get the impression that the queen and rook play a decisive role in the final result of the game.

If someone should take the pity to program the game, it will turn out that the strategic component of the game cannot be determined by single pieces.

In the rules I have emphasized: In contrast to all chess variants, the capturing of opposing pieces is excluded. Only the king can be captured.
 


Paulowich's Chancellor Chess. A proposal to play chancellor chess with chancellors and queens in the corner on 8 by 8 board. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
💡📝David Paulowich wrote on Mon, Feb 6, 2023 07:51 PM UTC:

Every day here is Ralph Betza appreciation day. This site would be much poorer without his years of advice and encouragement. Here is a whimsical little game he sent me back around 1998.

diagram

1.g3 d6 2.Cb3 Kd7 3.Nf3 Kc6 4.Ne5 double check and mate.


💡📝David Paulowich wrote on Mon, Feb 6, 2023 09:22 PM UTC:

We are ants crawling across the chessboard. The endgame K+R versus K+N has been known for a thousand years. I once used it to save a half point early in this century. While the Rook can trap the Knight in some positions, even masters are known to have difficulty finding a win while the clock is ticking. And then there is the following endgame study. A computer tested forced win that goes OVER FIVE HUNDRED MOVES without a piece being captured. Perhaps we should tone down any remarks on the limited scope of chess on 64 squares.

diagram

Black to play, White wins in 517 moves

Marc Bourzutschky and Yakov Konoval, May 2006


24 comments displayed

EarliestEarlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.