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 Latest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Ratings & Comments

LatestLater Reverse Order EarlierEarliest
Expanded Chess. An attempt at a logical expansion of Chess to a 10x10 board.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Jul 2, 2020 07:57 PM UTC:

The range function looks correct. Where the Aanca function calculates 1 or -1, you want yours to calculate 2 or -2. The simplest way is to multiply the return value of sign by 2.


Brouhaha. Like Chess, but it really brings the ruckus! (8x8, Cells: 72) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Thu, Jul 2, 2020 07:38 PM UTC:

But you could also have said: "that square disappears when it gets empty".

From the description of Cheshire Cat Chess:

Every time a square is vacated, because a piece moves away from it, the square disappears.

They don't bother to mention that you can capture pieces while they are still on the square. They do mention pieces can move over such disappeared squares, though. (Which is indeed worth mentioning, as I would not expect that. And I don't think that would apply to brouhaha squares, e.g. by a bent slider.)


Jean-Louis Cazaux wrote on Thu, Jul 2, 2020 07:27 PM UTC:

Not sure. What you say depends on the way you write your code. Moreover people are not computers. If I explain that it is forbidden to any piece to enter on a square, it needs an extra sentence to explain that a capture is an exception. The shortest way of writing a code is not obviously the more natural or simpler for a real human. And vice-versa.


Expanded Chess. An attempt at a logical expansion of Chess to a 10x10 board.[All Comments] [Add Comment or Rating]
Carlos Cetina wrote on Thu, Jul 2, 2020 06:53 PM UTC:

Thanks. I think we are close to finding the solution!

Then the question is how do we get the where operator returns the 4 options:

where #0 2 0

where #0 -2 0

where #0 0 2 

where #0 0 -2

Is there any other digit to use instead of 0 that fulfills the desired purpose? I mean the zero that I previously underlined.

What is easy to deduce is that the first backward line of code should look like this:

or checkleap #0 #1 2 0;

Is my assumption about the Osprey-Range definition correct?

def Osprey-Range mergeall 
leaps #0 2 0 
rays where #0 0 2 1 1 
rays where #0 0 -2 1 1 
rays where #0 2 0 1 1 
rays where #0 -2 0 1 1;

Brouhaha. Like Chess, but it really brings the ruckus! (8x8, Cells: 72) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Thu, Jul 2, 2020 01:27 PM UTC:

I guess it depends on how one formulates the rules. I saw the special rule that defines these squares as "turns into inaccessible when abandoned, rather than empty". And I also implemented it that way, by replacing board[fromSquare] = 0; in the MakeMove() routine by board[fromSquare] = background[fromSquare], where the background array then could be initialized with empty and inaccessible squares as desired. (Inaccessible squares were already implemented, for the purpose of simulating non-rectangular boards.)

So the rule that you can capture the piece on the brouhaha square was not really an extra rule, as it is normal that you can always capture any piece. It would have required quite some extra code in various places to forbid pieces to enter it (or hop over it) even when a piece was occupying it; every move would have to test the background under the piece as well as the board itself. And it would become even more complex when you had to make exceptions for what the piece on the brouhaha square is forbidden to do compared to its normal capabilities. Especially if this included blocking check.


Expanded Chess. An attempt at a logical expansion of Chess to a 10x10 board.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Jul 2, 2020 12:50 PM UTC:

The underlined parts are arguments to where, which takes three arguments. The first argument, which you haven't underlined, is the starting coordinate. The next one is a number of files, and the last one is a number of ranks. These values may be negative or positive, and this determines direction. Using these values, where returns the coordinate that is so many files and ranks away in the given directions. This is being used to calculate the coordinate of the turning square, which is one of the arguments for each of the Lambda functions. This uses sign, which returns -1, 0, or 1, depending on whether a value is negative, zero, or positive. When 0 comes first, it will typically be calculating where #0 0 1 or where #0 0 -1. Where 0 is last, it will typically be calculating where #0 1 0 or where #0 -1 0. When the destination is on the same file or rank, and it is not a Wazir move away, it may sometimes return where #0 0 0, which will be the starting space. Since there is no Bishop move to a space on the same rank or file, the function will return false for such a destination, which is correct. For potential moves, it will return false even earlier, since that space will still be occupied.


Brouhaha. Like Chess, but it really brings the ruckus! (8x8, Cells: 72) [All Comments] [Add Comment or Rating]
Jean-Louis Cazaux wrote on Thu, Jul 2, 2020 11:33 AM UTC:

I agree HG, the simplest the rules, the better. It is a principle that I always try to apply in the games I invent (not only chess related) and that we apply in the circle of games inventors (MALT) we have in my region. Always we start from a set of rules and after testing and testing, we remove rules. :=) Good practice!

As it is (in Brouhaha chess and Apothecary chess), actually there is the need of an extra rule to specify that it is forbidden to enter the waiting square except to capture the piece which stands on it. 

This is exactly to simplify that point that I started thinking about it. I found this exception strange. The simplest rule would be to forbid any incoming on that square no? 

