Check out Symmetric Chess, our featured variant for March, 2024.


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

Comments/Ratings for a Single Item

Earlier Reverse Order LaterLatest
Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
💡📝Greg Strong wrote on Sat, Jan 19, 2019 12:09 AM UTC:

Next Game Courier tournament announced.  Let me know what you think.

Please let other members know who might be interested but may not be actively watching the site if you are in communication with them.


Aurelian Florea wrote on Sat, Jan 19, 2019 02:19 PM UTC:

Think about what ?


💡📝Greg Strong wrote on Sat, Jan 19, 2019 02:42 PM UTC:

Anything.  I am trying to measure how much interest there is.


Carlos Cetina wrote on Sat, Jan 19, 2019 05:04 PM UTC:

Hello Greg.

Please sign me in at the event. Certainly Symmetric Chess is the variant that I would propose as my favorite.

Thanks for the organization!


Aurelian Florea wrote on Sat, Jan 19, 2019 06:46 PM UTC:

I'd play but I was thinking about choosing just a few games and have 3-4  separate tournaments of some of those games. Not that my  way is better :(!


A. M. DeWitt wrote on Sat, Jan 19, 2019 08:09 PM UTC:

I would love to be a part of this event. My favorite variants that are currently on the list are (in no particular order) Sac Chess, Colossus, Opulent Chess, Gross Chess, and Hectochess. Also, on a side note, I tend to not favor games that are not much like chess, escpecially if their rules are complicated like they are in Decima or if their presets don't contain full rule enforcement.


💡📝Greg Strong wrote on Sat, Jan 19, 2019 10:34 PM UTC:

Participants confirmed so far:

Greg Strong
Adam DeWitt
Carlos Cetina
Aurelian Florea


Aurelian Florea wrote on Sun, Jan 20, 2019 08:53 AM UTC:

An important thing would be to have only enforcing displaying presets.

 


💡📝Greg Strong wrote on Sun, Jan 20, 2019 04:38 PM UTC:

We don't know which games will be included yet.  I do not want to exclude games that do not have a rule-enforcing preset at this time.  If games are picked that do not have them yet, I will see if one can be made.

 


💡📝Greg Strong wrote on Thu, Jan 24, 2019 02:02 PM UTC:

Thank you to those who have expressed interest, but the tournament is cancelled due to lack of interest.

I may try again in a few months to see if there is more interest.


Carlos Cetina wrote on Thu, Jan 24, 2019 03:19 PM UTC:

OK. No problem. Thanks.


Aurelian Florea wrote on Thu, Jan 24, 2019 05:03 PM UTC:

It's ok, not your fault Greg. I would have liked it though :)!


John Davis wrote on Thu, Jan 24, 2019 07:13 PM UTC:

I'm sorry to hear that, I'm always willing to be cannon fodder ;-).

But seriously, the last tournament gave me an idea of who plays at my level.

I was surprised that Shako or Metamachy wasn't picked for Cazaux's game since those are the ones on Jocly and in his book. And I realize that my game/games are not suitable for tournament play since mine purposely don't have rules enforcement, so they can be played with different rules.


🕸Fergus Duniho wrote on Thu, Jan 24, 2019 09:03 PM UTC:

Isn't it too early to cancel the tournament from a lack of interest? I haven't even seen a call to sign up for it yet. At present, I have just been waiting for the final lineup of games to take shape.


💡📝Greg Strong wrote on Thu, Jan 24, 2019 11:27 PM UTC:

Ok, certainly willing to wait as it seems there is more interest, and perhaps I wasn't sufficiently clear.  Anyone who is interested in playing, please post.  This is not an absolute commitment since I can't really stop anyone from changing their mind.  Also, as mentioned on the game page, there will be a verification email sent out to everyone before the tournament starts to make sure all participants are still interested, still available, aware the tournament is actually starting, etc.

Regarding game selection, waiting for the game list before throwing your hat in the ring creates a chicken-and-egg problem.  My plan is to have the would-be participants vote on the games from the list.  If someone is really unhappy with the results, they could always drop out.  As for changes to the list before voting, that is possible but there hasn't been much feedback until John's comment, which I will now address...

Regarding Cazaux's game, I skipped Shako because it had already been featured in a Game Courier tournament and I was giving preference to games that have not.  That said, if people want it changed, that's fine with me.  Metamachy doesn't appear to have a preset, rule-enforcing or otherwise, but it looks like a good game.  I should make at least a simple preset.  Final note on this, if Jean-Louis Cazaux himself weights in, he has the ultimate say on which of his games is used.

And, John, we can certainly add a game of yours.  I know I like Grand Betza, and there is an unpublished preset for it.  I can publish it if you like.  I know you have at least one other game, but if I've seen it I don't recall. As I've mentioned, rule-enforcement is NOT strictly necessary, but I will try to rule-enable any games we select if not too difficult.  Grand Betza would not be a problem except the Rhino might be a little tricky.


🕸Fergus Duniho wrote on Fri, Jan 25, 2019 12:26 AM UTC:

I'm interested. I was also thinking about going with Metamachy instead of Perfect 12. It seems to be a more recent evolution of Perfect 12. Perfect 12 does not appear in the "Chess Variants on very large boards" section of Cazaux's website, and that section begins with the statement "I consider that these variants are now surpassed by METAMACHY." So, I expect that he favors it over Perfect 12. Although he does not list it in his Favorites section, we have already done Shako as you mentioned, and the other two were for design contests with unusual board sizes. There is already a bare preset for this game, but I could make one that enforces the rules.


wdtr2 wrote on Fri, Jan 25, 2019 12:54 AM UTC:

I am interested in the tournament also.  Adding my two cents .... What about Shako-Balbo for a possible Variant?

 

 


