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


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

Ratings & Comments

EarliestEarlier Reverse Order LaterLatest
Apothecary Chess-Classic. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
💡📝Aurelian Florea wrote on Tue, Mar 24, 2020 03:35 PM UTC:

While working for the presets for this game and it's twin, the thought of how the joker imitates a pawn moving ahead like the allied pawns, or backward like the enemy pawns. I always took it for granted that it moves like allied pawns, but it could go the other way around also. What do you guys think?


Greg Strong wrote on Tue, Mar 24, 2020 04:33 PM UTC:

Allowing a pawn to move backward would be a very radical change and I doubt it would make a better game.  It certainly would be less of a "chess variant".


💡📝Aurelian Florea wrote on Tue, Mar 24, 2020 04:37 PM UTC:

Sorry Greg, but I did not made myself clear enough. I meant the joker. If the joker should be allowed to move ahead when imitating a pawn, or backward. This was the quenstion. I always took it for granted that the imitation was to be ahead, but technically speaking a white joker imitates a black one who moves backwards. Letting it to move ahead (as it comes natural to me though) would be an exception the the main rule that the joker imitates enemy pieces. Technicalities aside I still think that moving ahead is better.


🕸Fergus Duniho wrote on Tue, Mar 24, 2020 08:15 PM UTC:

The problem was caused by using #lastpiece instead of var lastpiece. The former inserts the value into the line during preprocessing, which doesn't work out so well for null or empty values, while the latter looks it up while evaluating the expression. These will work instead.

def Joker fn const alias var lastpiece #0 #1;
def Joker-Range fn join const alias var lastpiece "-Range" #0;

One thing that has come up while examining your code is how you want the Joker to move after a piece that moves differently for each side, such as the Pawn. Should it move as the enemy Pawn, which is how it currently works, or as its own Pawn? For the latter, these should work:

def Joker fn const alias flipcase var lastpiece #0 #1;
def Joker-Range fn join const alias flipcase var lastpiece "-Range" #0;

While these changes eliminate the problem you were having, there is still a problem with actually moving the Joker piece. One problem is that the Joker doesn't properly handle pieces that use subroutines instead of functions. But even with pieces that just use functions, it is not working properly. I'm getting too tired to continue looking into this today. Maybe I'll make more progress tomorrow.


Greg Strong wrote on Tue, Mar 24, 2020 09:58 PM UTC:

Sorry - yes, I wasn't thinking your question through.  Still, I think the Joker should forward when imitating a pawn.  If white moves a pawn two spaces, should the black joker (now imitating that pawn) be able to capture en passant?  If so, it needs to move forward (or things would be really strange.)


Greg Strong wrote on Tue, Mar 24, 2020 10:20 PM UTC:

Other questions:

Say white moves a bishop.  Now black's joker could move like a bishop - but instead black moves a rook.  Now its white's move and he wants to castle, but he cannot castle if in check.  To decide if he is in check, does black's joker still attack like a bishop, or does it attack like a rook?  Or neither?

Argument for attacking like a bishop: white's joker immitates black's last move and black's bishop immitates white's last move.  Black moving only changes the move of white's joker.

Argument for attacking like a rook: any move changes the move of both jokers.  This is the easiest to program but I don't like it.

Argument for neither: white's joker moves like black's last move only when white is on the move.  After white moves, his joker has no attack power until black moves again.

It is also important to determine exactly when the change happens.  Say white wants to make a normal king move and black's joker still attacks as a bishop.  Does this mean that the white king cannot move onto the bishop's diagonal because that is moving into check?  Or has the fact that, as soon as white moves his king the black joker moves as a king, mean that the white king is not in check?


🕸Fergus Duniho wrote on Wed, Mar 25, 2020 02:29 AM UTC:

In my fork of the Apothecary Chess 1 preset, the problem I've currently come up against may be due to endless recursion. When I try moving the Joker, the script crashes. What I think is happening is that after the Joker moves, it runs code for the other Joker, and now that the value of lastpiece is j or J, the Joker function recursively calls itself again and again without ever exiting. I just tried one way of fixing this, but it didn't solve the problem. Since it's late, I will not continue with any more attempts tonight. I just wanted to share what I think the problem is.


💡📝Aurelian Florea wrote on Wed, Mar 25, 2020 05:12 AM UTC:

First there is no castling in this game.

I realize I have to give more details regarding the joker. The rule is that it imitates the last move of the opponent. And this rule has that pawns issue.

On your question Greg. The switch of the imitated piece is when the move is completed. In this case the bishop move would be illegal because it places the black king in check.

About the en passant thing. This is something I have not thought properly. The philosophy behind this brings at least 2 cases.

1. the joker does not capture en passant ever as en passant is a property of a pawn and not a move. As I had decided that joker may not promote this should be the case.

