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 ]

Comments/Ratings for a Single Item

Later Reverse Order EarlierEarliest
Game Courier History. History of the Chess Variants Game Courier PBM system.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Fri, Apr 22, 2022 10:32 PM UTC:

Small palette board images with fewer than 256 colors that use the default colors can now be recolored like automatically generated boards. When the developer or user has chosen a different color than one of the default colors, the default color will be replaced by the new color in the image. For this to work, the original image must use the default colors, which are 339933, CCCC11, and 22BB22.


A. M. DeWitt wrote on Wed, Mar 16, 2022 05:29 PM UTC in reply to Fergus Duniho from Tue Mar 15 07:52 PM:

The editor is working again. Thanks.


🕸💡📝Fergus Duniho wrote on Tue, Mar 15, 2022 07:52 PM UTC in reply to A. M. DeWitt from 06:41 PM:

It seems the new handling of case is interfering with the display of the Preset Editor, at least for me.

There is a double space in the case statement on the line where the error is.

The error message it gave wasn't quite accurate, because the actual string was the empty string, not one with whitespace in it. I modified it to skip over empty strings. So, it works now.


A. M. DeWitt wrote on Tue, Mar 15, 2022 06:41 PM UTC in reply to Fergus Duniho from Mon Feb 7 06:18 PM:

It seems the new handling of case is interfering with the display of the Preset Editor, at least for me. The link below is an example.

Edit: Taishin Shogi on the Chess Variants Game Courier

There is a double space in the case statement on the line where the error is.


🕸💡📝Fergus Duniho wrote on Mon, Feb 7, 2022 06:18 PM UTC:

I made a correction to the handling of case statements. If multiple case labels were in the same case statement, it would previously check only if the first one was already assigned. It will now check whether every single case label has been assigned. If a case label has already been assigned in a switch, it will give an error message.

If a case label includes whitespace, it will now report an error message. This is in case a colon is left off a case statement, and a new line character gets included in the case label.

If a switch statement is passed a value that does not match any of its cases, and it has no default case, it will report an error message that neither the expected case nor a default case exist.

The print statement can now be used to print the value of an array, which will make it more useful for debugging.


🕸💡📝Fergus Duniho wrote on Fri, May 7, 2021 05:42 PM UTC:

I modified the sets files to use relative URLs for the value of $dir. I modified some other code to work with relative URLs, and I added code that exits the script with an error if you use a value of $dir that does not begin with a forward slash. So, from now own, $dir should be set only to a relative URL to a directory on this site.

Using relative URLs has a few advantages:

  • Piece URLs will be shorter, using less bandwidth.
  • Insecure http image URLs will no longer be used, since relative URLs will default to secure https URLs.
  • No one will be able to use piece images that are located on another website.

In a related matter, $dir is now an accessible system variable in GAME Code. You may write to it with setsystem or get its value. This is useful for using GAME Code to create and use custom piece sets that are not defined in a PHP file. More details can be found here.


🕸💡📝Fergus Duniho wrote on Wed, Mar 31, 2021 12:23 AM UTC:

Since the Compounds group had only two sets in it that didn't even match up, and one belonged to the Chess group anyway, I removed its members and replaced them with four new piece sets that do match, more or less. These four are drawn from the Abstract, Alfaerie, Magnetic, and Motif pieces. They are meant to consist only of pieces that can be made by using or recombining standard Chess piece images, particularly for Magnetic and Motif. Each one currently has all double compounds of King, Rook, Bishop, and Knight. The Amazon is the only triple compound. Compound pieces have two or three letter labels indicating the pieces they are compounds of. There is some redundancy regarding the Queen, using both q/Q and rb/RB for the Queen, since Fusion Chess uses the latter. This also carries over to the labels for the Amazon, which are qn/QN and rbn/RBN. I would like to add Ferz and Wazir pieces, some compounds with these, and some more triple compounds with these and/or the King. I'm still working on Ferz and Wazir designs. Some alternatives are to use smaller Rooks and Bishops, to mix the Rook and Bishop with Pawns, or to place the numeral 1 on modified Rooks and Bishops.


🕸💡📝Fergus Duniho wrote on Mon, Mar 29, 2021 11:08 PM UTC:

I added themes for Storm the Ivory Tower and for Omega Chess. For the latter, I added the ability to erase non-space when using tiled background images. This let me use tiled background images for Omega Chess themes. These themes do not print the coordinates for the corner spaces, but they do show the coordinates if you hover the mouse over them.


🕸💡📝Fergus Duniho wrote on Sat, Mar 27, 2021 06:25 PM UTC:

There are now themes for Chinese Chess, Janggi, and Chessgi. Chessgi themes will work for any game using the same type of board and a set from the Chess group. The Chess themes now work with any 8x8 game using a set from the Chess group instead of testing for a subset of the pieces in Chess. There are also Chess-Squares and Compounds-Squares for boards of varying dimensions built from the square shape or a 100x100 tile. These work with sets from the Chess and Compounds groups respectively.


🕸💡📝Fergus Duniho wrote on Sat, Mar 27, 2021 01:54 AM UTC in reply to Fergus Duniho from Fri Mar 26 09:34 PM:

There are now Chess themes, and these will be used for any game on an 8x8 board whose pieces on the board are a subset of the pieces in Chess.


Daniel Zacharias wrote on Fri, Mar 26, 2021 10:24 PM UTC in reply to Fergus Duniho from 09:34 PM:

Maybe themes should be shared among all games that use the same piece set and geometry


🕸💡📝Fergus Duniho wrote on Fri, Mar 26, 2021 09:34 PM UTC:

I have begun adding the ability to create themes for games. A theme is a collection of settings that can be chosen together for the purpose of changing the appearance of a game. This makes changing the appearance of a game quicker and easier than doing it one setting at a time. When themes are available for a game, they will appear in a drop down select list just above where you can change individual settings. Any member may create and save a theme by going to the Customize section of the preset. Customize it how you want, enter a theme name, and click Save Theme. It will then be available for that game.

So far, I have made themes only for Shogi. I plan to do some Chess themes later and set things up for presets that use the same equipment as Chess to use the same themes. I also plan to provide the option for games to use the themes for another game instead of having its own. This will come in handy when different games use the same board and pieces and so can share the same themes. And I plan to set things up so that players can create themes without leaving their games. But I've done enough work on it for today, and what I've done today seems to be working.


🕸💡📝Fergus Duniho wrote on Mon, Dec 28, 2020 06:33 PM UTC:

I added an exit command, which immediately terminates the GAME Code program. It works by setting a flag that causes the run_subroutine() function to immediately return before doing anything, and then it returns. So, if you use it within a subroutine, it will return from that subroutine and then return from any lower scope that called it until it completely exits the GAME Code program. Note that this will affect only the GAME Code program and will not exit the PHP script.


H. G. Muller wrote on Sat, Dec 12, 2020 02:26 PM UTC:

Is it really a good idea to make this the default behavior? There probably are some situations where you want this recursion, but I cannot imagine you would always want it. I think it would be better to have the programmer explicitly indicate whether he wants it to happen, e.g. by having an operator different from # for it. E.g. when p is set to #m and m to "foo" then #p could return "#m" but dig p could return "foo".


🕸💡📝Fergus Duniho wrote on Fri, Dec 11, 2020 02:15 AM UTC:

I previously made the variable prefixes recursive. This allows something like this:

set m Mars;
set p m;
echo ##p;

The expression ##p returns #m, which returns Mars. So, "echo ##p" prints Mars. While helpful, this breaks some code I previously used to check whether a variable has been set. This code no longer works:

set m Mars;
if == #m "#m":
  echo undefined;
else:
  echo #m;
endif;

When m is defined, #m should be its value, which is Mars, and "#m" should be the string "#m". But thanks to recursion of variable prefixes, or so I presume, the string "#m" is converted to #m, which is then converted to the value of m. So, the test == #m "#m" still returns true when m has been defined. This makes it useless for telling whether a variable has been defined.

In its place, you can use the test == var m null. When a variable is undefined, calling it with var instead of a prefix will return null. So, this code works properly:

set m Mars;
if == var m null:
  echo undefined;
else:
  echo #m;
endif;

15 comments displayed

Later Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.