💡📝Greg Strong wrote on Fri, Jan 25, 2019 02:36 AM UTC:

Excellent.  Perfect 12 has been replaced with Metamachy.  Thank you both for the insight.  Although I certainly spent some significant time picking contributers and games, I knew there would be gaps.  I feel a little bad about picking representative games for other inventors, but for those that are no long active, I think it's better than just omitting them. Maybe gone, but certainly not forgotten ...

@wdtr2, yes, Shako-Balbo was already on the list.

Tentative player list:

Greg Strong
Adam DeWitt
Carlos Cetina
Aurelian Florea
Fergus Duniho
John Davis
wtdr2


Erik Lerouge wrote on Fri, Jan 25, 2019 07:55 AM UTC:

I had made a non rule-enforcing preset for Metamachy (https://www.chessvariants.com/play/pbm/play.php?game%3DMetamachy%26settings%3Dmetamachy), but I don't know how to make for it to appear in the menu and the index.


Aurelian Florea wrote on Fri, Jan 25, 2019 08:14 AM UTC:

@Greg,

As you had assumed I'm still in.

I think presets that are rules enforcing and move displaying should be mandatory mostly because otherwise how you would notice errors made by both players? There are other issues easier to spot. But these would fall on you as organizers and who else would like to help as an serious tournament should first and foremost be fair. Also I'd help with such error detection tasks but isn't that a conflict of interest?


Aurelian Florea wrote on Fri, Jan 25, 2019 08:14 AM UTC:

Also where that list of games can be found?


Omnia Nihilo wrote on Fri, Jan 25, 2019 09:13 AM UTC:

I'd be interested in joining up. And any game works for me. I don't even mind if there's no rule enforcing preset as long as the rules are available on the site or something.


Ben Reiniger wrote on Fri, Jan 25, 2019 12:51 PM UTC:

might be able to play...

Since I cannot imagine anyone actually voting to play TessChess, maybe I'll put forward Tim's 3D Chess; it's 3D, so may tempt folks to try other 3+ dim games like Tess, it's not 4D itself, and it's a little slicker IMO than Raumschach with the two kings.  I should be able to adapt my Raumschach rules-enforcing preset for this, if someone can help me figure out how the two royal pieces should be done.  [If not, maybe I'll just pick another from my Favorites or Recognized.]

@Aurelian, the list of games is on this page we're commenting on.
I think if both players miss an illegal move, then that's still "fair"; however, it sounds like there are several people ready to work on rule enforcement on presets, so hopefully this will be moot anyway.


Aurelian Florea wrote on Fri, Jan 25, 2019 03:35 PM UTC:

Ok!

I see :)!


💡📝Greg Strong wrote on Fri, Jan 25, 2019 04:04 PM UTC:

RE: Rule-enforcing presets - I just don't see this as a big issue.  Games reasonably like chess will have rule enforcement.  For more radical games, even where rule-enforcing presets can be made, the chances that those will have bugs is significant.  There have been cases where games have been played many, many times before a bug in a preset has been found, but when it is discovered, the whole game comes to a halt until the creater of the preset can fix it.  I think the chances of time getting eaten off one's clock due to a preset bug is greater than the chances of both players failing to follow the rules.

We've had several tournaments here, often without rule-enforcing presets.  The only incident I know of is a game of Rococo where there was disagreement about what the rules actually were in an unusual case (the game description wasn't 100% clear.)  Rococo is fairly popular and still doesn't have a rule-enforcing preset.  It probably never will as I bet it would be shocking difficult to write.  I would not want to see Rococo forever excluded.

Of somewhat greater concern, though, is instances of strange movement/capture where you need to actually type the moves (Odin's Rune, I'm looking at you...)  But even this is something that we have lived with for a long time.  Gifford's Dimension X was played in Game Courier Tournament #3 and every turn had to be entered manually.


Aurelian Florea wrote on Fri, Jan 25, 2019 04:13 PM UTC:

Ok, then!


Kevin Pacey wrote on Sun, Jan 27, 2019 08:41 AM UTC:

Rococo does have a rules-enforcing preset, which has been used many times. However I personally don't trust that it is currently bug-free, as I reported a log once where Francis lost a game to Carlos due to apparently not being allowed to play a legal move (Francis decided to resign at that point). Here's a link to the preset's page; note my comment (currently at the top) in the comments section, re: I reported the bug when I noticed the game that Francis had resigned, after I played over that plus other games of this variant:

https://www.chessvariants.com/play/rococo.html

Around that time I reported a lot of what I suspected were bugs with other variant's presets, too, but I'm not sure if any of my reports were acted on, including the one in the link for Rococo.


Erik Lerouge wrote on Mon, Jan 28, 2019 10:13 PM UTC:

I might be interested to participate at the tournament.

Sorry to return to that, but would it possible to have shorter time settings? I recall that the 2017 tournament took 10 (!) months. (And there were also a few games where one player just stopped to play, instead of resigning, making the others wait for a long time until the game finished.) What I would like to suggest is to set a Max time (30 days for example seems good to me) without Grace time, so we could know the day when a round is finished at the latest, and the global duration of the tournament.


🕸Fergus Duniho wrote on Tue, Jan 29, 2019 06:00 PM UTC:

Having grace time makes things fairer for people who normally move at different times. A day of grace time is good for assuring that differences in personal schedules do not cost some players more time than others. While we should do something to rein in the length of games, some games go on because of several moves. Limiting the total time of the game could unfairly hurt the player whose turn happens to run up against such a time limit. The maxtime value is used to limit the total time a player may have between turns. It does not limit the total time for the game. This could put a cap on how much extratime and bonustime could increase someone's total time. Setting this to 30 days would mean that no player could take more than 30 days between turns. I would suggest setting it to 28 days, which is twice the initial spare time. If we want to be a bit stricter, we could set it to 14 days, which matches the spare time. This would allow someone who is behind on time to gain some back by making moves, but it would not allow anyone to gain more time than the initial 14 days of sparetime.


