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


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

Ratings & Comments

LatestLater Reverse Order EarlierEarliest
MShalf-random-transcendental-chess[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, May 26, 2020 05:19 PM UTC:

Follow the Edit Content link and click on the Delete Item button.


Omega Chess. Rules for commercial chess variant on board with 104 squares. (12x12, Cells: 104) (Recognized!)[All Comments] [Add Comment or Rating]
Bruce Wright wrote on Tue, May 26, 2020 05:07 PM UTC:

To Kevin Pacey: Your comment that if you used a lone Champion+King it was possible to force mate against a lone King on a "normal" type of Chess board (that is, if the four corner "bolthole" squares were eliminated) sounded wrong to me, so I added that piece to one of the Chess engines I've written and had it compute the endgame database for that piece combination, and sure enough there are only a handful of positions for which a single Champion can force mate, whether on any size of rectangular Chess board or on an Omega Chess board. On the other hand, two Champions can easily force mate either on a rectangular Chess board of any size or on an Omega Chess board. I think you misunderstood Muller's comment - the one I saw says that a WD (or WAD) piece can mate, but doesn't say that this is forced in the typical case.

A word on my qualifications: I am a USCF Expert in standard FIDE Chess as well as the author or co-author of several computer Chess programs including the "Duchess" program that was the runner-up in the World Computer Chess Championships.


MShalf-random-transcendental-chess[All Comments] [Add Comment or Rating]
Ola Sassersson wrote on Tue, May 26, 2020 04:53 PM UTC:

(Duniho, how do I properly delete this page?)


Fischer-Benko Chess. Three pieces are placed randomly, the other five by the players.[All Comments] [Add Comment or Rating]
Ola Sassersson wrote on Tue, May 26, 2020 04:40 PM UTC:

I've published this page now. Unfortunately, I could not figure out how to properly delete the other page (I'm the fresh hire among the editors), but I did manage to remove the link from What's New and search results.


Apothecary Chess-Modern. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, May 26, 2020 03:54 PM UTC:

I proposed using a drop move to place the Joker on the board, because in your code, you were adjusting what is allowed before and after moving the Joker. If the Joker's entry to the board is a drop move, you can permanently allow drop moves on the second move, and once the Joker has moved to the board, the player will simply have no more drop moves available. There will be no need to ban drop moves, because the player will have no more legal drop moves after the first and only one that is allowed.


🕸Fergus Duniho wrote on Tue, May 26, 2020 03:50 PM UTC:

The Joker's entry to the board works similarly to optional Pawn promotion. After moving a previously unmoved piece, it may be placed on the board in the space vacated by the piece just moved. It is not necessary to use continuemove, because there are only two options: moving the Joker to the vacated space or not moving it. The ask command is the appropriate one to use. In using it, here are the things to check. First, check whether the Joker is still off-board. If it isn't off-board, it has already been moved to the board, and there is no need to check whether the player wants to move it to the board. If it's still off-board, check how many turns have passed. If too many turns have passed, you can stop there, perhaps even removing it to indicate that it is no longer available. If there is still time to drop it, check whether the question has been answered and whether it is the latest turn. If it has not been answered, and it is the latest turn, you can use the ask command. But if it has been answered, or it is not the latest turn, this command should not be used.


MShalf-random-transcendental-chess[All Comments] [Add Comment or Rating]
Davor Vujacic wrote on Tue, May 26, 2020 02:31 PM UTC:Excellent ★★★★★

Ok, thanks for your help. Yes, Benko-Fischer Chess is more important one for me. And you can clarify that you are the co-author of Half-Random Transcendental Chess.

 


Ola Sassersson wrote on Tue, May 26, 2020 01:41 PM UTC:

I've added this game as a footnote to your Fischer-Benko Chess page. Do you mind if I delete this page? I think the games are close enough that only one page is required.


Apothecary Chess-Modern. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
💡📝Aurelian Florea wrote on Tue, May 26, 2020 06:45 AM UTC:

The way I see it, once the user makes the regular move of the virgin piece (the ones allowed to vacate the spot for the joker), the user is then asked if he/she wants the joker to be inserted. I'm thinking that continuemove may be used here.

If a drop is to be used, the joker then starts in the hand I assume, where it is displayed, like in shogi. But there is still the problem of when to insert!


🕸Fergus Duniho wrote on Tue, May 26, 2020 01:45 AM UTC:

I propose giving the off-board Joker a drop move,which would be handled with the * operator, as in Shogi.


🕸Fergus Duniho wrote on Mon, May 25, 2020 09:41 PM UTC:

This code is in the Post-Move section, which means it is running after the move has been performed. The ask command does not perform a move right then and there. What it does is insert a move into the moves list. To guarantee that a move is allowed before it is made, you should define what is allowed in the Pre-Game section.

Also, the ask command should be used only as an alternative to entering the notation for a move. Once the ask command has been used on the current turn, the move it adds to the move list will be in the move list, and there will no longer be any need to use the ask command each time the same move is repeated. Remember that when you run Game Courier, it repeats all past moves, but when past moves have already been made, there is no longer any need to ask the player which move to make. Moreover, continuing to do so would stop the game from moving forward.

There are three things to check in determining whether to use the ask command. The first is whether the move made possible by the ask command has already been made. If it has been made, there is no need to ask whether to make the move. If it hasn't been made, there are two other things to check. The White_Pawn and Black_Pawn subroutines are designed to allow optional promotion in games with extended promotion zones, such as Grand Chess. Instead of entering a placeholder for an empty move, such as the skip command, these don't do anything special to mark that a Pawn has not promoted. Instead, they both use this condition to tell whether to use askpromote:

if not $answered and == mln $maxmln:

When the ask or askpromote command is used, it sets $answered to true. But this lasts only for the current turn. It will not help when you repeat past moves. So, this line also checks whether it is the latest move with == mln $maxmln. If a promotion move has not been made, and the command has not been answered on the current move, and it is the latest move, it asks what to promote to. Otherwise, it does not.


💡📝Aurelian Florea wrote on Mon, May 25, 2020 03:53 PM UTC:

Fergus, we have reached the final hurdle. What I want to do is to insert the joker as part of the move in in the place of the last piece moved as long as the piece is virgin and occupies a spot on a1,b2,c2,d2,e2,f2,g2,i2 or h1 for white. The code for a1 that I tried is below. The if in the first line should have something like and flag a1 but when I do this it never enters the the if block.

if == $origin a1 :
unsetflag a1;
allow commands 2;
allow moves 2;
ask "Do you want to insert your joker now?" "Yes" p2-a1 "No" "skip";
ban allmoves;
ban commands;
allow moves 1 captures 1 promotions 2;
endif;

 

The error it gives is : J p2-a1 and other moves from one space to another are banned here.  This happens when after the ask command I go for yes. This is post move 1 code.


Game Courier Developer's Guide. Learn how to design and program Chess variants for Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Mon, May 25, 2020 12:46 PM UTC:

There are two ways of getting the value of a variable. One is to prepend the variable name with the # symbol. This works by replacing the #var_name with its value during preprocessing. This is useful for commands that do not provide any evaluation of expressions. It can be used on any line, regardless of the command.

The other way works only in expressions, and it is to precede the variable name with the keyword var. In some instances, it doesn't matter which you use. But in function definitions it does. Consider these lines of code:

def test1 join "a" #v;
def test2 join "b" var v;
print fn test1;
print fn test2;
set v x;
def test3 join "c" #v;
print fn test1;
print fn test2;
print fn test3;
set v y;
print fn test1;
print fn test2;
print fn test3;

Here is their output:

a#v

b

a#v

bx

cx

a#v

by

cx

As you can tell from examining the output, the method of prepending a variable name with # works only when a function is defined, and it will insert the current value of that variable into the function definition without enabling the function to use the most recent value of the variable on subsequent function calls. But the var keyword will always retrieve the current value of the variable everytime the function is called. For this reason, it is important to use the var keyword in function definitions whenever there is any chance that its value may change. The preprocessing method of retrieving variable values may be used in a function definition only for variables that have already been set and will not change.

The same should apply to prepending constant names with @ or prepending system variables with $. You're probably okay prepending a constant name with @, because its value is not supposed to change. Some system variables change regularly, and some do not. For those that do change, it is better to use the system keyword to retrieve their value in function definitions.


Citadelir chess. Grand chess + Tamerlane chess + Omega Chess.[All Comments] [Add Comment or Rating]
💡📝Daphne Snowmoon wrote on Mon, May 25, 2020 04:42 AM UTC:

In looking for the link to Full Tamerlane Chess, I found that title belongs to a game by Greg Myers, but his game is currently hidden, because it still needs some work. This leads me to think that maybe you were not referring to his game. Were you referring to Greg Myers's Full Tamerlane Chess, to Tamerlane Chess, or to some other game?

: I didnt refer him. I found 'Full tamerlane chess' on the other site.

 

Regarding the piece descriptions, "move" can be a bit of a vague term. In the description of the Elephant, it's unclear whether the piece moves as a Bishop up to two spaces or can leap one or two spaces diagonally. I consulted Tamerlane Chess in case it used the same Elephant, but it does not. Its Elephant can leap two spaces but cannot move one space. The same goes for the Dabbaba.