But there is the point mentionned by Greg, which is true, that the waiting piece would be in the same time threatening and immune. So, I was wondering if forbidding an entering move which is a capture, a check or a blocking check could mitigate this issue. Blocking a check is a restriction used in Seirawan chess for example. Also the entering on the board could be seen similar to a drop. In shogi, one can't capture by droping. One can check though. 

Maybe, this is not a good idea if it is too complex. 

I'm just sharing my thoughts. I'm designing a new variant of my own, this is why I'm asking you guys, experts in CVs. Thanks


Apothecary Chess-Classic. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
💡📝Aurelian Florea wrote on Thu, Jul 2, 2020 08:51 AM UTC:

@ Fergus,

I have found the mistake. 
This piece of code was missing and adding it has solved the problem.

if == moved K: 
unsetflag f2;
set Kpos $dest;
endif;


Brouhaha. Like Chess, but it really brings the ruckus! (8x8, Cells: 72) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Thu, Jul 2, 2020 07:04 AM UTC:

What do you think? Would it work?

Usually, the fewer rules the better, and the simpler the rules the better. Pretty much anything can be made to work, when you take away all the reasons why they would not work by additional rules. Most choices in CVs are arbitrary. Which is why there are so many. As I see it the 'brouhaha squares' are just one such arbitrary choice that work through very simple rules. To implement them in the Diagram's AI was also trivial.

I think that (in Brouhaha, at least) capture on a brouhaha square is mostly hypothetical; in practice players would develop their pieces long before these squares could come under attack, being sheltered by two fully occupied ranks. This would be different when you added brouhaha squares at the side edges near the middle; then this would become a real issue. But the simplest remedy to that is not do it. Why would you? Plenty of room near the back rank.


Aurelian Florea wrote on Thu, Jul 2, 2020 06:04 AM UTC:

I don't have any restriction, Brouhaha (the game) even have special powers that allow easier deployment in the beginning.


Jean-Louis Cazaux wrote on Thu, Jul 2, 2020 05:50 AM UTC:

Fine with "brouhaha", it's a funny name, sounding nice. I understand the reluctance of having a piece standing there as a threat and that would be unvulnerable. 
When the piece enters on the real board, is there any limitation? Can it capture, check or hinder a check? 
Maybe a good practice would be to forbid their capture as long as they stay "in the brouhaha" but also to forbid their first entering move to be a capture, a check or hinder a check?

What do you think? Would it work?


Aurelian Florea wrote on Thu, Jul 2, 2020 05:05 AM UTC:

Indeed it is I who has started using this name. It seemed apropiate to me, but at the time I have not put much though into it!


Expanded Chess. An attempt at a logical expansion of Chess to a 10x10 board.[All Comments] [Add Comment or Rating]
Carlos Cetina wrote on Thu, Jul 2, 2020 02:54 AM UTC:

How should the underlined parts be read (interpreted)?

def Aanca fn (checkride #0 #1 1 1 and empty #0) 
where #0 0 sign - rank #1 rank #0 
#1 
or fn (checkride #0 #1 1 1 and empty #0) 
where #0 sign - file #1 file #0 0 
#1
or checkleap #0 #1 1 0;

 

Particularly, what do the underlined  0 's mean?

def Aanca fn (checkride #0 #1 1 1 and empty #0) 
where #0 0 sign - rank #1 rank #0 
#1 
or fn (checkride #0 #1 1 1 and empty #0) 
where #0 sign - file #1 file #0 0 
#1
or checkleap #0 #1 1 0;

Brouhaha. Like Chess, but it really brings the ruckus! (8x8, Cells: 72) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Jul 2, 2020 01:01 AM UTC:

They could just be called disappearing squares or vanishing squares or something along the same lines. They're nothing new. In Chesire Cat Chess and Wormhole Chess, all the squares of the board are like that. What's novel about this game is using them for only some of the squares. This use of them could be termed launch squares.


💡📝Greg Strong wrote on Wed, Jul 1, 2020 10:34 PM UTC:

1) What is the advantage of allowing a capture on a brouhaha square? Spontaneously, I find this strange: I understood that such a square hosts a piece until it is activated and enter into play, then the square disapears. Then, this square is not part of the play area really. So, I wouldn't have allowed a capture on it at all. Maybe there is something I don't see.

Good question.  The thought was that if we do not allow a capture on those squares, a piece can stay safe there potentially forever.  I do not like the idea of a piece that cannot be attacked but can still "spring into action" at any time.  The idea of this game is to add another knight-value piece and another rook-value piece to the normal 8x8 board.  The launch squares are just a new way to give some flexibility about how to develop them.

2) Why this name of "brouhaha" square? At least in French a brouhaha is a surrounding noise. Those squares are more like a fog, brouillard in French. Brouhaha/brouillard, is there a linguistic confusion there? 

In English, Brouhaha means a chaotic fight with lots of participants.  It was only the name of the game.  The squares just came to be called Brouhaha squares because of their origin, but it was not intentional.  I think Aurelian is the one who started calling them that when he used the idea in his Apothecary games.


Jean-Louis Cazaux wrote on Wed, Jul 1, 2020 08:34 PM UTC:Good ★★★★

I have 2 questions about the brouhaha squares:

1) What is the advantage of allowing a capture on a brouhaha square? Spontaneously, I find this strange: I understood that such a square hosts a piece until it is activated and enter into play, then the square disapears. Then, this square is not part of the play area really. So, I wouldn't have allowed a capture on it at all. Maybe there is something I don't see.

2) Why this name of "brouhaha" square? At least in French a brouhaha is a surrounding noise. Those squares are more like a fog, brouillard in French. Brouhaha/brouillard, is there a linguistic confusion there? 