2.  the joker may capture en passant at the 6th rank like any pawn.

I prefer 1 but I'd like a small comment.


H. G. Muller wrote on Wed, Mar 25, 2020 10:04 AM UTC:

I always like the 'not castling through check' rule as a form of e.p. capture: the King makes a double step, and can then be taken by a capture-capable move to the square it passed through in the subsequent move. As exposing your King to capture is illegal, such a castling would be illegal.

In this interpretation it would be legal to castle over a square that was diagonally attacked by the Joker from a distance, as after the castling that Joker would no longer move like a Bishop, and thus not be able to execute the e.p. capture of the King. I am not sure how the Joker moves after castling: as a Rook, as a King, both or neither. The rules would have to specify that. If it would move as a King, then a black Joker on e2 would make white castling illegal, as that Joker could in the reply become a King and attack f1/d1. Basically the rule would become: the King cannot pass a square during castling that it could not legally move to.

It is always a tricky question whether a Joker can deliver check. In most positions this is not important, as most moves would alter the Joker's capabilities in a way that resolved the check. But it can be important to distinguish checkmate from stalemate. Basically the question boils down to how the Joker would move after a turn pass of the opponent, because the 'in-check' definition involves the fiction of a turn pass. Must it also pass a turn, or will it just keep the move it had on the turn before? In the former case the position w:Ke3, Je2 b:Ke1 would be a stalemate, in the latter case it might be a checkmate (if white black moved Ke1 on the move before).


💡📝Aurelian Florea wrote on Wed, Mar 25, 2020 10:49 AM UTC:

The rule is that the joker moves like the last move of the opponent. This game does not have a castling but it will come to it in other games. Castling is generally considered a king move. There is a king may leap once a game rule. That it. I think the confusion related to when the loan of power ends not when it begins. That happens when the oppnent has just moved. I'm not sure I understand the qustions otherwise/


🕸Fergus Duniho wrote on Wed, Mar 25, 2020 12:40 PM UTC:

The rule is that the joker moves like the last move of the opponent.

As stated, that's too ambiguous. Here are some possible interpretations:

1. The Joker has the same powers of movement as the last piece the opponent moved, which is what I've been trying to program with my Joker function.

2. The Joker mostly has the same powers of movement as the last piece the opponent moved, but there are exceptions for particular pieces. For example, it might not be able to promote or castle.

3. The Joker is limited to the type of move of the opponent's last move. For example, if the opponent moved a Queen, diagonally, the Joker would be able to move diagonally, but not orthogonally.

4. The Joker is limited to the type and direction of the opponent's last move. For example, if the Queen moved vertically forward, the Joker could move vertically forward, but it could not move vertically backward, horizontally, or diagonally.

5. The Joker is limited to the type, direction, and distance of the opponent's last move. For example, if the Queen moved vertically forward 4 spaces, the Joker could move vertically forward up to four spaces.

6. The Joker is limited to the type, direction, and precise distance of the opponent's last move. For example, if the Queen moved vertically forward 4 spaces, the Joker could move vertically forward 4 spaces, no more and no less.


H. G. Muller wrote on Wed, Mar 25, 2020 12:58 PM UTC:

I would say the borrowed power of the Joker ends after the player owning the Joker moved it, or moved something else. Because then it is no longer that players turn, and a Joker is not allowed to move in the opponent's turn. So during the opponent's turn it has no powers at all.


🕸Fergus Duniho wrote on Wed, Mar 25, 2020 01:10 PM UTC:

Because then it is no longer that players turn, and a Joker is not allowed to move in the opponent's turn.

That's true of every piece on the board.

So during the opponent's turn it has no powers at all.

But that's not true of other pieces. Other pieces retain checking power during the opponent's move.

I would imagine that the Joker retains whatever power it used to move until the opponent moves another piece, thereby giving it a different power of movement. For example, if the Joker moves as a Rook and checks the King, the King would be in check, and one way to remove that check would be to move a Bishop, which would change the Joker's powers of movement.


💡📝Aurelian Florea wrote on Wed, Mar 25, 2020 01:31 PM UTC:

As I had said earlier the joker gains the power at the end of the opponent's move and retains it until the next time the opponent moves. I could have made myself not clear enough. So if the joker is unobstructed on the same diagonal like the enemy king it pins all bishops and queens the enemy has, because it would mean that the opponent has moved into check!

The power is almost in full (so Fergus in your question it is number 2). That is because the games could be quite imbalanced if a joker promotes to queen and a joker can easily move across the board compared to a pawn. Once again there is no castling in this game but some leaps for the unmoved king.


Gross Chess. A big variant with a small learning curve. (12x12, Cells: 144) [All Comments] [Add Comment or Rating]
Aurelian Florea wrote on Wed, Mar 25, 2020 02:11 PM UTC:

I found a bug in the Gross Chess preset.

It seems you had forgotten to decrease the number of pieces in reserve once a piece was promoted to. You may reproduce the bug following the below steps:

1. arrange the capture of wizards 

2. Use a pawn to promote to wizard

3. Use again a pawn to promote to the same wizard

I don't think that is what you intended.


Apothecary Chess-Classic. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Wed, Mar 25, 2020 02:20 PM UTC:

1. The Joker has the same powers of movement as the last piece the opponent moved, which is what I've been trying to program with my Joker function. [Emphasis mine]

To do that, wouldn't you need White_Joker and Black_Joker subroutines?  As I understand your code, a piece move changes the move of both jokers, but perhaps you've changed it from the snippit you posted or I don't fully understand it.


🕸Fergus Duniho wrote on Wed, Mar 25, 2020 02:21 PM UTC:

One thing I just thought of is that the regular stalemated subroutine will not work for a game with the Joker. To factor in how moving a particular piece change's the checking power of the Joker, it should regulary update the value of lastpiece.

While looking up the correct name of the variable, I saw that I had used the wrong variable name in some places last night. When I corrected that, I was able to move the Joker in my fork of the Apothecary Chess 1 preset.

There are still more things to be done, but not right away.


Gross Chess. A big variant with a small learning curve. (12x12, Cells: 144) [All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Wed, Mar 25, 2020 04:59 PM UTC:

I'll bear that in mind while working on a new preset for Grand Chess. With that as a foundation, I can start on a new and improved preset for Gross Chess.


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

When you'll succeed with the joker piece there will still be work to be done with the 2 apothecaries. I can do this part I think. I currently have 1 working preset for each baring the presence of a joker.


Wizard's War. Game with piece-creating Wizards and a board divided into arena and enchanted sections. (10x10, Cells: 84) [All Comments] [Add Comment or Rating]
Anthony Viens wrote on Thu, Mar 26, 2020 02:29 AM UTC:Good ★★★★

Well hey, apparently I never commented on this!

I quite like it! The interplay between needing pieces on the arena/safer on the enchanted squares is quite unusual.

Creating your own army is fun, and ensures no game start will be quite the same.

This is a very cohesive & well thought out variant.


Apothecary Chess-Classic. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
H. G. Muller wrote on Thu, Mar 26, 2020 09:57 AM UTC:

But that's not true of other pieces. Other pieces retain checking power during the opponent's move.

That is exactly what I disagre with. Checking power is defined as the ability to make an actual capture after the opponent passes his turn (thus giving the turn back to the owner of the checking piece).

So the question is really how the Joker must move after a turn pass, because such a turn pass cannot be assigned to any particular piece. Must it then also pass its turn, or does it retain the powers it had on the move before? This question is important to distinguish checkmate from stalemate.

For 'passing through check' turn passing plays no role, though. The King was already moving when it reached the square it aims to pass through. The logical approach is to evaluate the situation under the fiction that he would stop there, and then the last move would have been a King move. So I would say the Joker has to be assumed to move as a King in order to judge whether the King passed through its attack. Even when the ultimate rule for Joker movement after a complete castling would be that it should move like a Rook. (E.g. because castling according to FIDE rules must first move the King, and then the Rook, so the Rook would be the last moved piece.)


💡📝Aurelian Florea wrote on Thu, Mar 26, 2020 10:30 AM UTC:

HG,

Some interpretation could be on game by game basic and it's inventor should cover all details. I have not thought on everything, but the joker is definetly an interesting piece.

As you stated the rule :"Checking power is defined as the ability to make an actual capture after the opponent passes his turn (thus giving the turn back to the owner of the checking piece)." you agree with me when I had said that if the joker in unbostucted on the same diagonal with the king all the bishops friendly to the king are pinned.


H. G. Muller wrote on Thu, Mar 26, 2020 12:01 PM UTC:

Indeed, if there is a diagonal path from Joker to King, Bishops and Queens would be pinned.

If there is a diagonal path of a black Joker to f1 (say from d3), I would not think that this would forbid O-O, because it also doesn't forbid Kf1,

The tricky question is what to do when the Joker has a diagonal path do e1 (say from c3). Can white castle now, or is he in check, and consequently cannot? This again depends on how one imagines the Joker to move after a turn pass. And if he keeps his old move in that case, it depends on the previously moved piece.


Gross Chess. A big variant with a small learning curve. (12x12, Cells: 144) [All Comments] [Add Comment or Rating]
Aurelian Florea wrote on Thu, Mar 26, 2020 12:05 PM UTC:

Have you any ideea Fergus, at first glance what would be the correct instruction to decrease the value of the just pormoted, in the RESERVE array?


25 comments displayed

EarliestEarlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.