Erik Lerouge wrote on Wed, Jan 30, 2019 06:43 PM UTC:

OK, what you propose is certainly more suited for correspondence play. I was just wondering how the duration of the tournament could be reduced.

Finally I've decided not to participate in the tournament. Good luck to all!


John Davis wrote on Thu, Feb 7, 2019 04:18 PM UTC:

Thank you Greg, the short answer is I prefer your array, Grand Betza Stong. The long answer. After my game of Chess on a Really Big Board with Georg Spengler, we both decided that the Rose was a horrible piece. Then I was mortified to find that our game is still on the Wikipedia page for CoaRBB. The Rhino is also mentioned in the article for the game and I wanted to try playing with that piece. With the Rhino being a slider, I hoped it would be less obnoxious then the Nightrider and a full major piece . I also wanted to play with the Phoenix and Kirin, and the number of pieces suggested a 10x10 board for a good piece density. This was my first attempt at an array from scratch and the Grand Betza array seems to favor white to much. If you don't wish to have your name attached to it, I'm ok, but I much prefer your array and would like to have it as the official array for a published preset under either Grand Betza or Grand Betza Strong, your choice. 


Kevin Pacey wrote on Mon, Feb 11, 2019 06:10 PM UTC:

I'm willing to play in this 2019 GC tournament. I'm happy with my Sac Chess variant invention being proposed for inclusion in the tournament.

Note that my email address is still found on my CVP personal info page; however, it's been a long time since I've been sent automated messages, e.g. reminding me whenever it is my turn to move in a game (to tell the truth, I don't miss the clutter in my email inbox that that causes).


Aurelian Florea wrote on Tue, Feb 12, 2019 12:11 PM UTC:

About the tournament containing my game I'd like to retreat it for now as I had anyway improved the rules and not completed the new preset. Is that fine guys?


Aurelian Florea wrote on Tue, Feb 12, 2019 12:20 PM UTC:

I'm stil playing that has not changed :)!


💡📝Greg Strong wrote on Sat, Feb 16, 2019 08:06 PM UTC:

Ok, I have set the Max Time to 4 weeks and removed Apothecary as requested.  It looks like we might have around 8 players.  For anyone interested in playing, please rate each of these games with a value between 0 and 4.  Use 0 for a game you really, really don't want to play and a 4 for a game you really do want to play.  There are no limits - you could rate everything a 4 if you wanted to, but doing so would not accomplish anything.  Basically I'm going to total up the points for each game.  I will try not to include any games that have been given a 0, so if two games are very close in score, I may pick the lower rated one if it received no 0 ratings while the other one did.  So please use the 0 rating sparingly as that is basically a veto (unless lots of games get zeros.)

 

InventorGame
Jose CarrilloCourier Chess Moderno
Jean-Louis CazauxMetamachy
Carlos CetinaSymmetric Chess
Charles DanielColossus
Adam DeWittHectochess
George DukeFalcon Chess
Fergus DunihoGross Chess
Gary GiffordOdin's Rune Chess
Joe JoyceGrand Shatranj D
Jorg KnappenJanus Kamil Chess
Vitya MakovMaorider Chess
H. G. MullerElven Chess
Michael NelsonDecima
Kevin PaceySac Chess
David PaulowichUnicorn Great Chess
Tony QuintanillaHeroes Hexagonal Chess (v2)
Ben ReinigerTessChess
Greg StrongOpulent Chess
wdtr2Shako_Balbo

Please send me your ratings by email: [email protected]

 


Aurelian Florea wrote on Sun, Feb 17, 2019 04:11 AM UTC:

Thanks Greg,

For me:

Courier Chess Moderno 2;

Metamachy 4;

Symetric Chess 3;

Collosus 2;

Hectochess: 3;

Falcon Chess 4;

Gross chess 4;

Odin's rune chess 1;

Grand Shatranj D 2;

Janus Kamil Chess 3;

Maorider Chess 4;

Elven Chess 3;

Decima 4;

Sac Chess 1;

Unicorn Great Chess 3;

Heroes Hexagonal chess 1;

Tess Chess 1;

Opulent chess 4;

Shako Balbo 4;


💡📝Greg Strong wrote on Sun, Feb 17, 2019 05:02 PM UTC:

Thanks.  And your rating for Hectochess?


Aurelian Florea wrote on Sun, Feb 17, 2019 05:19 PM UTC:

@Greg

I have edited my previous comment with the needed information.

Good luck!


wdtr2 wrote on Tue, Feb 26, 2019 11:17 PM UTC:

The Tournament of 2019.  Greg is there a starting date?

 

 


💡📝Greg Strong wrote on Fri, Mar 1, 2019 12:10 AM UTC:

Sorry for the delay.  I think I should be able to kick things off this weekend... Let's shoot for Sunday, March 2nd, sometime around noon or thereafter (EST).

The selection of games is complete.  I heard from almost everyone and the results were pretty consistent.  If it is the case that we don't have quite enough players and we need to give each player a BYE for a round, I will try to give each player the bye on the game he rated low (although that might be difficult to work out in practice.)  Most of these games got a low ranking from one player and high rankings from everyone else.  In only one case was one of the games selected given a zero ranking by anyone, but I included it anyway because the next game in the ranking got several points less - quite a drop-off given the distribution - and because the player who gave it a zero only gave the game that would be its replacement a one.  So, I think all-in-all everyone will be pretty happy with the game list.

There are nine games for three rounds of three (like last year.)  These are the 9 games, in no particular order:

Metamachy
Symmetric Chess
Colossus
Hectochess
Gross Chess
Sac Chess
Unicorn Great Chess
Opulent Chess
Shako_Balbo

And these are the nine people who I believe are playing.  If anyone else wants to join, you are welcome.  It would be great if we could get one more.  Otherwise, everone will have one bye round.

Aurelian Florea
Carlos Cetina
Adam DeWitt
wdtr2
Greg Strong
Fergus Duniho
Kevin Pacey
John Davis
Jarid Carlson

 

Also, we will probably have rule-enforcing presets for all games. I believe the only two that do not yet have rule-enforcement are Symmetric Chess and Metamachy (which I know Fergus is already working on.) We won't play either of those in the first round to give time for rule-enforcing presets to be made.

Thanks everyone!


Aurelian Florea wrote on Fri, Mar 1, 2019 11:51 AM UTC:

It seems to me that the shedule is a round robin. Am I correct?


💡📝Greg Strong wrote on Fri, Mar 1, 2019 01:07 PM UTC:

The goal is for everyone to play each game once and to play one game against every other player.  Since we have 9 games, 10 players would work perfectly.  If we have 9 players, then a fake player called "bye" will be in the roster.  If we have 11 players, each player will have one other player he does not complete against.  (Does this describe a "Round Robin"?  I think so but I'm not sure.)


🕸Fergus Duniho wrote on Fri, Mar 1, 2019 01:15 PM UTC:

Sunday is March 3rd.


Aurelian Florea wrote on Fri, Mar 1, 2019 01:39 PM UTC:

It does for 9 or 10 players.

ANd by the way, Fergus is correct. Sunday is march 3 :)!


💡📝Greg Strong wrote on Sat, Mar 2, 2019 02:24 PM UTC:

Fergus,

Something strange is going on with the comments at least on this page.  When you view What's New, you see everything.  When you launch the tournament page, however, you only see a few comments (which is normal) but they are not the most recent.

And yes, tomorrow, Sunday the 3rd :)


