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
2.Manticore and 2. Griffin ?[Subject Thread] [Add Response]
Bn Em wrote on Sat, Sep 25, 2021 12:18 PM UTC:

I've been thinking a little about these pieces, as well as the ‘helical’ crooked riders that Fergus suggested here.

It seems to me these are instances of (modulo one detail, which I'll get to below) the same pattern that brought us the ‘modern’ elephant — i.e. the FA — wrt the original 2‐space‐diagonal Elephant: we have an original piece with a non‐coprime (as Charles Gilman would have it) leaping move and fill in the gap.

As such, it seems to me that, in line with mỹ initial intuitions in both cases, it's probably clearest imo to think of the helical pieces and the 2.bent riders as variations on respectively and lama–osprey/zephyr–ostrich rather than totally distinct pieces (or for that matter as immediate bishop/rook/queen or manticore/griffin derivatives)

The main difference between these and the modern elephant is that, the original piece having riding tendencies already, it seems more natural to have the ‘modern’ component be lame/stepping rather than leaping as in the elephant case. The ‘running’ elephant (as coined in the previous comment) would be a lame/stepping FA, or equivalently a B2.

I wonder whether there are many other piece‐types for which ‘running’ (or indeed ‘modern’) subspecies are useful? Running dababba‐/alfil‐/alibabariders, skip‐riders (panda/bear/harlequin), and slip‐riders (Tamerlane picket ⁊ al.) are just rooks/bishops/queens (and ‘modern’ ones the same but less blockable and this probably OP); running crooked dababba‐/alfil‐/alibabariders likewise reduce to lame contrabrueghels/‐proselytes/‐halcyons. Running alpacas/quaggas/okapis/⁊c. (i.e. alternating pairs of orthogonal and diagonal steps) — straight, curved, or switchback — are perhaps more promising, and not, imo, all too exotic; running nightriders/roses/nightfliers/‐sidlers/‐ladies, the same but starting with a single step, also bear considering, even if not strictly non‐coprime to begin with.

There's one other curious difference between the bent and crooked members of this family: as described, the bent ones can only make the remaining part of its move if the non‐coprime part is made in its entirety (i.e. the ferz/wazir move is to the exclusion of the rook/bishop one), whereas the crooked pieces must make both componets regardless (this difference is more pronounced when considering the time‐reversed versions, i.e. running contrazephyr/contraproselyte/⁊c.: the former is committed to a full alfil leap if it starts with a non‐zero rook move — the alternative would be the existing fimbriated griffon — while the latter has to make its final turn and ferz step lest it become equivalent to the aforementioned running crooked alfilrider (as well as curtailing its first, rather than its last alfil run; the pair with one time‐inverted but not the other is also possible, if a bit obtuse)). I'm not yet sure how best to describe that difference without special‐casing.

tl;dr: new category of pieces (tenatively named ‘running’) combining recent suggestions, with some further suggested extrapolations and some unanswered questions re semantics.

Assuming anyone actually makes it through this, any thoughts?


Comemnt search doesnt work[Subject Thread] [Add Response]
Bn Em wrote on Sat, Sep 25, 2021 11:00 AM UTC:

Are there any plans to restore this functionality? Not sure whether the ongoing procedures with backups ⁊c make this a more or less opportune time to look into this, so if the latter it can ofc wait, but it'd be good to have it back eventually


Backups[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Sat, Sep 25, 2021 02:50 AM UTC:

I have set up some cron jobs to do backups with rsync. On this server, rsync will create hourly, daily, weekly, monthly, and annual backups. These are in case it's important to revert a change to a script or page. Editors with access to the server can find these in /home/chessvariants/backups/.

The new server has a cron job to make a daily backup of the public_html directory on this server. I set up an SSH key pair to allow it to do this without a password. This will copy the /public_html/ for chessvariants.com to that for chessvariants.org. This is expected to happen at midnight EST. To be sure of what time it does it, I'll check the timestamp on the /public_html/ directory tomorrow, since I also made the script use the touch command on it when it is done updating. I still have not added commands for backing up the database. It will be important to do both together to keep their backups in sync.


Apothecary Chess Tournament[Subject Thread] [Add Response]
Aurelian Florea wrote on Thu, Sep 23, 2021 08:42 PM UTC in reply to Fergus Duniho from 05:39 PM:

Thanks!


🕸Fergus Duniho wrote on Thu, Sep 23, 2021 05:39 PM UTC in reply to Aurelian Florea from 10:03 AM:

I made a test copy of one of these games, and I successfully moved in it. If Oisin had around two days left, that's consistent with him having less than a day now, because the site has been back online for a few days already. Tell him to move before his time runs out.


🕸Fergus Duniho wrote on Thu, Sep 23, 2021 02:39 PM UTC in reply to Aurelian Florea from 10:03 AM:

I still see time on the clocks, and I already gave additional time to all interrupted timed games. I'll do some testing later if he still hasn't moved.


Aurelian Florea wrote on Thu, Sep 23, 2021 10:03 AM UTC:

Fergus,

The games I was playing with Oisin in this tournament have been over since he had not the possibility to move and they resulted in a time lost. He had around 2 days of time. Can you restore the clocks since before the site going down?

https://www.chessvariants.com/play/pbm/play.php?game=Apothecary+Chess-Modern&log=sxg-catugo-2021-214-201

https://www.chessvariants.com/play/pbm/play.php?game=Apothecary+Chess-Classic&log=sxg-catugo-2021-214-201


Server crash[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Sep 22, 2021 09:45 PM UTC:

I have made additional changes to the following scripts on both servers:

  • footer.php
  • index/database-funcs.php
  • index/drawemail.php
  • index/editcomment.php
  • index/listcomments.php
  • index/login-funcs.php
  • index/randgame.php
  • play/pbm/drawdiagram.php
  • play/pbm/logs.php
  • play/pbm/play.php

🕸Fergus Duniho wrote on Wed, Sep 22, 2021 06:35 PM UTC:

The new server is running PHP 8. So, I have updated some scripts over there to work with PHP 8, and I have copied the updated versions to the main server. These include the following:

  • 404.php
  • footer.php
  • ads/adlocale.php
  • index/commentsinc.php
  • index/database-funcs.php
  • index/displayusersubmission.php
  • index/fpd-indexing-funcs.php
  • login/header.php
  • play/pbm/play.php

One change is that {curly brackets} may no longer be used to specify characters within a string. [Square brackets] must be used instead, as they are already used for array elements. The other is that parentheses must now be used to specify the order of evaluation for nested ?: statements.

I will check more pages later to see if any more scripts need updating.


Jean-Louis Cazaux wrote on Tue, Sep 21, 2021 08:39 PM UTC in reply to Fergus Duniho from Mon Sep 20 09:09 PM:

Congratulation for this repair Fergus! Happy to see this back!!!


🕸Fergus Duniho wrote on Tue, Sep 21, 2021 12:49 PM UTC in reply to dax00 from 11:18 AM:

I can't access my game that was interrupted. I hope that timed-out games (due to the site being down) will be playable soon.

It appears that the problem with your game affects only Chu Shogi, and it has nothing to do with the game being interrupted, as I encountered the same problem when I tried to simply move pieces in Chu Shogi. What happens is that the page stops displaying partway through the menu, and it doesn't give me any clear indication of what is wrong. It looks like this is going to be a problem for Adam DeWitt to solve, as it stems from his chu settings file.


dax00 wrote on Tue, Sep 21, 2021 11:18 AM UTC:

I can't access my game that was interrupted. I hope that timed-out games (due to the site being down) will be playable soon.


🕸Fergus Duniho wrote on Mon, Sep 20, 2021 10:28 PM UTC in reply to H. G. Muller from 08:32 PM:

Please back it up ASAP!

I copied a backup of the files and the database to the backup server. When I extracted the tar file, it overwrote the .htaccess file, which caused chessvariants.org to go to chessvariants.com. I will have to rewrite the .htaccess file so that the same file can work properly on both servers. Then I'll be able to test that the database and pages are working correctly over there.


🕸Fergus Duniho wrote on Mon, Sep 20, 2021 09:09 PM UTC in reply to H. G. Muller from 08:32 PM:

The server never crashed. I was simply unable to boot it back up after attempting a reboot. For those who don't know, this is because the host's website was down, which left me without the ability to access the control panel for the VPS. The host is now back online, and I now have a second VPS with a different company, which has been assigned to the chessvariants.org domain. I will now work on backing up my websites to the other server.


H. G. Muller wrote on Mon, Sep 20, 2021 08:32 PM UTC:

It seems the server is back in business?!

Please back it up ASAP!

I do have a VPS available (rented up to Oct. 6) where we could practice the process of cloning the website. Apache, PHP and MySQL are installed, as well as ftp and ssh servers. Tell me if you want an account with root access on it.


semi-simultaneous step chess[Subject Thread] [Add Response]
Joe Joyce wrote on Tue, Aug 31, 2021 08:02 AM UTC:

Semi-Simultaneous Step Chess

This is a mutator. It should work across a broad range of variants.

Movement

Players make 1 standard move per turn. However, the pieces only make the smallest step possible each turn but turn after turn, each piece continues making the smallest step possible until it reaches its destination, where it stops and is once again available for movement. Sliders move 1 square/turn. Leapers make 1 leap/turn, so a knight gets to its destination in 1 turn, but a knight rider will advance only 1 knight’s leap/turn until it gets to its destination.

Who Moves First?

At the end of each player turn, each currently-stepping piece is moved in the same time order in which the moves were originally made. An alternate possibility is at the end of each player-turn, only that player’s pieces move, in time order. This change affects captures, see below.

Capture

During the stepping of the pieces, when a piece lands on another piece, the piece landed on is considered stepped on – it is captured and removed from the game immediately. Clearly the question of whether white and black interleave all their current steps, or if each side does all its own steps only, after its current move, has a huge effect on the game.

Discussion

Yes, the rules allow for players to capture their own pieces. And the rules allow players to see things coming and move out of the way just before the attacks will strike their pieces. And they can schedule an attack on the square just after the opponent piece gets there.

So why do any distance moves? Well, the more distance moves you do, the more pieces you can have moving at the same time. So the more attacks you can make in any given turn. You can try “time on target” attacks where you launch attacks over the course of several turns that all land in the same area at or near the same turn.

And that brings up another point. Why not have indeterminate moves? A slider may keep going in the same direction turn after turn until it captures a piece, hits the edge of the board, or is ordered to stop. It is given only a direction in which to move, not a destination.

Comments welcome.


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
Aurelian Florea wrote on Mon, Aug 16, 2021 07:11 AM UTC in reply to H. G. Muller from Sun Aug 15 06:54 PM:

@HG, Yes, I was thinking about this!


H. G. Muller wrote on Sun, Aug 15, 2021 06:54 PM UTC in reply to Aurelian Florea from 04:47 PM:

Two possibilities:

1) Change the piece IDs in the description of the Interactive Diagram before you paste it into the Play-Test Applet.

2) Edit the GAME code generated by the Applet in order to change the IDs of the pieces you want changed. Piece labels occur in the function definitions and in the arrays behind the legdefs array with step descriptions, in the Pre-Game code.


Aurelian Florea wrote on Sun, Aug 15, 2021 04:47 PM UTC in reply to H. G. Muller from 09:32 AM:

@HG, It seems all well to me so far but the pictures used are the ones from the alfaerie many where the letters in use are from the interactive diagram. So it is difficult to read out. How do I fix this?


🕸Fergus Duniho wrote on Sun, Aug 15, 2021 12:11 PM UTC in reply to H. G. Muller from 09:32 AM:

In the routine below the variable 'sqr' stays 0 for all iterations. Only when I deleted the comma ("for (sqr piece) $space;") it runs through the square labels. Yet the GAME code manual suggest a comma should be present.

The Developer's Guide was wrong. I have corrected it. It uses spaces as separators, and when I used a comma, it added the comma to the variable name, so that this code worked:

foreach (key, var) spaces:
  echo #key, #var;
next;

But this code did not:

foreach (key, var) spaces:
  echo #key #var;
next;

(And thanks for fixing the dash problem; I would never have found that.)

It's important to remember that it was a minus sign, not a dash. When you use the # prefix before a variable name, it rewrites your code by replacing your variable with its value. Because it rewrote your code with a minus sign, your line of code was now trying to do subtraction. This threw a monkey wrench into your code in a way that a mere dash – which would be a meaningless string that was wider than a minus sign – would not have. Inserting the value of variables in this way is mainly intended for using variables with commands that do not process expressions (at all or for a certain argument). Within expressions, it is usually safer to use the var operator, which simply returns the variable value without rewriting your code. I believe functions are now an exception to this, since the following code prints 13, not 17:

set a 8;
def test + 9 #a;
set a 4;
print fn test;

H. G. Muller wrote on Sun, Aug 15, 2021 09:32 AM UTC:

@Fergus: In the routine below the variable 'sqr' stays 0 for all iterations. Only when I deleted the comma ("for (sqr piece) $space;") it runs through the square labels. Yet the GAME code manual suggest a comma should be present.

(And thanks for fixing the dash problem; I would never have found that.)

Yet another question: is there an elegant way to convert internal rank and file number to the square label? For games that need symmetric shuffling I first shuffle the white pieces, and then copy the white setup (color-flipped) to the black camp, and for that I have to derive the label of the mirror square. This is now done by a pretty complex calculation. Which only works if rank labeling is a consecutive range of integers.

@Aurelian: The FEN for your start position has one dash too many at the start. Otherwise it should work now. (At least the shuffling.)


🕸Fergus Duniho wrote on Sat, Aug 14, 2021 11:32 PM UTC in reply to H. G. Muller from 08:20 PM:

Here is the fixed subroutine:

sub GetSquares toshuffle:
  my sqr piece;
  // determine the squares the pieces in the given set are on.
  // the result is left in 3 global arrays:
  set left array;  // on left board half
  set light array; // as well as sorted by shade
  set dark array;
printr $space;
  for (sqr, piece) $space:
print . iter . #piece #sqr;
    if match var piece #toshuffle:
      if < * 2 file #sqr lastfile:  // left half
        push left #sqr;
      endif;
      if == color #sqr 1: // distinguish by shade
        push dark #sqr;
      else:
        push light #sqr;
      endif;
    endif;
  next;
print "got it";
endsub;

The actual fix was changing #piece to var piece in the conditional if match var piece #toshuffle:. There are subtle differences between these two ways of getting the values of variables. The way you were doing it embedded it into the line during pre-processing, and the problem with doing that was that its first value was -, which is also an operator. Changing it to var piece made sure that it treated the value as a string at the proper time and not as the minus operator.

I changed another line to use the color operator, because this might be a better way of doing what you want. This returns the color index associated with the space. Looking at the color values, I figured that the number 1 was being used for the dark squares.


H. G. Muller wrote on Sat, Aug 14, 2021 08:20 PM UTC in reply to Fergus Duniho from 08:00 PM:

When I clicked on that, I saw a listing of all the spaces. So, I presume it is working.

No, that just shows the printr $space before the loop worked. After that list of spaces it prints "iter0"  in the first and only iteration of the loop.

If things worked, you would not see anything printed; You would just see the diagram of the shuffled starting position.


🕸Fergus Duniho wrote on Sat, Aug 14, 2021 08:00 PM UTC in reply to H. G. Muller from 06:49 PM:

This routine is in the shuffle.txt file included in the preset Aurelian posted the link to 5 postings ago in this subject thread.

When I clicked on that, I saw a listing of all the spaces. So, I presume it is working.

Once you have shuffled the pieces, are you storing the results of the shuffling in a constant for later reuse?


H. G. Muller wrote on Sat, Aug 14, 2021 06:49 PM UTC in reply to Fergus Duniho from 06:30 PM:

There isn't that much context; it is in a subroutine, and sqr and piece are 'my' variables, which should pretty much decouple it from the remaining code:

sub GetSquares toshuffle:
  my sqr piece;
  // determine the squares the pieces in the given set are on.
  // the result is left in 3 global arrays:
  set left array;  // on left board half
  set light array; // as well as sorted by shade
  set dark array;
printr $space;
  for (sqr, piece) $space:
print . iter . #piece #sqr;
    if match #piece #toshuffle:
      if < * 2 file #sqr lastfile:  // left half
        push left #sqr;
      endif;
      if & 1 + file #sqr rank #sqr: // distinguish by shade
        push dark #sqr;
      else:
        push light #sqr;
      endif;
    endif;
  next;
print "got it";
endsub;

This routine is in the shuffle.txt file included in the preset Aurelian posted the link to 5 postings ago in this subject thread. That preset calls the routine ShuffleSetup (at the very bottom of the Pre-Game section), which eventually calls this routine. If you click that link it directly tries to execute the preset, which immediately exits after printing the $space array, and "iter0". It never gets to the "got it".

 


🕸Fergus Duniho wrote on Sat, Aug 14, 2021 06:30 PM UTC in reply to H. G. Muller from 02:44 PM:

When I tried it by itself, it did loop through the board. Perhaps something in the outer context is affecting your code.


H. G. Muller wrote on Sat, Aug 14, 2021 02:44 PM UTC:

@Fergus: I don't understand what is wrong with the following GAME code:

  for (sqr, piece) $space:
print . iter . #piece #sqr;
    if match #piece #toshuffle:
      if < * 2 file #sqr lastfile:  // left half
        push left #sqr;
      endif;
      if & 1 + file #sqr rank #sqr: // distinguish by shade
        push dark #sqr;
      else:
        push light #sqr;
      endif;
    endif;
  next;
print "got it";


I would have expected it to loop over the board. But instead it prints "iter0" and then exits. If I do a "printr $space" just before it, it does print the board as expected.


Aurelian Florea wrote on Fri, Aug 13, 2021 11:03 AM UTC in reply to H. G. Muller from Tue Aug 10 09:22 AM:

HG, Have you took any time to take a look on the initial position randomization issue?


Possible bug in Grand Cavalier Chess[Subject Thread] [Add Response]
wdtr2 wrote on Wed, Aug 11, 2021 11:03 PM UTC in reply to Fergus Duniho from 05:55 PM:
ok, great.   Thank you.

🕸Fergus Duniho wrote on Wed, Aug 11, 2021 05:55 PM UTC in reply to wdtr2 from 10:29 AM:

It's not so much that there is a bug here but that this preset was written before I gave Game Courier the ability to move pieces by clicking with the mouse. So, I did not program it to handle partial moves. As long as you enter the whole move at once, which will require some typing, it will allow the promotion. I will eventually get around to updating this preset or replacing it with a new one.


wdtr2 wrote on Wed, Aug 11, 2021 10:29 AM UTC in reply to Fergus Duniho from Mon Aug 9 02:15 AM:
Hi Fergus, thank you for the reply.  I think there is a violation to this rule.  The following is an example:
1. H d3-c5 
1... h g8-h6 
2. I c1-g9 
2... x f10-g9 
3. H c5-d7 
3... x g9-h9 
4. H d7-f8 // - Check! -
4... x h9-i9 
5. C j2-j3 
5... q e10-e9 
6 . H F8-    Can not promote?
=====
This was done in self-play mode. 2 people at the same PC.
In move #6 I thought the Cavalier could pop-into the last rank, and promote to the night-rider it lost.
===

The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
H. G. Muller wrote on Tue, Aug 10, 2021 09:22 AM UTC in reply to Aurelian Florea from 09:06 AM:

1) It seems the checkbox "Do not include moves in code" is not ticked.