Expanded Chess. An attempt at a logical expansion of Chess to a 10x10 board.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Jul 1, 2020 06:07 PM UTC:

Since it's most similar to the Aanca, let's first look at how the code for that piece works:

def Aanca fn (checkride #0 #1 1 1 and empty #0) 
where #0 0 sign - rank #1 rank #0 
#1 
or fn (checkride #0 #1 1 1 and empty #0) 
where #0 sign - file #1 file #0 0 
#1
or checkleap #0 #1 1 0;

The code works backward, as usual. So it first checks whether the move is a one-space orthogonal move. If it is, it returns true immediately. If not, it continues. To calculate whether it makes a legal Aanca move, it needs three coordinates. #0 is the origin, and #1 is the destination, but it also needs the coordinate for the space on which it changes direction. Unfortunately, variables cannot be assigned in functions. The next best thing is to use a Lambda function that can take arguments. These appear in parentheses after the fn operator. Each one is the same, but each one gets fed different arguments. The second argument is always #1, which is the destination space. The first argument is the space where the move changes direction. Since each destination space falls into one of four quadrants, and there are two possible paths to the destination through a particular quadrant, this information is used to reduce the paths that need to be checked to two.

It first checks whether the move is going left or right, and based on that, it selects the space to the left or right of the origin space as the turning space. It then makes sure it is empty and that there is a legal Bishop move from it to the destination space. If that fails, it checks whether the move is going forward or backward, and based on that, it selects the space ahead or behind the origin space as the turning space. It makes sure this space is empty, and if it is, it makes sure there is a legal Bishop move from that space to the destination. If there is, it returns true, and if there is not, it returns false. I expect that the piece you want can be done with only slight modifications to this function.


Apothecary Chess-Classic. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
💡📝Aurelian Florea wrote on Wed, Jul 1, 2020 04:56 PM UTC:

It still gives the error:  "you may not move into check".


🕸Fergus Duniho wrote on Wed, Jul 1, 2020 04:40 PM UTC:

I didn't say to get rid of the else clause. I said to get rid of the else. Just the else. A single line of code.


Expanded Chess. An attempt at a logical expansion of Chess to a 10x10 board.[All Comments] [Add Comment or Rating]
Carlos Cetina wrote on Wed, Jul 1, 2020 02:23 PM UTC:

@Fergus,

Trying to edit a preset for this interesting variant by using the fairychess include file I'm almost done, just need to define the function of the Osprey which is a color-bound aanca, first jumping as dabbabah and then sliding outward as bishop. The following diagram shows its move:

I guess the code for Osprey-Range would look like this:

def Osprey-Range mergeall 
  leaps #0 2 0 
  rays where #0 0 2 1 1 
  rays where #0 0 -2 1 1 
  rays where #0 2 0 1 1 
  rays where #0 -2 0 1 1;

and the Osprey-Desc thus: 

"The %s jumps to the second square on the same rank or file, and then slides outward as a bishop."

Could you please tell me the code for such a function? No hurry; when you can spend some time it's fine. Thanks in advance.

 


Diagonal chess (well balanced). Diagonal chess with 7 fortified pawns.[All Comments] [Add Comment or Rating]
💡📝Zbigniew Kokosiński wrote on Wed, Jul 1, 2020 11:54 AM UTC:

Dear colleague, I hope that the present version of submission will satisfy all requirements to be published on Chess Variants Pages. I've clarified the promotion rules. The comment about inspirations has been moved to Notes section.

Best regards - ZK


Apothecary Chess-Classic. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
💡📝Aurelian Florea wrote on Wed, Jul 1, 2020 04:40 AM UTC:

The new sub looks like this:

sub Apothecary_King from to:
if checkleap #from #to 1 1 or checkleap #from #to 1 0: 
return true;
endif;
move #to #from;
     if checkleap #from #to 1 3
     or checkleap #from #to 1 2
     and match rankname #to 1 10
     and flag #from :
         if not sub checked #from:
         move #from #to;
         return true;
         else die You may not perform the special moves out of check.;
         endif;
      endif;    
     return false;
endsub;

When trying to use regular moves out of check, I get the error "you cannot move into check.". This happens with or without the else part.


🕸Fergus Duniho wrote on Tue, Jun 30, 2020 11:54 PM UTC:

Also, add "return false;" to the very end of the subroutine.


🕸Fergus Duniho wrote on Tue, Jun 30, 2020 11:50 PM UTC:

The function looks fine. In the subroutine, you should remove the else.


Musketeer Chess. Adding 2 newly designed extra pieces. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on Tue, Jun 30, 2020 09:18 PM UTC:

Well, the author of that page is one of our new editors...


25 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.