💡📝Greg Strong wrote on Sun, Mar 3, 2019 06:32 PM UTC:

Player dax00 has joined, brining us up to 10 players, the magic number.  The pairings have been posted on this page.  I will get the first round games created later today!


💡📝Greg Strong wrote on Sun, Mar 3, 2019 08:50 PM UTC:

All game for the first round have been assigned.  Good luck everyone and have fun!


🕸Fergus Duniho wrote on Mon, Mar 4, 2019 02:30 AM UTC:

When I looked over the time controls before, I didn't notice the thing about the 4 moves per week pace. I had previously modified the invitation script to not include the option of setting a pace in the time controls, but I forgot about doing the same thing in the script for defining a round. The code is kept in Game Courier for backwards compatibility with games that still use it, but I do not recommend its use. Here is how it works. I have added some extra comments to better explain things.

// As long as you keep the desired pace, your reserve time is kept from falling below $sparetime.
// $i is the turn being checked. $i & 1 returns 0 or 1 to identify the player.
if ($timeleft[$i & 1] < $sparetime) {
    // Total time that has passed from beginning of game
    $timepassed = ($timestamps[$i] - $timestamps[0]);
    // If average duration for a move is less than the set duration for a move,
    // then moves are being made faster than required,
    // and $timeleft is raised to value of $sparetime.
    // Equivalent to -> if ((($timepassed / 2) / $i) < ($paceperiod / $pacefreq)) 
    // but loses no precision and avoids division by zero error
    if ((($timepassed / 2) * $pacefreq) < ($paceperiod * $i))
        $timeleft[$i & 1] = $sparetime;
    }
}

One problem with this is that it divides the time passed by 2, which is accurate only when each player takes exactly as long to move as the other player. It would be more accurate to count up how much time each player has individually used. So, it will normally reward both players or neither player, depending on how fast the game is moving along. It does not account for individual variation in playing speed. Because it divides time passed by two, the pace it checks for is actually half as fast as the pace specified. So, if the pace is 4 moves per week, it will reward players for moving twice a week. Without knowing how it works, you might imagine that it will enforce a certain pace. It will not do that. It will just reward players for keeping a minimum pace. When combined with other time controls that already reward players for moving quickly, it may help inflate how much time players have left. With the pace set to 4 moves per week, it will be possible to play slow, leisurely games that will take many months.


Aurelian Florea wrote on Sun, Apr 28, 2019 08:17 AM UTC:

I have completed all my round 1-3 games. How are the standings and who still plays?


💡📝Greg Strong wrote on Mon, Apr 29, 2019 05:16 PM UTC:

There are two games still going: Gross Chess with Fergus vs. Kevin and Colossus with Fergus vs. Carlos.

Here are the current standings:

Greg: 3-0
Carlos: 2-0
Kevin: 2-0
dax00: 2-1
Fergus: 1-0
Aurelian: 1-2
Jarid: 1-2
Adam: 1-2
John: 0-3
Wdtr2: 0-3


Carlos Cetina wrote on Thu, Jun 20, 2019 12:31 PM UTC:

Greg:

I think we could start the next round since the result of my Colossus game vs Fergus is practically decided, regardless of the bug in the preset program.   


💡📝Greg Strong wrote on Thu, Jun 20, 2019 02:04 PM UTC:

Ok, sounds good.  I will assign the games for round 2 on Saturday afternoon.


Carlos Cetina wrote on Thu, Jun 20, 2019 02:18 PM UTC:

OK... Thanks!


💡📝Greg Strong wrote on Sun, Jun 23, 2019 07:50 PM UTC:

The games for round 2 have been assigned.  Enjoy :)


Carlos Cetina wrote on Sun, Jun 23, 2019 08:22 PM UTC:

Thanks. Good luck to everyone!


