Check out Alice Chess, our featured variant for June, 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 ]

Comments/Ratings for a Single Item

EarliestEarlier Reverse Order LaterLatest
Play-test applet for chess variants. Applet you can play your own variant against.[All Comments] [Add Comment or Rating]
Bob Greenwade wrote on Mon, Oct 9, 2023 08:27 PM UTC:

I poked around for a bit on the new version of the applet a bit this morning. I think this is pretty close to ready. I'd love to have things like saving a setup as a file locally and reloading it later (so I don't necessarily have to do these large, complex ones like Short Sliders in a single sitting) or being able to reorder the pieces (so that, again referencing Short Sliders, all of the starting pieces are together, then all of the first-promotion pieces, then the second-promotion), but those things can wait for some future release.


adella hardy wrote on Thu, Oct 12, 2023 09:47 PM UTC in reply to H. G. Muller from Sun Oct 1 05:44 AM:

Dear respected Mr.muller,

How to express the 4th item of a row, but non-crossable? and how about 5, 6, 7, 8, 9, items, non-crossable? Thank you very much.


Gerd Degens wrote on Sun, Oct 15, 2023 08:54 AM UTC in reply to adella hardy from Thu Oct 12 09:47 PM:

@H.G.:
When I want to use the 'Paste an existing diagram' function in your 'Play-test applet', I often get the error message 'Cannot make a diagram with 0 pieces on an 8x8 board!'. I have tried this with the interactive diagrams for my variants 'Conquer', 'Borderline', Bull's eye' and 'Avatar Chess' - always with the same result.
Is there a simple way to avoid this or does it require programming skills (which I don't have)?


💡📝H. G. Muller wrote on Sun, Oct 15, 2023 09:05 AM UTC in reply to Gerd Degens from 08:54 AM:

I typically get this when I try to copy-paste the Diagram definition from the Page Source of another page. Apparently copying from such a page is not 'clean', but puts a lot of invisible HTML tags on the clipboard as well, which might or might not be included depending on where you paste it. Apparently it is included when you paste it into a HTML context, (such as the Play-Test Applet's page), and the Diagram parser than chokes on it.

A solution I found for this is first copying the Diagram definition into NotePad, then select and copy it again from there, and finally paste it into the Play-Test Applet.

If I would know what kind of unwanted stuff comes with a copy from a Page Source, I could make the Diagram's parser ignore it. But it is not so easy to figure this out, as an attempt to directly display on a HTML page what was pasted would probably makes this extra stuff as invisible as it is on the Page Source. So I never got to doing that.


Gerd Degens wrote on Tue, Oct 17, 2023 03:16 PM UTC in reply to Gerd Degens from Sun Oct 15 08:54 AM:

@H.G.
Could you kindly help me:

I have been trying to get my variant 'Conquer' onto Game Courier for some time.

The function 'Paste an existing diagram:' in your 'Play-test applet for chess variants' can't be realized via the indirect way of 'Notepad' - thanks for the tip, would have been nice if!

I have the impression that the variant brings a slightly different speed to the already existing variants.

If I am not wrong I would be glad if you could point out the way to Game Courier. Thank you very much.


🕸Fergus Duniho wrote on Tue, Oct 17, 2023 03:34 PM UTC in reply to Gerd Degens from 03:16 PM:

The function 'Paste an existing diagram:' in your 'Play-test applet for chess variants' can't be realized via the indirect way of 'Notepad' - thanks for the tip, would have been nice if!

It's not clear what you're saying or what you're trying to do.

If I am not wrong I would be glad if you could point out the way to Game Courier. Thank you very much.

Game Courier is at this link.


Carlos Cetina wrote on Thu, Oct 19, 2023 01:30 PM UTC:

@HG:

It seems that there is a bug in the Coherent Chess preset (which was edited using the Play-test applet), since upon reaching the position shown in the following diagram the software declares checkmate after 11... Sh7+, it being evident that White can block the check with either 12.Bh5, 12.Qh6, 12.Qg3 or 12.Qf2.

This critical position can be accessed by following these movements:

1.Gfg3    Ggg7
2.Gdc3   Qh7
3.G2h3   Qxe4
4.Gf3      Qg6
5.Gi4      Qxg1
6.Qxg1   Sc7
7.Ge4      Sxi4
8.G2d3   Bh4
9.Bc5       Bxf2+
10.Qxf2   Gfe7
11.Qe3     Sh7+

Could you please take a look at this? Thanks in advance!


adella wrote on Fri, Oct 20, 2023 08:05 AM UTC in reply to H. G. Muller from Sun Oct 15 09:05 AM:

Respected Mr. muller,

Question: How to express Non-crossable board positions such as D, H, WX, DX, HX, WXX, etc.?

Huge benefits with non-crossable board positions. could create thousands of fun chess variants, suitable for brain exercise mental computation.

Thank you so much!


💡📝H. G. Muller wrote on Fri, Oct 20, 2023 06:00 PM UTC in reply to Carlos Cetina from Thu Oct 19 01:30 PM:

It seems I need @Fergus for this.

The loop in the move generator of the betza.txt include file for generating slider moves looks like this:

      set k 1;
      do while < #k #r and not #hit: // for non-final (and thus empty) squares
        set to elem dec #k #tosqrs;
        if #togo:
          set newindex + 4 #legindex;     // another leg follows
          gosub NextLeg #togo #newindex #startsqr #to #locustsqr #dropsqr #k;
        else:
          gosub GotMove #startsqr #to #locustsqr #dropsqr 0 0;
        endif;
        if & << 1 23 #mode:
          push eps #to;
        endif;
        inc k;
if == 4 #task:
print . L_ #hit;
endif;
      loop;

where #tosqrs is an array of all the empty squares on the slider path. The variable #hit, initialized to false, serves for flagging if the sought move (e.g. the entered one, a legal one or capture of a royal) has been found, so that move generation should be aborted.

In the mate test (where #task equals 4) for the position given by Carlos below, the move Qe3-h6 is correctly found to be a legal one, which sets #hit, as is confirmed by the printing of L_1 by the print statement I inserted for debugging. As far as I understand this should have terminated the do-while loop, as not #hit is then no longer true. But the loop happily continues with the move Qe3-i7 (the next empty square in that direction), and subsequently generates all other pseudo-legal moves for the position. The last one being illegal because it does not evade the Sissa check, so that the verdict 'checkmate' results.

What is going on here that makes the loop continue?


💡📝H. G. Muller wrote on Fri, Oct 20, 2023 06:25 PM UTC in reply to Gerd Degens from Tue Oct 17 03:16 PM:

The function 'Paste an existing diagram:' in your 'Play-test applet for chess variants' can't be realized via the indirect way of 'Notepad' - thanks for the tip, would have been nice if!

Well, it works for me, also when copying the ID in the Conquer article through NotePad into the Play-Test Applet. Are you sure you did not try to copy any of the enclosing HTML tags together with it?

This is a moot point, however, since the GAME code generated would not work as desired. Conquer is not a variant that is supported by the standard functionality of the Diagram. It needed custom scripting to alter the generated capture moves such that they would place a color-reversed version of the victim on the square of origin. The XBetza notation does support 'unloading' the captured piece there with the aid of the u modifier, but there is no provision for flipping its color. So additional JavaScript embedded in the page was needed for that, and this cannot be converted to GAME code by the Applet (even if it would have been pasted into it, which it is not).

I suppose we could decide to make uu mean color-flipped unload in XBetza. But that would then have to be implemented in the ID, as well as in the GAME-code include file. It is unlikely this will be done any time soon.

I don't think it would be possible to implement the function performed by the additional JavaScript in the generated GAME code by post-editing the latter.


🕸Fergus Duniho wrote on Fri, Oct 20, 2023 07:52 PM UTC in reply to H. G. Muller from 06:00 PM:

I set up a simple loop similar to your own to see if I encountered the same problem:

set k 1;
set r 5;
set hit false;
do while < #k #r and not #hit:
  echo #k #r #hit;
  dec r;
  set hit true;
loop;

This looped only once. I changed what hit is set to to "e1" and got the same result. So, the problem does not seem to be with the logic of the looping condition. Has any of the subroutines you called changed the value of k or r?


💡📝H. G. Muller wrote on Fri, Oct 20, 2023 08:49 PM UTC in reply to Fergus Duniho from 07:52 PM:

Has any of the subroutines you called changed the value of k or r?

Thanks for the suggestion, printing #k and #r as wel as #hit solved it. Not that these were changed, but #r was one less than I had expected, because the loop was not supposed to go over the entire slider path, but only over the 'internal' squares (which are always empty). And it left the final step to code after it (that also has to test the occupant to determine whether the move would be valid). That it continued with Qe3-i7 was thus the fault of this other code, and not of an extra loop iteration, as i7 was the last square on the ray. This code should have tested whether #hit was set in the loop as well.

The problem of the false mate claim should be solved now; instead of testing #hit in the condition for the do-while loop, I put a

verify not #hit;

at the end of this loop. This aborts the subroutine immediately when #hit gets set in the loop, thus also suppressing the code after the loop.

 


Carlos Cetina wrote on Fri, Oct 20, 2023 11:01 PM UTC:

I have confirmed that the problem has been resolved. Thank you very much HG and Fergus.


Carlos Cetina wrote on Sat, Oct 21, 2023 06:20 PM UTC:

@HG:

I'm sorry. Bothering you again. In the Symmetric Sissa preset (which was edited using the Play-test applet) the software does not properly declare checkmate for either side (white or blue); instead it warns on a new page:

Please report any bugs or errors to H.G. Muller

blue wins

Use your browser's BACK button to go back to the previous page, then reload if necessary.

For general reference, here is the complete list of moves:

1. P h2-h3
1...n h8-i6
2. A g1-h2
2...n i6-h8
3. A h2-c7

If this is your settings file, you may edit it at https://www.chessvariants.com/play/pbm/play.php?game=Symmetric+Sissa&settings=9x8-enforced&submit=Edit

Apart from this problem, the preset works perfectly fine. I don't think I made any mistakes when applying the Play-test applet.


💡📝H. G. Muller wrote on Sat, Oct 21, 2023 06:37 PM UTC in reply to Carlos Cetina from 06:20 PM:

Argh! I left in a 'die' statement that I had added for debugging, to make sure it would show the page with all the stuff I had it print when it thought it had a checkmate, rather than just terminating the game. I forgot to remove that after the problem was fixed.

I removed it now, so things should work again.


Carlos Cetina wrote on Sat, Oct 21, 2023 06:56 PM UTC:

Indeed it works fine again. Thanks!


Gerd Degens wrote on Sun, Oct 22, 2023 03:40 PM UTC in reply to H. G. Muller from Fri Oct 20 06:25 PM:

I suppose we could decide to make uu mean color-flipped unload in XBetza. But that would then have to be implemented in the ID, as well as in the GAME-code include file. It is unlikely this will be done any time soon.

I don't think it would be possible to implement the function performed by the additional JavaScript in the generated GAME code by post-editing the latter.

I think it's a pity that a however 'new' structure (Conquer) can't be played on Game Curier.

Of course, everything can be realized if the special programming skills exist. But they do not in my case.

Then so it shall be. Too bad.


Bob Greenwade wrote on Sun, Oct 22, 2023 03:55 PM UTC in reply to Gerd Degens from 03:40 PM:

I suppose we could decide to make uu mean color-flipped unload in XBetza. But that would then have to be implemented in the ID, as well as in the GAME-code include file. It is unlikely this will be done any time soon.

FWIW, I support this idea in general (I've seen more than one case where this is done), though I certainly agree that there are more important priorities right now.


💡📝H. G. Muller wrote on Sun, Oct 22, 2023 05:17 PM UTC in reply to Gerd Degens from 03:40 PM:

Well, people without programming skills have been making Game Courier presets for their variants for ages. By making a preset that does not check the rules, but leave that to the players.


Bob Greenwade wrote on Sat, Nov 18, 2023 03:59 PM UTC:

I've been setting about making an ID for Short Sliders using the new (WIP) version of the applet, and running into some roadblocks. Alot of it, I think, is my lack of understanding, though some may be weaknesses in the system. (And some of it pertains more to information on the Interactive Diagrams page; I'm just putting everyting here.)

  1. Are morph variables limited to one character? When I set (for example) the Jackal's promotion to the Bongo, the system changes the Bo to B. (replaces the o with a period). I'd really rather not have to rework all the symbols.
  2. After a long period of selecting all the pieces, I saved the setup to come back and build the Capture Matrix later. It won't let me do that! I can load it, but I can't do anything with the Capture Matrix. (I'd build the Capture Matrix manually, but there's no demonstration of what that should look like.)
  3. Possibly more something for Fergus: Using the Showpiece tool, some of the pieces don't recolor for black, none of the compound images render, and (oddest of all) the Hospitaller comes up as a blank.
  4. Not really a problem, but in the end does it matter what order the pieces are (discounting Pawns at the beginning and Royals at the end)? I'm trying to arrange the pieces into something more intuitive to the game (Starters, then First Promotions, then Second Promotions), and so far it hasn't complained.

I'll wait for another time for things like limitations on promotions to Thaumaturge, Pawn selections between Starters and First Promotions, and complicated stuff like that.


💡📝H. G. Muller wrote on Sun, Nov 19, 2023 12:32 PM UTC in reply to Bob Greenwade from Sat Nov 18 03:59 PM:

Are morph variables limited to one character?

Currently they are. But it is my intention to allow comma separation of multi-character piece IDs. In that case, if a row of the matrix contains a comma, it would split the row by comma, and take the n-th string of the split rather than the n-th character of the row as the piece ID.

After a long period of selecting all the pieces, I saved the setup to come back and build the Capture Matrix later. It won't let me do that! I can load it, but I can't do anything with the Capture Matrix. (I'd build the Capture Matrix manually, but there's no demonstration of what that should look like.)

I suppose you are referring to the submission page with a provision for diagrams? I have not really considered what would be needed to edit an existing submission that contains a Diagram. I suppose this would be hard, as the final product of this is the HTML code for the diagram in the Setup section. I suppose I could peel that out (in case other text was added to that section), and treat it like it was pasted in the Play-Test Applet. This would limit the piece table to the pieces in the diagram, though, so you could not add additional pieces. So it would not provide full editing capability.

Anyway, the captureMatrix is not hard to add manually. Basically you just write all rows separated by slashes. There are many shortcuts for saving on typing, (which are not used by the applet on the submission page that generates it), all explained in the Interactive Diagrams article.

Not really a problem, but in the end does it matter what order the pieces are (discounting Pawns at the beginning and Royals at the end)?

The Diagram's AI searches captures sorted by value of the victim (high to low), and then in ascending table order of the attacker. Since it is usually most best to capture with the least-valuable piece (e.g. imagine a protected Rook attacked by a Knight and a Queen), it would slow down the search if the table order differs significantly from low value to high value. But in the end it would find the same move (unless two moves really have exactly the same score).


Bob Greenwade wrote on Sun, Nov 19, 2023 04:19 PM UTC in reply to H. G. Muller from 12:32 PM:

I suppose you are referring to the submission page with a provision for diagrams? I have not really considered what would be needed to edit an existing submission that contains a Diagram. I suppose this would be hard, as the final product of this is the HTML code for the diagram in the Setup section. I suppose I could peel that out (in case other text was added to that section), and treat it like it was pasted in the Play-Test Applet. This would limit the piece table to the pieces in the diagram, though, so you could not add additional pieces. So it would not provide full editing capability.

Actually, no; I was referring to pasting a diagram's definitions on the new-version Applet page, and then editing it to include a Capture Matrix.I have all the pieces in place, so that's not an issue.

As to writing out the captureMatrix manually, I'll give it a shot. (The explanation in the article is OK, but I'd prefer an example so I can feel confident in getting it right.) Because of the single-letter issue, I'll write it out with the comma-delimited feature you mentioned and wait for you to implement that before giving Short Sliders its Diagram.


Bob Greenwade wrote on Fri, Nov 24, 2023 07:11 PM UTC in reply to H. G. Muller from Sun Nov 19 12:32 PM:

I suppose you are referring to the submission page with a provision for diagrams?

Wouldn't you know, but that I've lost track of the link to that.


💡📝H. G. Muller wrote on Fri, Nov 24, 2023 07:35 PM UTC in reply to Bob Greenwade from 07:11 PM:

http://chessvariants.com/index/hgmsubmission.php


Bob Greenwade wrote on Fri, Nov 24, 2023 07:38 PM UTC in reply to H. G. Muller from 07:35 PM:

Thanks yet again! :)


25 comments displayed

EarliestEarlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.