: The elephant and Dabbaba are stemed from Tamerlane chess, but i added some move to them and other pieces.

 

While the Camel is normally a leaper, your description of it suggest that it might not be. The Templar sounds like it might be the Horse from Chinese and Korean Chess. In general, you need to make a clear distinction between true leapers, which may go directly to a space despite obstacles, and lame leapers, which must pass over certain spaces to reach their destination.

: In Citadelir chess, the Camel is also a leaper.

: The Templar moves 1 square orthogonally and then 1 squares diagonally and it can capture a piece with this move. and the Templar can also moves 1 square orthogonally and then 2 squares diagonally but it cannot capture a piece with this move.


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

It works!... I'm so happy!...


🕸Fergus Duniho wrote on Mon, May 25, 2020 03:20 AM UTC:

I'm on my ereader right now and won't be back on my computer until tomorrow morning, which is even later than your morning. My main suggestion for now is to replace #last_type_piece with var last_type_piece in the four Joker* functions, because this sometimes makes a difference.


💡📝Aurelian Florea wrote on Mon, May 25, 2020 03:02 AM UTC:

Any joker move would do.

Here: https://www.chessvariants.com/play/pbm/play.php?game=Apothecary+Chess+2&settings=Apothecary2working&submit=Edit

you can find the preset in question. Just move a white mameluke (the camel picture), and then try to move the joker.


Citadelir chess. Grand chess + Tamerlane chess + Omega Chess.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, May 25, 2020 01:15 AM UTC:

In looking for the link to Full Tamerlane Chess, I found that title belongs to a game by Greg Myers, but his game is currently hidden, because it still needs some work. This leads me to think that maybe you were not referring to his game. Were you referring to Greg Myers's Full Tamerlane Chess, to Tamerlane Chess, or to some other game?

Regarding the piece descriptions, "move" can be a bit of a vague term. In the description of the Elephant, it's unclear whether the piece moves as a Bishop up to two spaces or can leap one or two spaces diagonally. I consulted Tamerlane Chess in case it used the same Elephant, but it does not. Its Elephant can leap two spaces but cannot move one space. The same goes for the Dabbaba.

While the Camel is normally a leaper, your description of it suggest that it might not be. The Templar sounds like it might be the Horse from Chinese and Korean Chess. In general, you need to make a clear distinction between true leapers, which may go directly to a space despite obstacles, and lame leapers, which must pass over certain spaces to reach their destination.


MStwisty-chess[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, May 25, 2020 12:51 AM UTC:

I'm starting to rewrite this in clearer English. I have this so far:

The board and piece setup are the same as in normal chess. But each player has two camps and can spin either one. Each camp is a 4x4 section of the board. White's camps are on the first four ranks, and Black's are on the last four. Each has a camp on files a through d and another on files e through h. Instead of making a regular move, a player may rotate the pieces in one camp 90 degrees clockwise or counterclockwise.

This covers everything up until this line:

The pawns only go to the last rank of enemy regardless of spin.

It's not clear to me how this works. An example where this rule applies may help to clarify it.

Regarding the last line:

The pawns are promoted when the opponent spin his camp and your pawn reaches at the last rank of enemy.

Who decides what pieces the pawns promote to? The player whose move placed them on the last rank, or the player who owns them?


Apothecary Chess-Classic. Large board variant obtained through tinkering with known games.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sun, May 24, 2020 06:56 PM UTC:

Without seeing the game in which that is a move, I cannot tell what is going on.


💡📝Aurelian Florea wrote on Sun, May 24, 2020 05:11 PM UTC:

Now when I try to move the joker in a correct manner I get this:

You may not move your White Joker from e1 to f4.

I recognize this line. It is from the post move section and it prevents things like moving one's queen like a knight.

As no moves were displayed either, I think this could be from an error in updating the joker's identity.


💡📝Aurelian Florea wrote on Sun, May 24, 2020 04:38 PM UTC:

Ok!


🕸Fergus Duniho wrote on Sun, May 24, 2020 03:07 PM UTC:

Stick to one or the other. I wasn't paying careful attention to what I already wrote.


💡📝Aurelian Florea wrote on Sun, May 24, 2020 02:29 PM UTC:

You have wrote both last_piece_moved and last_type_moved. Are they different entities and I'm missing something or something else?


🕸Fergus Duniho wrote on Sun, May 24, 2020 02:14 PM UTC:

You may also need this:

  def None-Range ();

25 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.