Aurelian Florea wrote on Mon, Jul 1, 2019 07:14 AM UTC:

I am not sure how to find the game exclusivelly to this tournament in game courier. Any suggestions?


💡📝Greg Strong wrote on Mon, Jul 1, 2019 02:06 PM UTC:

You can put GameCourier2019 in the tournament filter.


Aurelian Florea wrote on Mon, Jul 1, 2019 03:05 PM UTC:

I see! I did not thought it should be 1 word :(!


A. M. DeWitt wrote on Thu, Jul 4, 2019 02:24 PM UTC:

I have beeen assigned to the second round games, but none of them are showing up on My Games on Game Courier. I eventually found them using search filters, but when I tried to move, I got a error message saying that the file for the game could not be found on the website. This happened to me for all three games. Any help I can get would be appreciated.


💡📝Greg Strong wrote on Thu, Jul 4, 2019 03:15 PM UTC:

This is strange.  The games do open for me but after a delay of about three seconds it gets redirected to a bad URL.  It looks like it is trying to jump to the board by putting #board on the URL, but it also changes it from /play/pbm to /pbm (which is not correct.)  I will try to figure out why it is doing this.


💡📝Greg Strong wrote on Thu, Jul 4, 2019 03:31 PM UTC:

Ok, I've made some progress.  I found the bad reference to /pbm and replaced it with /play/pbm.  It is still refreshing the page every few seconds.  I'm not sure why it is doing that but at least it is going to the correct page.  The refresh is probably connected to the other issue.  When I try to bring up your games, I get:

It is not Adam DeWitt's turn to move in any game. This page will refresh and beep when it is Adam DeWitt's turn in at least one game.

I have to figure out why it thinks it isn't your move.  I think the page is getting reloaded because it thinks the game state has changed so something is wacky with the state.  I'll rummage around in SQL and see if I see anything.  If not, I'll just delete and recreate these games.


💡📝Greg Strong wrote on Thu, Jul 4, 2019 03:38 PM UTC:

Got it.  When I created the games, I used ChessShogi as your ID when it should be all lower-case.  Apparently in some places in the code it is case sensitive and in others it is not.  I will look into preventing this from happening again, but these games should be good for now.  It appears to have fixed the refresh issue also.


dax00 wrote on Wed, Oct 30, 2019 04:28 PM UTC:

It looks as though Round 2 is nearly about to draw to a close. Any idea when the rule-enforcing presets for Metamachy and Symmetric Chess will be ready for us?


💡📝Greg Strong wrote on Sun, Nov 3, 2019 12:19 AM UTC:

Fergus started working on Metamachy but I don't know where that sits.  I have been planning on taking a stab at Symmetric but haven't started yet.  I will make a concerted attempt probably starting tomorrow.  Aside from the tournament, this is one of the most played games on Game Courier so it should have a rule-enforcing preset.  Whether or not I succeed will depend on how difficult I find it.  The Bishop Conversion Rule is a little tricky and I find game courier code pretty difficult to work with.


🕸Fergus Duniho wrote on Tue, Nov 5, 2019 10:23 PM UTC:

I now have a working preset for Metamachy at this URL:

https://www.chessvariants.com/play/pbm/play.php?game%3DMetamachy%26settings%3Ddefault

Just to make sure everything is working, it could use some beta-testing before it's used in the tournament.


dax00 wrote on Wed, Nov 6, 2019 02:31 AM UTC:

New Metamachy rule-enforcing preset: After brief testing of en passant and initial king move...

I was unable to make any en passant captures using white pawns on ranks 6, 7, and 8. I was able to make normal en passant captures with white pawns on ranks 4 and 5. More interestingly, I was able to make illegal en passant captures with white pawns on ranks 4 and 5. By illegal, I mean that: a black pawn that can be captured normally by a white pawn makes a double-move; White on his next turn is allowed to take that pawn en passant illegally. I was able to make legal en passant captures with black pawns on all squares tested. I was also able to make the illegal en passant captures with black pawns on all squares.

The initial king 2-square move doesn't seem to work.

Will keep testing...


🕸Fergus Duniho wrote on Wed, Nov 6, 2019 05:46 PM UTC:

With en passant, the bpr variable for Black's Pawn Rank had the wrong value. For the King's two-space leap, it was checking whether the destination was empty, which works only for potential moves, rather than checking whether a capture had been made. I have fixed these now, and you can test whether anything is still not working.


🕸Fergus Duniho wrote on Wed, Nov 6, 2019 05:58 PM UTC:

I just made some more fixes to how the King's two-step leap is handled in the stalemated subroutine, so that only legal moves are displayed.


🕸Fergus Duniho wrote on Wed, Nov 6, 2019 06:22 PM UTC:

I made some more fixes to the King's two-space leap in the subroutines for moving the King. They now give informative messages about particular reasons why an illegal move is illegal. Since I used restore to check whether the King was in check, I went back to checking whether the destination space was empty.


dax00 wrote on Wed, Nov 6, 2019 08:41 PM UTC:

King 2-space leap appears to be in order. All legal en passant captures can be made. However, one is still allowed to make incorrect en passant captures.

For example, if a white pawn is on c4 and a black pawn on d5, if White plays c4-c6, the preset still allows Black (incorrectly) to take d5-c4 en passant, removing the pawn on c6.


dax00 wrote on Fri, Nov 15, 2019 06:53 AM UTC:

So, after two rounds of play, the current tournament results are:

[Pos) Name, Pts, #Wins, BS, SB, Black wins]                             

  1. Kevin Pacey, 5.5, 5, 11, 13.25, 3; 
  2. dax00, 5, 5, 11.5, 11.5, 2; 
  3. Carlos Cetina, 4.5, 4, 8, 10.75, 2; 
  4. Fergus Duniho, 4, 4, 9, 9, 3; 
  5. Greg Strong, 4, 4, 6, 6, 1; 
  6. Adam DeWitt, 3, 3, 3, 3, 1; 
  7. Jarid Carlson, 1, 1, 1, 1, 1; 
  8. Aurelian Florea & wdtr2 & John Davis, 1, 1, 1, 1, 0.

💡📝Greg Strong wrote on Fri, Nov 15, 2019 03:02 PM UTC:

Nice, thank you.  I will get the third round assigned this weekend.  Hopefully I will be able to get a rule-enforcing Symmetric Chess preset working by then but we might have to do without.


💡📝Greg Strong wrote on Sat, Nov 16, 2019 12:22 AM UTC:

Ok, I think we'll be in business for a rule-enforcing preset for Symmetric.  I made some real progress.  The display of legal moves doesn't work yet (the legal move display makes it look like the bishop is a dragon horse), but it terms of what it actually allows, it looks like it is doing the right thing in all cases:

/play/pbm/play.php?game%3DSymmetric+Chess%26settings%3Drules


Carlos Cetina wrote on Sat, Nov 16, 2019 02:37 PM UTC:

Greg:

I appreciate very much the effort you make to reinforce the rules of the Symmetric Chess preset, however I wonder if using the preset you suggest will not be more confusing for some people than if we used the entirely uncoded one.

I don't know; it's just a presumption, a guess. In my personal case, I would play without problems with any of those two options.

Certainly, coding the Bishops Conversion Rule is a tremendous challenge.


💡📝Greg Strong wrote on Sat, Nov 16, 2019 04:19 PM UTC:

Hi Carlos,

Sorry, I did not mean to convey that I was done.  Only that I had made progress.  I intend to work on fixing the legal moves display today.


Carlos Cetina wrote on Sat, Nov 16, 2019 04:41 PM UTC:

Okay, Greg, sorry for the misunderstanding. Thousand thanks and good luck!


💡📝Greg Strong wrote on Sun, Nov 17, 2019 12:07 AM UTC:

Well, I don't know.  I thought I was getting there but apparently not.  Nothing behaves the way I expect and after about 8 hours of screwing around I've reached my limit.

I don't know exactly what the issue is (and there could be more than one) but part of it seems to revolve around the fact that the rules for Bishop moves are complicated, and I've codified them nicely in subroutines "B" and "b", but the architecture seems to want the 1-line fn defs, which don't seem to support if-then-else, and my attempts to have a def B pass off to a gosub B doesn't seem to work either.

If anyone else wants to look, feel free.  Boiled down, the Bishop Conversion Rule really isn't that hard.  I'm tracking things with 8 flags:

wccanconvert wgcanconvert bccanconvert bgcanconvert wcmustconvert wgmustconvert bcmustconvert bgmustconvert

The first letter, w or b, indicates the player.  The second letter, c or g, indicates the start file of the bishop.  Then there are flags for can convert (which begin the game set) and flags for must convert (which are not set until the other bishop moves without converting.)


🕸Fergus Duniho wrote on Sun, Nov 17, 2019 01:36 AM UTC:

I don't know exactly what the issue is (and there could be more than one) but part of it seems to revolve around the fact that the rules for Bishop moves are complicated, and I've codified them nicely in subroutines "B" and "b", but the architecture seems to want the 1-line fn defs, which don't seem to support if-then-else, and my attempts to have a def B pass off to a gosub B doesn't seem to work either.

I tried out your Symmetric Chess preset. The conversion rule seems to be enforced correctly, but conversion moves are not displaying as legal moves, and when a Bishop must convert, it is incorrectly displaying illegal moves as legal. As you correctly surmise, this is because you do not have the b and B functions defined.

While functions do not support if-then-else, as such, they do support cond, which works like the ? and : operators. They can also use and, or, nand, nor, onlyif, and unless. You can look at the functions for other divergent pieces, such as the Pawn or the Cannon, for examples of how to handle this. Here are some examples from chess3. If you understand the logic behind these, you should be able to figure out how to handle the Bishops conversion rule.

def C cond cond empty #0 capture (not empty #1) (checkhop #0 #1 0 1) (checkride #0 #1 0 1) and #1;

def P
remove var ep
and < rankname #1 var bpr
and < rankname var ep rankname #1
and == filename var ep filename #1
and checkleap #0 #1 1 1
or and checkride #0 #1 0 1 == rankname #0 var wpr
or checkleap #0 #1 0 1
and empty #1
or and islower space #1 checkleap #0 #1 1 1
and <= distance #0 #1 var fps
and > rank #1 rank #0;

Remember that Game Courier evaluates functions from right to left, and many of the logical operators will work with either one or two operands. In the Pawn example, the logical operators are normally taking only one operand. When and receives a lone true value, it lets the function continue silently, but if it receives a false value, it returns a false value and exits. When or receives a lone false value, it lets the function continue silently, but if it receives a true value, it returns a true value and exits. If you still need more help, just ask.


💡📝Greg Strong wrote on Sun, Nov 17, 2019 02:24 AM UTC:

Thanks, Fergus.  Unless I'm missing something, it seems my B subroutine already has all the logic.  Is there some reason I can't delegate def B to gosub B?  Seems odd I should need to describe all the same logic again but in a different way.


💡📝Greg Strong wrote on Sun, Nov 17, 2019 03:00 AM UTC:

Got it!

def B
or alltrue checkride #0 #1 1 1 !== #0 c1 !== #0 g1
or alltrue checkride #0 #1 1 1  == #0 c1 not flag wcmustconvert
or alltrue checkleap #0 #1 1 0  == #0 c1 flag wccanconvert
or alltrue checkride #0 #1 1 1  == #0 g1 not flag wgmustconvert
or alltrue checkleap #0 #1 1 0  == #0 g1 flag wgcanconvert;

def b
or alltrue checkride #0 #1 1 1 !== #0 c8 !== #0 g8
or alltrue checkride #0 #1 1 1  == #0 c8 not flag bcmustconvert
or alltrue checkleap #0 #1 1 0  == #0 c8 flag bccanconvert
or alltrue checkride #0 #1 1 1  == #0 g8 not flag bgmustconvert
or alltrue checkleap #0 #1 1 0  == #0 g8 flag bgcanconvert;

I'll give the whole thing another lookover in the morning to hopefully make sure I didn't miss anything but I think everything is set.


🕸Fergus Duniho wrote on Sun, Nov 17, 2019 03:43 AM UTC:

These look like they will work, but they could be optimized better. They repeat the same operations multiple times, and they don't evaluate the most common type of move first. Also, the first or in each, which is the one to be evaluated last, is unnecessary.


H. G. Muller wrote on Sun, Nov 17, 2019 11:05 AM UTC:

The description of the Bishop conversion rule says this:

" for one of the bishops of the player, the first move made with this bishop must be of this special type. "

I take this sentence to mean that if one of the Bishops gets captured before it moves, the other cannot start with a normal move. This doesn't seem very sensible, though, so I am not sure whether my interpretation is correct.

Just to contribute my two cents: when you would keep one flag per Bishop to indicate whether it had been moved (or per square whether the original occupant is still there), which really should be considered a standard feature automatically kept track of in any chess variant, (considering how many variants endow pieces with virgin-only moves), the game state can be ancoded with only a single other flag per player, indicating whether a conversion has already taken place. The rule for a virgin Bishop is then merely that he cannot convert when a conversion was already done, and otherwise must convert when the other Bishops is not virgin (or, since the rule is only applied on a virgin Bishop, when not both Bishops are virgin). Note that the type of move (W or B) can be easily tested from the color of the square ((x ^ y) & 1 if you have separate x and y coordinates, nr*9 & 8 for 0-63 square numbering on an 8x8 board, nr & 1 on 0-71 square numbering on 9x8).


💡📝Greg Strong wrote on Sun, Nov 17, 2019 05:37 PM UTC:

The description of the Bishop conversion rule says this:

" for one of the bishops of the player, the first move made with this bishop must be of this special type. "

I take this sentence to mean that if one of the Bishops gets captured before it moves, the other cannot start with a normal move. This doesn't seem very sensible, though, so I am not sure whether my interpretation is correct.

I have asked Carlos about this and, if one bishop is captured before either has moved, then the other bishop may convert but is not required to.  I'll edit this page to make it a little more clear.


H. G. Muller wrote on Sun, Nov 17, 2019 06:06 PM UTC:

That certainly makes more sense to me. One could still wonder about the case where the first-moved Bishop does not convert, but is captured before the second moves. The situation this gives rise to is not really any different from the one where it was captured before it moved. And you would need extra game state to distinguish the two.

I guess you need extra game state anyway, because a Bishop can move and return to his starting square without converting. The other Bishop must then convert, but from the board position you cannot see which of the two is the 'other' Bishop.

Possibly the cleanest solution to everything is to implement this by piece-type changing: start both Bishops as Dragon Horses. When a Dragon Horse moves, it 'promotes' to Bishop, and as a side effect, depending on how it moves, the other Dragon Horse (which must still be on its starting square in that case if not captured), promotes, either to Wazir or to Bishop. If a Wazir moves it always promotes to Bishop. All game state is then encoded in the board position.


🕸Fergus Duniho wrote on Mon, Nov 18, 2019 01:17 AM UTC:

Here are some optimized versions of the B and b functions:

def B 
== #0 c1 
and flag wccanconvert 
or and == #0 g1 flag wgcanconvert
and checkleap #0 #1 1 0
and empty #1 
or and checkride #0 #1 1 1 or color #0 nor flag wcmustconvert flag wgmustconvert;

def b
== #0 c8 
and flag bccanconvert 
or and == #0 g8 flag bgcanconvert
and checkleap #0 #1 1 0
and empty #1 
or and checkride #0 #1 1 1 or not color #0 nor flag bcmustconvert flag bgmustconvert;

These do the regular Bishop move first, because that's what the Bishop will do most of the time. This can be done when neither mustconvert flag is set or when the Bishop is on the opposite color from the one it starts from. So, if a White Bishop is on a dark square (color = 1), or a Black Bishop is on a light square (color = 0), it can move as a Bishop. Testing for color #0 is quicker than testing for == color #0 1, and testing for not color #0 is faster than testing for == color #0 0, though they are a little bit more obfuscated. With regular Bishop moves out of the way, the function uses a series of breaking conditions to test whether a conversion move is possible. It first tests for conditions common to both conversion moves, testing for the less expensive one first. Also, given that these functions will frequently be used in testing whether a Bishop is attacking a King, including empty #1 as the first condition of the conversion move saves it from the trouble of checking for anything else when used for that purpose. It then tests whether it is legally converting from the g square, and if not, it uses a series of breaking conditions to test whether it is legally converting from the c square.


💡📝Greg Strong wrote on Mon, Nov 18, 2019 12:32 PM UTC:

Thanks, Fergus and Carlos.  I have jury duty this morning, but I will try to get the preset updated after.  But I've been sick and I'm not sure how long I will be there today so we'll see.


Aurelian Florea wrote on Tue, Nov 19, 2019 05:53 AM UTC:

What about the continuation of the tournament? Are there any other games going on?


💡📝Greg Strong wrote on Tue, Nov 19, 2019 01:22 PM UTC:

No, the games are complete.  Was finishing the preset for Symmetric, and now I've been sick for almost a week so the preset is still unfinished and next round games are still unmade.  Hopefully soon.


Aurelian Florea wrote on Wed, Nov 20, 2019 10:00 AM UTC:

Thanks for the info!... I hope your health improves!...


H. G. Muller wrote on Fri, Nov 22, 2019 12:31 PM UTC:

That it takes so much effort even by seasoned chess programmers to create a rule-checking preset for a variant as simple as Symmetric Chess firmly puts us in the category of 'backward websites'. We really should have some kind of wizard for this, where people that cannot program at all would have no trouble to create such a preset. E.g. something like the Design Wizard for Interactive Diagrams I put in the article on those. Where you just have to take a minute or so to specify board dimensions and size of promotion zone, pick a preferred graphics theme, tick a number of pieces in a list of standard types (or, very rarely, pick an image and specify a non-standard move for it by hand), drag the pieces to their initial locations on an empty (a specified symmetry taking care of you having to do that for only one member of each type), and you are done.

If the wizard produces the usual game code, (just as that for the Interactive Diagrams produces the HTML), it will remain possible to take care of any features not suported through the wizard by editing the automatically generated game code later. But this should be needed only very rarely.

To catch more variants through the wizard it could allow a general input screen for specifying castling rules: the location of the castling partner, where it and the King will end up after castling, which squares must be empty and which squares must not be attacked. (And allow that to be repeated as many times as possible.)


🕸Fergus Duniho wrote on Fri, Nov 22, 2019 05:09 PM UTC:

That it takes so much effort even by seasoned chess programmers to create a rule-checking preset for a variant as simple as Symmetric Chess firmly puts us in the category of 'backward websites'.

That's alarmist thinking. Greg may be seasoned in C and C#, but he's still less experienced with GAME Code, which happens to be a very different language.

We really should have some kind of wizard for this, where people that cannot program at all would have no trouble to create such a preset. E.g. something like the Design Wizard for Interactive Diagrams I put in the article on those.

Non-programmers can already create presets, and even with limited programming knowledge, someone can create a programmed preset for many games by copying code from others and making a few tweaks. Thanks to this, there are presets for over 1300 games.

Where you just have to take a minute or so to specify board dimensions and size of promotion zone, pick a preferred graphics theme, tick a number of pieces in a list of standard types (or, very rarely, pick an image and specify a non-standard move for it by hand), drag the pieces to their initial locations on an empty (a specified symmetry taking care of you having to do that for only one member of each type), and you are done.

None of that was anything Greg needed a wizard for. The hold-up was in programming the Bishops Conversion rule, and in trying to do that, he learned more about how the language works. I already knew how to program it myself, but I intentionally left Greg the exercise of figuring it out, because I trusted he could handle it, and doing it himself would help him learn the language better.

If the wizard produces the usual game code, (just as that for the Interactive Diagrams produces the HTML), it will remain possible to take care of any features not suported through the wizard by editing the automatically generated game code later. But this should be needed only very rarely.

Like, for example, in Symmetric Chess, because the Bishops Conversion rule wasn't already programmed.


💡📝Greg Strong wrote on Fri, Nov 22, 2019 05:31 PM UTC:

Personally, I would recommend putting the breaks on this conversation as nothing productive will come from it.  Comments of the "your website is lame, you really need blah, blah, blah" variety are a dime a dozen and should be treated as such.

Yes, it could be better, but that describes everything in the world.  We're volunteers with limited time.


H. G. Muller wrote on Fri, Nov 22, 2019 06:57 PM UTC:

Well, perhaps I would be less alarmist when I knew how many of these 1300 presets are actually rule-enforcing. (Or more, as the case may be...) And if the result of a discussion could be that this number could easily be raised to 1300 I would consider that 'productive'. One should never set one's aim too low, nor give up too easily.

That we are volunteers with limited time is all the more reason not to scare people away that could improve something.

And the Bishop conversion rule is not so exotic. It is just an example of a special kind of 'initial move', which does not work per individual piece, but per piece type. Perhaps such a thing deserves to be a standard option offered by a wizard, whenever one defines an initial move on a piece type. Like "can be made by all / can be made only once / can be not made only once".


Aurelian Florea wrote on Thu, Dec 19, 2019 09:09 PM UTC:

Any news on continuing the tournament?!


💡📝Greg Strong wrote on Sun, Dec 22, 2019 01:31 AM UTC:

I guess everyone has probably noticed that the site is back, but I am not sure it is a good idea to start right before the Christmas break since people may be travelling or spending time with family.  Unless there is objection, I will plan to start the final games in one week on Saturday, Dec 28th (EST).


Aurelian Florea wrote on Sun, Dec 22, 2019 01:03 PM UTC:

Great!


dax00 wrote on Sun, Dec 22, 2019 06:50 PM UTC:

The Metamachy preset still allows illegal en passants. This shouldn't really be a problem, since it's doubtful that anyone would even attempt to play such a move, but still...


🕸Fergus Duniho wrote on Thu, Dec 26, 2019 05:53 PM UTC:

Can you show me a sample game that ends in a position in which an illegal en passant is allowed?


dax00 wrote on Thu, Dec 26, 2019 06:50 PM UTC:

1. skip; 
1... k h7-g12; l e7-f12; g f7-g11; q g7-f11 
2. P f3-f5 
2... p g10-g8 
3. P f5-f7 
3... p g8-g6 
4. P f7-g8


🕸Fergus Duniho wrote on Thu, Dec 26, 2019 11:26 PM UTC:

That's now fixed. The original code was based on Chess, which didn't allow en passant from multiple ranks. I replaced the requirement that the capturing pawn cannot move into or beyond the enemy's pawn rank with the requirement that the capturing pawn must be moving from the same rank as the double-moved pawn just moved to.


100 comments displayed

Earlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.