2) Something is wrong with the shuffling; I still have to figure out what. When I delete the last line of the Pre-Game code ("gosub ShuffleSetup;") the preset seems to work (but without shuffling, of course).


Aurelian Florea wrote on Tue, Aug 10, 2021 09:06 AM UTC in reply to H. G. Muller from Mon Aug 9 08:06 PM:

The result of one of my 3 games is here :

https://www.chessvariants.com/play/pbm/play.php?game=Grand+Apothecary+Chess+1&settings=Applet

although it seems I have done something wrong as I don't get normal results. It just says to report any bugs to you HG!


2.Manticore and 2. Griffin ?[Subject Thread] [Add Response]
Bn Em wrote on Mon, Aug 9, 2021 09:42 PM UTC in reply to Aurelian Florea from Thu Aug 5 09:10 AM:

Ok so you are indeed including the 1‐step move among the movement possibilities — I suppose your ‘2.manticore’ is different enough from a lame/stepping/blockable osprey/lama (and mutatis mutandis for the ‘2.gryphon’) to merit a different name… maybe. If it's not being distinguished from a ‘true’ osprey/zephyr in a single game I'd be tempted to leave that name as is, though avoiding going too near overlexicalisation is a personal preference.

If the distinction does need to be made within a game (at which point the tradeoff changes imo), then ‘2.manticore’(/‘2.griffon’) is probably fine, if perhaps closer to the (presumably also present in a game featuring both of these) actual manticore/griffin than might be desirable, though I'm not really one to ask for original name suggestions (and M&B13 is apparently lacking names for lama/rook and zephyr/bishop compound with which we could (ab)use M&B8's ‘‐lander’ suffix). Perhaps a name based on lama/zephyr/osprey/ostrich/whatever you want to call them would be more apt? ‘Running Osprey’ isn't altogether without a ring to it…


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
H. G. Muller wrote on Mon, Aug 9, 2021 08:06 PM UTC:

You already made an Interactive Diagram that does the Pawn move and the castling in the way you want, right? All you have to do is paste the description of that diagram (without any HTML tags) into the Play-Test Applet, (where it says "paste an existing diagram"), and click the 'Game code' button.


Aurelian Florea wrote on Mon, Aug 9, 2021 07:59 AM UTC in reply to H. G. Muller from Thu Jul 15 07:03 PM:

@HG Muller

@Aurelian: Just out of curiosity: what happens when you use the Play-Test Applet to convert the Interactive Diagram you made to GAME code? Does the castling work as intended then?

I'm not sure I know how to do this. I have read this:

https://www.chessvariants.com/invention/game-code-generation

but I did not understood how to do the weird castling, or something that needs doing in game code like initial pawn pushes. (the * in Xbetza).


Possible bug in Grand Cavalier Chess[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Mon, Aug 9, 2021 02:15 AM UTC in reply to wdtr2 from Sun Aug 8 08:50 PM:

Here is the relevant rule:

When there are no captured pieces a Cavalier may promote to, it may not move to the last rank, though it may still check the Eques Rex on the last rank.

Is there a violation of this rule?


wdtr2 wrote on Sun, Aug 8, 2021 08:50 PM UTC:

I think I may have found an issue in Grand Cavalier Chess. In Self-play mode - 2 people on same PC. The Cavalier (Knight Pawn) is not able to get to the last rank for capture or promotion.

===

Question: according to the rules If you do not have any captured pieces the Cavalier can not promote. Can it go to the last rank for a capture and not promote if you have no captured pieces? ===

Can you check this?

Thank you.

Jim


Apothecary Chess Tournament[Subject Thread] [Add Response]
Erik Lerouge wrote on Sun, Aug 8, 2021 03:49 PM UTC:

Hello Aurelian,

Sorry I didn't see that the last round has begun. It's true that my e-mail is not visible. I could have given it to you (or you could have asked me:) at the start of the tournament...

Sorry, I don't play long-term correspondence games anymore. So I resign for my last games and I give the victory to my opponent Daniel. Congratulations for all the participants, and for Aurelian for creating Apothecary Chess! The 3rd round games I play against Daniel were particularly intense from beginning to end.


Aurelian Florea wrote on Thu, Aug 5, 2021 10:32 AM UTC in reply to Aurelian Florea from Tue Aug 3 03:51 AM:

Unfortunately Erik has not logged in since May and I don't know how to contact him. Any ideas?


2.Manticore and 2. Griffin ?[Subject Thread] [Add Response]
Aurelian Florea wrote on Thu, Aug 5, 2021 09:13 AM UTC in reply to Jean-Louis Cazaux from Wed Aug 4 08:05 AM:

@Jean-louis

Agreed but these are not the pieces I am talking about. I'm saying a piece that starts like a rook for the first 2 steps and then it goes towards outside like a bishop. So this 2. Maticore would be able to stop or be blocked at wazir sqaures.


Aurelian Florea wrote on Thu, Aug 5, 2021 09:10 AM UTC in reply to Bn Em from Wed Aug 4 01:08 AM:

@Bn Em I meant a piece that takes the first 2 steps like a rook and then towards outside like a bishop. The osprey jumps as a dabbabah and then moves towards outside like a bishop. So they are not the same piece.


Jean-Louis Cazaux wrote on Wed, Aug 4, 2021 08:05 AM UTC in reply to Bn Em from 01:08 AM:

In wikipedia Fairy chess pieces they are the Osprey for DthenB and the Ostrich for AthenR


Bn Em wrote on Wed, Aug 4, 2021 01:08 AM UTC in reply to Aurelian Florea from Sat Jun 12 12:30 PM:

Charles Gilman called these Zephyr and Lama respectively, though by his description they cannot make the one‐step move that I'm not sure whether you're including. The latter also turns up as an Osprey in Expanded Chess


Apothecary Chess Tournament[Subject Thread] [Add Response]
Aurelian Florea wrote on Tue, Aug 3, 2021 03:51 AM UTC:

I have assigned the round six games!


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
Aurelian Florea wrote on Fri, Jul 23, 2021 07:22 AM UTC in reply to Fergus Duniho from Wed Jul 21 05:19 PM:

With your piece of code I have tested my idea and made it work as intended. Thanks once again, Fergus!


Aurelian Florea wrote on Thu, Jul 22, 2021 04:49 AM UTC:

Thank you, Fergus!


🕸Fergus Duniho wrote on Wed, Jul 21, 2021 05:19 PM UTC in reply to Aurelian Florea from Tue Jul 20 01:38 PM:

I still need to understand how to delete a value from an array in order to remove the necessary value from wcastle or bcastle.

You can unset an array element if you know its key. For example:

set ra array a b c d e f g h i j k l m n o p q r;
unset ra.4; // removes e from array

But what if you just know the element you want to delete and not its key? I have now added a diff operator to return an array difference. When an argument isn't already an array, it gets turned into a single element array. So, this code removes j1 from wcastle.

set wcastle d1 c1 j1 k1;
set wcastle diff #wcastle j1;

Aurelian Florea wrote on Tue, Jul 20, 2021 01:38 PM UTC in reply to Fergus Duniho from Thu Jul 15 05:36 PM:

@Fergus,

I still need to understand how to delete a value from an array in order to remove the necessary value from wcastle or bcastle.


Aurelian Florea wrote on Fri, Jul 16, 2021 03:00 PM UTC in reply to H. G. Muller from Thu Jul 15 07:03 PM:

No ideea I'll Try it!


H. G. Muller wrote on Thu, Jul 15, 2021 07:03 PM UTC:

@Aurelian: Just out of curiosity: what happens when you use the Play-Test Applet to convert the Interactive Diagram you made to GAME code? Does the castling work as intended then?


🕸Fergus Duniho wrote on Thu, Jul 15, 2021 05:36 PM UTC in reply to Aurelian Florea from 07:57 AM:

I do not understand why after I move the rook I can castle with the cannon on the field that was supposed to be used only for the rook.

So far, you have not made it clear that the King moves to a different space when castling with each piece. The rules you have underneath the game do not even mention castling. The castle subroutine was not written with such a rule in mind. You might be able to make it work by adjusting the values of bcastle and wcastle after a Rook moves.

I think I haven't explained that properly but only one castle is aloud.

Castling is allowed only once, which I understand, but what you say next doesn't fit with you trying to say that. Are you trying to say that the King has only once space it can go to when castling with a certain piece?

Regarding your preset, I don't understand why you are using four colors for checkering the board. Also, the dark blue squares do not contrast well with the color used for highlighting legal moves, which makes it hard to see legal moves highlighted on those squares. Additionally, your rules could use images of the pieces, so that someone looking at a piece on the board can more easily tell how it moves. Remember to use the shortcodes for displaying pieces, so that the piece images below match those on the board no matter what piece set is used.


Aurelian Florea wrote on Thu, Jul 15, 2021 07:57 AM UTC in reply to Fergus Duniho from Tue Jul 13 03:38 PM:

@Fergus Then I do not understand why after I move the rook I can castle with the cannon on the field that was supposed to be used only for the rook. I think I haven't explained that properly but only one castle is aloud. This is not free castling. So this is why I asked about wcastle and bcastle.


Test[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Jul 13, 2021 04:22 PM UTC in reply to Fergus Duniho from 04:15 PM:

Replying from Chrome on my Likebook Mars without being signed in first.


🕸Fergus Duniho wrote on Tue, Jul 13, 2021 04:15 PM UTC:
Adding response with Chrome on my Likebook Mars without being signed in first.

🕸Fergus Duniho wrote on Tue, Jul 13, 2021 03:56 PM UTC in reply to Fergus Duniho from 03:54 PM:

Replying from Chrome on my Likebook Mars.


🕸Fergus Duniho wrote on Tue, Jul 13, 2021 03:54 PM UTC:
Adding response from Chrome on my Likebook Mars.

🕸Fergus Duniho wrote on Tue, Jul 13, 2021 03:47 PM UTC:

Posting from Chrome in Windows 10.


The birth of 3 new variants - part 2 : Grand Apothecary Chess Modern[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Jul 13, 2021 03:38 PM UTC in reply to Aurelian Florea from 11:51 AM:

What I still need to do is delete a variable from wcastle or bcastle as the rook gets moved.

That shouldn't be necessary, as other factors will determine that future castling moves are illegal without doing this.

How do I delete a value from an array?

Once the King has castled, it might be a bit of an optimization if you set wcastle or bcastle to an empty array, but it shouldn't be necessary.


Aurelian Florea wrote on Tue, Jul 13, 2021 11:51 AM UTC:

@Fergus,

I am almost done with the castling. It was not that hard. I have left the normal stalemated subroutine which took care properly of the moves display. Also I am handling the flag sets and unsets properly as far as I can see. What I still need to do is delete a variable from wcastle or bcastle as the rook gets moved. How do I delete a value from an array?


🕸Fergus Duniho wrote on Mon, Jul 12, 2021 05:44 PM UTC in reply to Aurelian Florea from 08:28 AM:

Why in the castle subroutine in fairychess.txt include file the line unsetflag #RPOS; is commented?

I suppose it could be uncommented if you wanted to be thorough, but it isn't necessary to prevent illegal castling. Once the King has moved, the space it moves from and the space it moves to both get unflagged, and every space the King moves to gets unflagged. So, no matter what, the King is still unable to castle. As long as the King can't castle, nothing can castle with the King. So, leaving a flag on the Rook's original space doesn't change anything critical to the game.


Aurelian Florea wrote on Mon, Jul 12, 2021 08:28 AM UTC in reply to Fergus Duniho from Thu Jul 8 08:36 PM:

@Fergus,

Why in the castle subroutine in fairychess.txt include file the line unsetflag #RPOS; is commented?


🕸Fergus Duniho wrote on Thu, Jul 8, 2021 08:36 PM UTC in reply to Aurelian Florea from 08:28 AM:

I think I accidentally deleted a comment while deleting some test comments.

1.The castling moves are not shown although they work.

The code for this goes in the stalemated subroutine, and here is what you have in that subroutine:

// Castling code removed, since Apothecary Chess does not include castling.

So you need to add some code for it there. You can probably borrow some from the one in the fairychess include file. I'm not sure if it will require any modification. Try it without modification first and see how it works.


🕸Fergus Duniho wrote on Thu, Jul 8, 2021 04:32 PM UTC in reply to Aurelian Florea from 08:28 AM:
  1. The long cannon castle is not done entirely although the king moves correctly.

You don't seem to be unflagging spaces properly. I confirmed that you left the Rook's space unflagged by moving the Rook back after moving it and then castling with it. When the Rook's space remains flagged, you will not be able to castle with the Cannon. You should do as I do in Chess, which is to unflag every space moved to or from. The code used in Chess is

unsetflag $origin $dest;

🕸Fergus Duniho wrote on Thu, Jul 8, 2021 02:03 PM UTC in reply to Aurelian Florea from 08:28 AM:

Test. I keep getting the error message, "There is no comment to post."


Aurelian Florea wrote on Thu, Jul 8, 2021 01:20 PM UTC in reply to Fergus Duniho from 12:18 PM:

I have repeated all my tests. The same two problems appear.


🕸Fergus Duniho wrote on Thu, Jul 8, 2021 12:18 PM UTC in reply to Aurelian Florea from 08:28 AM:

set wcastle d1 c1 j1 k1; set bcastle d12 c12 j12 k12;

From these, I gather that the King lies somewhere between d and j.

setflag a1 b1 k1 l1; setflag a12 b12 k12 l12;

But here, nothing is flagged between d and j. Make sure to flag every single piece that can castle, including the King.


🕸Fergus Duniho wrote on Thu, Jul 8, 2021 11:49 AM UTC in reply to Aurelian Florea from 08:28 AM:

Can you give me a link to the preset you're working on?


Aurelian Florea wrote on Thu, Jul 8, 2021 08:28 AM UTC:

@Fergus, Now I am trying to make the castling work.

The king is supposed to be able to castle with a rook by moving 3 spaces towards it or with a cannon by moving 4 spaces towards it, Usual conditions apply. I have used the following flags and variables:

set wcastle d1 c1 j1 k1; set bcastle d12 c12 j12 k12; setflag a1 b1 k1 l1; setflag a12 b12 k12 l12;

I have 2 problems. 1.The castling moves are not shown although they work. 2. The long cannon castle is not done entirely although the king moves correctly.


Aurelian Florea wrote on Thu, Jul 8, 2021 07:46 AM UTC:

@Fergus,

Brilliant, it works and I understood them well enough to be able to make even other pieces.


🕸Fergus Duniho wrote on Wed, Jul 7, 2021 11:50 PM UTC in reply to Aurelian Florea from 06:43 AM:
Since the Tiger has an extra challenge, I thought I would try it too. The following code has been tested to work on an empty 16x16 board and with various positions blocked. def Tiger checkride #ts #1 1 1 and checkride #0 #ts 1 0 and empty #ts =ts where #0 * 3 * sign #fd == abs #rd #n * 3 * sign #rd == abs #fd #n and == #n min abs #fd abs #rd =fd - file #1 file #0 =rd - rank #1 rank #0 =n - #d 3 and > #d 3 or and checkride #0 #1 1 0 <= #d 3 =d distance #0 #1 or fn Elephant #0 #1; The challenge was in figuring out how to avoid checking two different Bishop moves. This meant figuring out the precise value for ts instead of testing two possible values for it. Within each quadrant, each possible destination could be defined as a variation on either (n, n+3) or (n+3, n). The variations would include -n or -(n+3). To get the precise value for ts, I had to identify the quadrant and which form the destination had. I could identify the quadrant through the sign of fd and rd, and I could identify the form by checking whether rd or fd had an absolute value equal to n.

🕸Fergus Duniho wrote on Wed, Jul 7, 2021 08:38 PM UTC in reply to Fergus Duniho from 06:12 PM:
This also works: def Lyon checkride #ts #1 0 1 and checkride #0 #ts 1 1 and empty #ts =ts where #0 * 2 sign #fd * 2 sign #rd and == 2 min abs #fd abs #rd =fd - file #1 file #0 =rd - rank #1 rank #0 or and checkride #0 #1 1 1 <= distance #0 #1 2 or fn Dabbabah #0 #1; There are two main changes. Instead of "and match 2 abs #fd abs #rd", it now has "and == 2 min abs #fd abs #rd". Besides checking that one value is equal to 2, it also confirms that the other value is greater than or equal to 2. This rules out spaces that could be reached by a Knight's leap. This change allows the Rook move to be checked with a single checkride instead of two different checkarides with calculated values. In the tests I ran, it gave the same results as the previous Lyon function.

🕸Fergus Duniho wrote on Wed, Jul 7, 2021 06:12 PM UTC in reply to Aurelian Florea from 06:43 AM:

Since Markdown altered your code by removing the multiplication operators, and HTML interprets the less than sign as the beginning of a tag, I am responding in Text. Here is your code for the Lyon: def Lyon fn (checkride #0 #1 1 0 and empty #0) where #0 * 2 sign - file #1 file #0 * 2 sign - rank #1 rank #0 #1 and not fn Knight #0 #1 or and checkride #0 #1 1 1 <= distance #0 #1 2 or fn Dabbabah #0 #1; To rule out regular Rook moves, this should fix it. This produced the correct pattern on an empty 8x8 board with e4 as the origin and also when I blocked the diagonal move at f5. def Lyon checkaride #ts #1 0 sign #rd or checkaride #ts #1 sign #fd 0 and checkride #0 #ts 1 1 and empty #ts =ts where #0 * 2 sign #fd * 2 sign #rd and match 2 abs #fd abs #rd =fd - file #1 file #0 =rd - rank #1 rank #0 or and checkride #0 #1 1 1 <= distance #0 #1 2 or fn Dabbabah #0 #1; Instead of using a lambda function, this assigns values to variables that get reused. These are rd for rank distance, fd for file distance, and ts for turning space. After calculating fd and rd, it makes sure that one of them has an absolute value of 2. It then uses them to calculate ts. After checking that ts is empty, it checks that a diagonal move from #0 to #ts is legal, and it then uses the value of fd or rd with checkaride for checking a Rook move in a specific direction from #ts to #1. It first checks for a Rook move along the file of ts. If that returns false, it then checks for a Rook move along the rank of ts. When I tried checkride #ts 1 1 0, it gave inaccurate results. The following code gave the right results on an empty board, but it gave false positives when I blocked it on f5. def Lyon fn (checkride #0 #1 1 0 and empty #0) where #0 * 2 sign - file #1 file #0 * 2 sign - rank #1 rank #0 #1 and not fn Knight #0 #1 and not checkride #0 #1 1 0 or and checkride #0 #1 1 1 <= distance #0 #1 2 or fn Dabbabah #0 #1; I will let you figure out how to fix the Tiger, since you should have more of a clue now.


Aurelian Florea wrote on Wed, Jul 7, 2021 06:43 AM UTC:

@Fergus

I am trying to write the game code for 2 new pieces I want for my newest chess variants. The first, a bent rider, called the lion should move like a bishop for 2 squares and then towards outside like a rook. It may also move like a dabbabah. I have written the code bellow that has the problem that allows the final rook moves without checking for the first bishop part of the move. Please take a look:

def Lyon

fn (checkride #0 #1 1 0 and empty #0)

where #0 2 sign - file #1 file #0 2 sign - rank #1 rank #0 #1

and not fn Knight #0 #1

or and checkride #0 #1 1 1 <= distance #0 #1 2

or fn Dabbabah #0 #1;

The second, it is also a bent rider, called the tiger should move like a rook for 3 squares and then towards outside like a bishop. It may also move like an alfil. In the same way as before the bishop moves are allowed by my code whitout checking the rook ride. Code so far:

def Tiger

fn (checkride #0 #1 1 1 and empty #0)

where #0 0 * 3 sign - rank #1 rank #0 #1

or fn (checkride #0 #1 1 1 and empty #0)

where #0 * 3 sign - file #1 file #0 0 #1

and not fn Knight #0 #1

or and checkride #0 #1 1 0 <= distance #0 #1 3

or fn Elephant #0 #1;

I could not find code that block the ride in the first part.


What is the ct table?[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Fri, Jul 2, 2021 01:50 PM UTC in reply to Ben Reiniger from 01:21 AM:

Okay, I dropped it.


Ben Reiniger wrote on Fri, Jul 2, 2021 01:21 AM UTC in reply to Fergus Duniho from Wed Jun 30 05:35 PM:

That's probably fine, yes.


Migrating link pages to database[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Thu, Jul 1, 2021 02:17 AM UTC:

I have begun migrating our early link pages to the database. This provides the following advantages:

  • It makes broken links easier to fix.
  • It makes link pages easier to edit.
  • It gives link pages a more uniform URL.
  • It gives me the opportunity to find broken links and fix them, or to delete link pages that are no longer useful.
  • Having all links in the database will make it easier to write and deploy a site-wide link checker.

As I migrate old link pages to the database, I am adding the old url and the new itemid to a table called RelocatedPages. This table will be used by the 404 script to point visitors toward the new link pages. It may also be used for any other HTML pages we eventually migrate to the database. But for now, I'm making link pages the first priority.


What is the ct table?[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Jun 30, 2021 05:35 PM UTC in reply to Ben Reiniger from 02:12 PM:

It can be deleted then?


Ben Reiniger wrote on Wed, Jun 30, 2021 02:12 PM UTC:

It looks like the Game Courier play-counts, but I'm not sure how it got there.

I build such a table in the ad hoc reporting page, but I don't write it back to the database. I could have created it at some point in developing the script? (The script's last change was in Dec 2018.)


🕸Fergus Duniho wrote on Wed, Jun 30, 2021 01:25 PM UTC:

The database has a table called ct. Its two columns are Game and Count. What is this for?


Apothecary Chess Tournament[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Jun 30, 2021 01:08 AM UTC in reply to Aurelian Florea from Sun Jun 27 05:48 PM:

It's name is that: "Apothecary Chess Tournament 1st Edition" . But I do not know it's ID!

I believe that's also its id, though you have to enter plus signs for the spaces. I corrected the link placed in the Related Pages menu. It was missing the play directory, because it was originally on the play subdomain. If you check the "This Tournament" link in the menu, it should now list the games in the tournament.


The new editcomment.php script[Subject Thread] [Add Response]
Ben Reiniger wrote on Tue, Jun 29, 2021 12:09 AM UTC:

Is there any appetite for supporting markdown for member submitted pages? (I've caught myself trying to enter markdown already...)


Apothecary Chess Tournament[Subject Thread] [Add Response]
Aurelian Florea wrote on Sun, Jun 27, 2021 05:48 PM UTC in reply to Fergus Duniho from 04:56 PM:

It's name is that: "Apothecary Chess Tournament 1st Edition" . But I do not know it's ID!


🕸Fergus Duniho wrote on Sun, Jun 27, 2021 04:56 PM UTC in reply to Aurelian Florea from 08:58 AM:

I cannot find the matches in the Apothecary Chess Tournament 1st Edition anymore.

What is the tournament id?


Aurelian Florea wrote on Sun, Jun 27, 2021 08:58 AM UTC:

@Fergus: I cannot find the matches in the Apothecary Chess Tournament 1st Edition anymore.


Chess, Math, & Science[Subject Thread] [Add Response]
Aurelian Florea wrote on Fri, Jun 25, 2021 04:09 PM UTC in reply to Ben Reiniger from 03:27 PM:

@Ben, Good one!... I have posted a while ago something about infinite chess an I was wondering even back then about of such a topic.


Ben Reiniger wrote on Fri, Jun 25, 2021 03:27 PM UTC:

I'm starting this subject thread for broad submissions of mathematical or scientific subjects that involve chess.

To kick it off, 3D chess is Turing Complete.


The birth of 3 new variants - part 1 : Grand Apothecary Chess Alert[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Jun 22, 2021 02:01 PM UTC in reply to Aurelian Florea from Fri Jun 4 01:33 PM:

According to the comments preceding the castle subroutine, you need to flag the spaces of pieces that may legally castle. The subroutine does not care what the pieces are. If you flag both the rook and the cannon, it will, once other conditions pertain, initially allow castling with the rook, but if the rook moves out of the way, it will allow castling with the cannon.


Aurelian Florea wrote on Tue, Jun 22, 2021 06:05 AM UTC in reply to Fergus Duniho from Mon Jun 21 11:04 PM:

I don't understand your question, Fergus. I think I have explained it above.


🕸Fergus Duniho wrote on Mon, Jun 21, 2021 11:04 PM UTC in reply to Aurelian Florea from Fri Jun 4 01:33 PM:

A third thing if I may ask in these game the king may castle in 2 ways with the rook that starts near the corner of the board or with the corner cannon. Omega chess implements a castle move with a non corner piece. Can I combine this with the regular castling subroutine in order to easily make my castle subroutine work?

What castling rule do you want it to work for?


🕸Fergus Duniho wrote on Mon, Jun 21, 2021 10:53 PM UTC in reply to Aurelian Florea from Sat Jun 19 04:00 PM:

Could you find the time to also solve for berolina pawns the problem that regular pawns used to have in fairychess.txt

Okay, I've done that.


Aurelian Florea wrote on Sat, Jun 19, 2021 04:00 PM UTC in reply to Fergus Duniho from Wed Jun 16 06:47 PM:

@Fergus,

Could you find the time to also solve for berolina pawns the problem that regular pawns used to have in fairychess.txt


Improving Typography[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Thu, Jun 17, 2021 10:13 PM UTC:

I want to thank those who gave feedback. I was trying to solve specific problems, and feedback helped me learn that solutions I found acceptable were not acceptable to others, which prompted me to find other solutions that worked better.


The birth of 3 new variants - part 1 : Grand Apothecary Chess Alert[Subject Thread] [Add Response]
Aurelian Florea wrote on Wed, Jun 16, 2021 06:54 PM UTC in reply to Fergus Duniho from 06:47 PM:

Thank you!


🕸Fergus Duniho wrote on Wed, Jun 16, 2021 06:47 PM UTC in reply to Aurelian Florea from 04:30 PM:

I can't figure it why but I have a green background and a blue highlight.

At some point, I started using highlight color instead. I included this in the form players could use to customize the appearance of a game, but I neglected to add it to the Edit form used by game designers. I have now added it in.


Aurelian Florea wrote on Wed, Jun 16, 2021 04:30 PM UTC in reply to Fergus Duniho from 03:14 PM:

I can't figure it why but I have a green background and a blue highlight. Look here, please:

https://www.chessvariants.com/play/pbm/play.php?game=Grand+Apothecary+Chess+1&settings=Default


🕸Fergus Duniho wrote on Wed, Jun 16, 2021 03:14 PM UTC in reply to Aurelian Florea from Thu Jun 3 04:29 AM:

Fergus, What about the ability of changing the blue color of the highlighting when showing possible moves.

It uses the border color to highlight possible moves.


Aurelian Florea wrote on Wed, Jun 16, 2021 11:44 AM UTC:

@Fergus, Hello,

I had asked 3 questions on this thread 2 weeks ago. It seems that you have missed them. Can you find time to take a look?


2.Manticore and 2. Griffin ?[Subject Thread] [Add Response]
Aurelian Florea wrote on Sat, Jun 12, 2021 12:30 PM UTC:

I was thinking at bent riders that take 2 steps and then bend and keep going to that direction. This would be called very plastically Rook2 then bishop and Bishop2 then Rook. Would 2.Manticore and 2.Griffon be good names for them?


100 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.