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 by FergusDuniho

LatestLater Reverse Order EarlierEarliest
Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Mar 23, 2021 12:56 PM UTC in reply to Daniel Zacharias from 05:47 AM:

Okay, I turned on the group write bit for all log and log backup files, and I modified Game Courier to also turn it on. That should fix the problem.


Tags Listing. A listing of the tags used on our pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Mar 23, 2021 01:34 AM UTC in reply to Greg Strong from Mon Mar 22 10:02 PM:

I'm not sure what you mean. Do you mean connect with SSH and I'll find it in clear text in a mariadb config file?

No, that's not what I mean. I mean a php script that is outside of public_html that gets included in every php script that accesses the database.


🕸📝Fergus Duniho wrote on Mon, Mar 22, 2021 08:51 PM UTC in reply to Greg Strong from 02:33 PM:

Which reminds me - is the table of piece types and their IDs/internal names finalized? If it is, I can start populating the piece<->game mappings. I have the data to populate this for about 135 games in a fairly automatic way.

Okay, sure. I have been sidetracked by other things for a while. The database has a new password, which you can find by logging in and looking it up in the file that contains it.


🕸📝Fergus Duniho wrote on Mon, Mar 22, 2021 04:58 PM UTC in reply to Ben Reiniger from 02:17 PM:

should KRBN-compounds be separate from Man-RBN-compounds?

In Fusion Chess, compounds with the King are royal. So, some distinction might be appropriate. You might be thinking of a game like Sac Chess for the latter, but that game also has Amazons, which Fusion Chess doesn't have. Here are some options:

  • Use Pieces:Chess+Compounds more loosely
  • Same as above but include child tags for variations.
  • Make many fine distinctions in children of Pieces.
  • Just use names of games with certain piece sets, such as Pieces:Carrera's Chess, Pieces:Fusion Chess, Pieces:Sac Chess, etc.
  • A hybrid approach that uses game names for larger sets to avoid making long tags like long German words.

🕸📝Fergus Duniho wrote on Mon, Mar 22, 2021 01:35 PM UTC in reply to Ben Reiniger from Sun Mar 21 10:17 PM:

I don't think individual pieces should be tags. I'd rather that be an explicit database table. But I do think "usual equipment" and "FIDE+compounds" and similar classes of piece sets could be useful as tags.

Yes, tags can't do some things that the database table is intended for, such as keep track of the names used for the same pieces in different games. Instead of using tags for individual pieces, it may make sense to use tags for common sets of pieces with tags like Pieces:Chess, Pieces:Shogi, Pieces:Xiangqi, etc. My issue with Chess+Compounds or FIDE+Compounds is that there are different sets of compounds. Fusion Chess and several related games also include royal compounds. To distinguish these, we might use Pieces:Chess+RBN-Compounds for games with the pieces of Capablanca's Chess and Pieces:Chess+KRBN-Compounds for games with the pieces of Fusion Chess.


🕸📝Fergus Duniho wrote on Sun, Mar 21, 2021 11:27 PM UTC in reply to Ben Reiniger from 10:17 PM:

And yes, I think numerical fields should be kept separate rather than incorporated into tags. That gives us more flexible searching ("at least 90 cells but at most 130"), and I can't imaging a parametrized tag ("#CellCount=x") looking good.

From a search perspective, that makes sense. But from a browsing perspective, I think it makes sense to include tags for sizes we have many variants in.


🕸📝Fergus Duniho wrote on Sun, Mar 21, 2021 11:24 PM UTC in reply to Ben Reiniger from 10:17 PM:

I agree with "Board" because of terrain. Maybe something even more generic like "Playing Field", except that I prefer the brevity of "Board".

I also prefer the brevity of Board. While the word might most literally refer to a contained 2D playing area, Chess variants are classed as board games, and the word is normally used for the playing area in any Chess variant, even if it doesn't follow the planar geometry of a literal board.


🕸📝Fergus Duniho wrote on Sun, Mar 21, 2021 09:20 PM UTC in reply to Greg Strong from 05:33 PM:

I would also personally use 'Geometry' rather than 'Board'. It's a bit more general.

I think Board is a bit more general, because it can also be used for board size, board dimensions, or other board differences like having terrain.

And a game could be both 3-D and Rectangular, or both 3-D and Hexagonal ...

There is no requirement that a page should get only one child tag with a particular parent. A page could be tagged both Board:3D and Board:Hexagonal, for example. I have been tagging some of my own games with multiple Rules: children tags, which is the same principle.

I have also sped up tagging of similar games by including a copyable string of all the tags a user has added to a page. I have been able to copy and modify strings from one game to quickly tag others.


🕸📝Fergus Duniho wrote on Sun, Mar 21, 2021 05:13 PM UTC:

I'm now thinking about how to build tag structures from the ground up. We could have parent tags to designate tags about specific types of features. For example, Board, Piece, Goal, Rules, and Players. These would cover most of the ways in which a variant might differ from Chess. Board could replace UnusualBoard and include its children plus Standard for the 8x8 Chess board. Piece could be used for individual pieces. Goal could be used for differences in how the game is won or drawn. Rules could include children for various common rule deviations. Players would mainly just get a number. One way to think of these is as parameters that the child tag gives specific values to.


🕸📝Fergus Duniho wrote on Sun, Mar 21, 2021 02:11 PM UTC:

One of the quickest ways to populate the tags is to convert categories into tags. However, I don't think that a direct translation of every category into a tag of the same name is the way to go. So, I want to plan things out first by discussing the individual categories:

chess

This category is for pages on Chess, which we have a lot of despite being mainly about variants.

1D, 2D, 3D, 4D

I don't think the 2D category needs to be translated into a tag. 2D is the assumed default, and it is such a large category, I don't think anyone ever browses through it. We currently have a 3DBoard tag, which may be a little more informative than just the tag 3D. I wonder if 3D-Board or 3dBoard would be better, since it will not put a space between two capital letters when displaying the name.

Large, Small

These respectively mean larger and smaller than the 8x8 64 square Chess board. We already have a Large tag. Small would also work. These may have children for various common sizes, particularly for those created for contests for boards of particular sizes. So, based on values for BoardCols, BoardRows, BoardLevels, and BoardCells, it could be given an appropriate child tag instead.

Multiplayer

Seems useful, but it could be combined with the PlayerCount value to create appropriate child tags.

Oriental

This could be a child of Regional, which we already have a tag for. Regional:Oriental might be appropriate for the tag name. However, most of the regional variants are oriental, since we understand Indian and Muslim forms of Chess as historical rather than regional. So, it might be appropriate to just name the region, such as Regional:Chinese, Regional:Japanese, etc.

Historical

Okay.

Dice, Cards

Possibly include as children of Random. So, Random:Dice, Random:Cards.

Wargame

Okay. This is mainly a separate category from Chess variants, and we might not have many here.

Shape

This is it. Shape:Board and Shape:Cells are not categories. Perhaps Shape should be translated to UnusualBoard.

Hexagonal, Round

Can be children of UnusualBoard. Round may be translated to RoundBoard, which we already have a tag for.

IncompleteInfo

Okay. It sort of works how info is an incomplete spelling of information.

Other

Too vague to be useful. It does not need to be translated into a tag.

Usual-Moving, Usual-MovingOpponent, Usual-MultiMove, Usual-BoardRules, Usual-Winning, Usual-Setups, Usual-Capturing, Usual-Other, Usual-Modest

These categories all describe ways in which a variant played with the same equipment as Chess differs from Chess. The last two are not particularly informative. Other means a difference not included by the previous ones, and Modest means a small difference, though it could fit any of the previous differences. What has always bothered me about these categories is that they are not supposed to be used for games played on different boards than Chess. Yet the same things that distinguish games played with the usual equipment from Chess also sometimes distinguish other variants from Chess, and apart from Other, which I dismissed above, we have never had anything like these available as categories for other games.

One possibility is to give these all the same parent name. I prefer the longer UsualEquipment, because it is more informative. We could translate them to UsualEquipment:DifferentPowersOfMovement, UsualEquipment:MovingOpponent'sPieces, UsualEquipment:Multi-Move, UsualEquipment:DifferentRules, UsualEquipment:DifferentObject, UsualEquipment:DifferentSetup, and UsualEquipment:DifferentCapturing.

But I will note that we already have some tags that cover some of these without the usual equipment part. The Goal parent tag can be used for different goals. The Multi-Move tag can be used for any game allowing multiple moves. I also want to create a Piece parent tag for identifying individual pieces in a game. This might replace my attempt to create separate tables for piece information.

Crossover

We already have this as a parent tag, and it is probably more useful that way. It might be better to go through the crossover games and create more informative child tags for them.

Singleplayer

Okay, though probably uncommon. Perhaps renaming the tag Solitaire.

XiangqiBased, ShogiBased

These don't have to be children of Regional or Oriental, because people in the west have sometimes created games based on Xiangqi or Shogi. One problem with Oriental, mentioned above, is that some games based on Xiangqi or Shogi might have been given the Oriental category despite being of western origin.


🕸📝Fergus Duniho wrote on Sun, Mar 21, 2021 02:18 AM UTC:

I corrected a bug that allowed anyone to tag a page without being signed in. I also deleted an anonymous tag. I think it was making Shape:Board a parent of RoundBoard.


🕸📝Fergus Duniho wrote on Sat, Mar 20, 2021 04:29 PM UTC:

When a tag is both the parent and the child of another tag, both of these relations are ignored, and the tag is listed separately as related. I have done this with the Shape and Geometry tags.


🕸📝Fergus Duniho wrote on Sat, Mar 20, 2021 01:07 PM UTC in reply to Fergus Duniho from Fri Mar 19 02:10 PM:

I brought these two ideas together by adding the ability to tag parent tags.

It appears that what I intended and what I programmed were two different things. When I finally looked at my own tags, I saw that the children were the tagged items, but I had expected the parents to be the tagged items. I guess it gets confusing when you're working with tags as tagged items. Nevertheless, this works out. When I view my own tags, it's more logical to see a tag followed by its children than to see it followed by its parents. Tagged pages are like leaves, and tagged tags are like branches.


Round Board[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Mar 20, 2021 12:37 PM UTC in reply to Ben Reiniger from 02:05 AM:

Unlike categories, which are fixed and static, tags can have parent/child relations with each other, forming a tree-like structure that visitors may browse through. If we omitted tags that match categories, this tree-like structure would have gaps in it. If we were to keep just tags or categories, I think it would be better to keep tags. Tags are more organic and fit the nature of Chess variants better than a set of fixed categories do.


Tags Listing. A listing of the tags used on our pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Fri, Mar 19, 2021 09:37 PM UTC:

Editors may now delete relations between tags. I also modified the Tagged Pages section to show up only when there are tagged pages, and I moved the button for deleting the whole tag to the bottom.


🕸📝Fergus Duniho wrote on Fri, Mar 19, 2021 06:50 PM UTC:

I'm working on code to delete individual parent/child relations, but I have commented it out for now, because it seems to be deleting whole tags.


🕸📝Fergus Duniho wrote on Fri, Mar 19, 2021 06:00 PM UTC in reply to Greg Strong from 05:30 PM:

what's to stop a user from making circular references - e.g., two tags that are both parents of each other?

Nothing for now. I could add code to stop this, but if it isn't recursive, it might allow three-way or larger loops.

If you search for games with a tag, does it return games tagged with child tags of the requested tags?

There is presently no searching of tags other than having the tagged pages listed on an individual tag page. This list includes only directly tagged pages.

if you apply a tag to a game, does it also apply the parent tags?

No, tags are not inherited by virtue of parent/child relation.

if the answer to both of these questions is no, what does any of this accomplish?

Links to parent and children tags are provided for further browsing and context. They are not used in any recursive fashion that would result in an infinite loop if two tags were tagged as each other's parent. If two tags do end up that way, editors may decide to delete one relation and better clarify the descriptions or choose to merge the two tags into one if they are too similar in meaning.


🕸📝Fergus Duniho wrote on Fri, Mar 19, 2021 02:10 PM UTC:

After I added the ability to name a parent in a tag using the colon, I saw that there were various tags that should have a parent/child relation based on meaning, and it seemed like it would be awkward to rewrite their names. I was also thinking about adding the ability to tag tags. I brought these two ideas together by adding the ability to tag parent tags. Instead of allowing tagging in the footer, the info page for a tag includes a form for adding a parent. This works the same as the tagging form and uses the same script. This allows anyone to add a parent, and it allows a tag to have multiple parents.


🕸📝Fergus Duniho wrote on Thu, Mar 18, 2021 04:11 PM UTC in reply to Greg Strong from 04:00 PM:

On Windows, neither Firefox nor Edge show the child tag either. Ad blocker enabled or disabled doesn't make any difference.

When I looked at the code for displaying children, it was inside an if (fpdip()) block, which I use for testing code before others are ready to see it. I have now removed that condition. So, it should work for others now.


🕸📝Fergus Duniho wrote on Thu, Mar 18, 2021 01:22 PM UTC in reply to Bn Em from 01:02 AM:

That's really weird, since I created these two tags expressly for testing the ability of a page to show both a parent and children, and that's what I got. When I look at the Parent:Child page, I see both its parent and its child. Under what conditions are you viewing the page, such as browser, OS, desktop or mobile, and ads blocked or not?


🕸📝Fergus Duniho wrote on Wed, Mar 17, 2021 11:08 PM UTC in reply to Bn Em from 08:26 PM:

Parents are listed, but at present children seem to be absent

There are few parent tags, but children are listed for each one of them. Most tags have no children, and for those, no children are listed.


@ Greg Strong[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Mar 17, 2021 04:56 PM UTC:

I have added the ability to post to person information pages. This is a test to see if it will try to send you email.


@ Fergus Duniho[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Mar 17, 2021 04:37 PM UTC:

Testing the ability to post to a user profile page.


Parent: Child[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Mar 17, 2021 01:57 PM UTC:

Testing the ability to post on a tag page.


Apothecary Chess Tournament[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Mar 17, 2021 12:19 PM UTC in reply to Aurelian Florea from 11:48 AM:

Okay, I've updated the code. Try it again.


Comemnt search doesnt work[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Mar 16, 2021 06:45 PM UTC:

When I restored the site, MariaDB 10 kept losing connections. To get the database to work, I replaced MariaDB 10 with MariaDB 5. In doing this, I manually edited the database backup to make it compatible with MariaDB 5, and one change I made was to remove all the FULLTEXT keys, which were what enabled it to search through the text of comments. I expect the code that exists for searching the text of comments uses special features of MariaDB 10 that are not a part of MariaDB 5, and that is why your search did not work.


Switch-Side Chain-Chess. Optionally swap sides with your opponent upon completing a "chain". (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Mar 16, 2021 01:28 PM UTC:

I deleted the tags on this page, because they were all too vague, and each was just a single word in the name of the game. Please see the new guidelines for tagging on the Tags page.


Tags Listing. A listing of the tags used on our pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Mar 16, 2021 12:17 AM UTC in reply to Bn Em from Mon Mar 15 09:35 PM:

I forgot a ! operator. I made the correction, and it now works properly.


Specular transcendental chess. Members-Only Random pieces, New Fischer Random, Symmetrical Transcendental chess, No castling.[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

SacriliChess. Members-Only A point-buy chess format that allows promotions for all pieces.[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

Tags Listing. A listing of the tags used on our pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Mon, Mar 15, 2021 06:08 PM UTC:

I have added a restriction against tagging hidden, unpublished, or deleted pages.


🕸📝Fergus Duniho wrote on Mon, Mar 15, 2021 05:56 PM UTC:

When you add a tag, you will now get feedback instead of being sent right back to the same page. When a tag has no description, you will be asked to provide one.


🕸📝Fergus Duniho wrote on Mon, Mar 15, 2021 04:09 PM UTC:

Tags can now handle extended parent-child relationships, such as grandparent-grandchild relationships. For example Parent: Child: Grandchild.


🕸📝Fergus Duniho wrote on Mon, Mar 15, 2021 01:43 PM UTC:

I have made relationships between tags a matter of tag syntax rather than something stored separately in the database. A colon is now used in a tag to indicate that it is a child of the tag named to the left of the colon. The page for a particular tag will list its parent if it contains a colon, and it will list its children if it does not. Most tags do not have parents or children, and nothing extra will be listed for these. Visit the Drops tag and its children for examples.

I have also added the hashtag character to the beginning of displayed tags for the sake of visually distinguishing them as tags. Since it is done through PHP rather than CSS, it does not affect the link above.


Congo. Animals fight on 7 by 7 board. (7x7, Cells: 49) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Mar 15, 2021 12:23 PM UTC in reply to Sam T from 10:19 AM:

This is Sam Trenholme. If you have a chance, please update my email address

I have now done that.


ChessXp. 10x10 Chess, strictly derived from the 8x8 architecture.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Mar 15, 2021 12:33 AM UTC:

Okay, I've unhidden this.


Tags Listing. A listing of the tags used on our pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Mon, Mar 15, 2021 12:28 AM UTC:

To make it easier to reuse the same tags and for different members to use the same tags, the form field for entering tags is now populated with a datalist of all tags currently in the database. As you type in a tag name, tags that match it will show up underneath. You may select a pre-existing tag or create a new one.


🕸📝Fergus Duniho wrote on Sun, Mar 14, 2021 05:56 PM UTC:

For the sake of giving tags a standardized look, for the sake of preventing the appearance of similar tags that differ only in case or spacing, and for the sake of being able to always use tags as the basis for ItemIDs, I have standardized tag names. When displayed, tags may use spaces, and each word will be capitalized. When stored in the database, tags will not have spaces, and capitalization will be used to tell one word from the next. In converting from a stored tag to the displayed version, it will add a space any time a lowercase letter is followed by a capital letter, and it will also add a space after a colon. The only tag this had an unwanted effect on was SimpliFIDE. So, I manually changed that one to Simpli-FIDE to make it look like a whole word.


🕸📝Fergus Duniho wrote on Sat, Mar 13, 2021 07:29 PM UTC:

I have now added the ability to use this page to view all of your tags in one place. Look for the "Your Tags" menu item in the menu headed by your name. This link will add a query string to the URL that includes a value for personid. You will also be able to delete your tags from this page.


🕸📝Fergus Duniho wrote on Fri, Mar 12, 2021 06:41 PM UTC:

It is now possible to edit the short and long descriptions of tags. A form will appear on the Tag Info page for a particular tag if you are an editor or you have added at least half of the instances of a particular tag. So, if you introduce a new tag, you should be able to edit its details immediately after creating it. Just go to the page for the tag and enter its details.


🕸📝Fergus Duniho wrote on Fri, Mar 12, 2021 02:34 PM UTC:

Editors may now delete member-created tags. On the Tag Info page for a particular tag, an editor will find individual buttons for deleting the tag for particular items in case some items have been mistagged, and a button at the bottom for completely deleting the tag in case it's simply inappropriate.


ChessXp. 10x10 Chess, strictly derived from the 8x8 architecture.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Mar 12, 2021 01:25 PM UTC in reply to Uli Schwekendiek from 06:26 AM:

Please, I don't want to name it Bison ...

Bison is probably a bad name for the piece, since that animal doesn't look like much of a leaping animal at all. The main point I want to make is that Falcon is already the established name for the non-leaping counterpart to this same piece, and calling the leaping version a Falcon could sow confusion. So, I would recommend picking a different name.


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Thu, Mar 11, 2021 06:39 PM UTC in reply to Jean-Louis Cazaux from 05:50 PM:

What is the function of the "tag"?

It's a crowd-sourced categorization method. Members tag pages, and we can browse through pages that share the same tag.

There is a tag "Jamison" on the preset of TerachessII.

No, that tag is on Game Courier itself. I should probably add the ability for editors to weed out inappropriate tags.

Is it because of that my saving is failing?

No, it's completely unrelated. See my previous comment on this page.


🕸💡📝Fergus Duniho wrote on Thu, Mar 11, 2021 06:32 PM UTC in reply to Daniel Zacharias from 05:54 PM:

I just tried saving a change to a different preset and it didn't work either

That should now be corrected. PHP runs as apache, but I had changed the owner of all files on the site to chessvariants. I added code to give any new settings file the permissions 0777, and I did a chmod on all existing settings files to make their permissions 0777. So, now apache will be able to write to files owned by chessvariants.


ChessXp. 10x10 Chess, strictly derived from the 8x8 architecture.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Mar 11, 2021 05:37 PM UTC:

The more common name for the leaping counterpart to the Falcon is the Bison.


🕸Fergus Duniho wrote on Thu, Mar 11, 2021 03:01 PM UTC in reply to Uli Schwekendiek from 04:10 AM:

Try your upload again. I fixed the problem Ben was having, and it is likely the same problem you were having.

Email is not as reliable as it used to be, thanks to many email services cracking down hard on spam email. That's why you no longer need to verify your email to sign up.


The ShortRange Project ZIP file. Missing description[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Mar 11, 2021 02:57 PM UTC in reply to Ben Reiniger from 02:06 AM:

I got the same file from Zillions-of-Games and got the same error as you did. I traced the error to a recent change I had made to the location of the temporary directory used for uploads. After I undid these changes and rebooted the server, the upload worked.


3D Chess. Play 3D Chess in your browser with Jocly.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Mar 10, 2021 11:03 PM UTC in reply to Jean-Louis Cazaux from 08:32 PM:

As I thought, the site doesn't credit the inventor. It looks like it is focused on selling sets. Does it describe the rules of the game? Do you think you could inquire about who the game's inventor is?


🕸Fergus Duniho wrote on Wed, Mar 10, 2021 05:38 PM UTC:

At the bottom of the description for this game, there is a link to a French website on it. I would like to add appropriate credits for the invention of this game and maybe get a separate rules page on it. Would one of our Francophone members look into this?


Jocly. An html-based web platform for playing 2-player abstract stategy games.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Mar 10, 2021 01:58 PM UTC in reply to H. G. Muller from 09:47 AM:

I am not sure what this 'dir' argument is supposed to do.

It is needed for finding the description, rules, and credits files for each game, which are then displayed below the board. I have not found any means by which Jocly itself will display these.

I guess the 'module' field points to the sub-directory in 'games' where Jocly has to look for the -config.js,

Yes, I have made an array from it with just the directory information for each game. So, I modified the rewrite rule in .htaccess to just use the name of the game.

As I make database entries for the games, I want to get the credits right. When I used grep to find all the files with credits for Muller, the only games that came up were Elven Chess, Spartan Chess, Team Mate Chess, and Werewolf Chess. I thought you had coded more than this. Please let me know which other games you should be credited on.


🕸Fergus Duniho wrote on Wed, Mar 10, 2021 02:38 AM UTC in reply to H. G. Muller from Tue Mar 9 10:06 PM:

That was the problem. I forgot the closing tag to the iframe. Thanks.


🕸Fergus Duniho wrote on Tue, Mar 9, 2021 09:43 PM UTC in reply to Fergus Duniho from 06:13 PM:

I solved the problem I described by including the original control.html in an iframe with the correct query string. However, this has introduced a new problem. The text underneath the iframe will not show up anymore.


MPleft-right-chess[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Mar 9, 2021 09:16 PM UTC:

This preset doesn't work yet. It needs to be debugged.


Left-Right Chess. A large variant with some pieces that move as a Rook only left or right.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Mar 9, 2021 09:06 PM UTC in reply to H. G. Muller from 08:02 PM:

Thanks, I followed your instructions and made it use the Alfaerie pieces. I copied them to the directory for the game, so that all images would be in the same directory.


🕸Fergus Duniho wrote on Tue, Mar 9, 2021 07:17 PM UTC in reply to H. G. Muller from 12:44 PM:

Okay, I corrected the interactive diagram again. Is there any way I could make it use the Alfaerie pieces, so that it would match the images used in the Pieces section?


Jocly. An html-based web platform for playing 2-player abstract stategy games.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Mar 9, 2021 06:13 PM UTC in reply to H. G. Muller from Sat Feb 13 09:18 AM:

I'm working on a php version of control.html a couple of directories lower at /play/jocly/control.php. I added an extra parameter to the query string to tell which directory a game is in. The following URL works:

https://www.chessvariants.com/play/jocly/control.php?game=xiangqi&dir=chessbase

Curiously, though, when I reverse the order of the two parameters, it gives me Chess instead of Xiangqi:

https://www.chessvariants.com/play/jocly/control.php?dir=chessbase&game=xiangqi

Bearing this in mind, I created a rewrite rule in .htaccess that lets me use the dir value as a directory name before the game of the name. Given that the following URL show the description and rules for the correct game, I can tell that it is being rewritten correctly, but when I use it, Jocly does not work:

https://www.chessvariants.com/play/jocly/chessbase/xiangqi

I added some code to pass the PHP variable's value to a JavaScript variable called game, but it didn't help. I also tried GAME, but that didn't help either. Any ideas about what I can do?


Knavish Shatranj ZIP file. Shatranj style game on 8x8 board.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Mar 8, 2021 10:52 PM UTC in reply to Christine Bagley-Jones from 10:34 PM:

Okay, I edited the code to work correctly with local URLs that include the domain name, and then I removed the domain from the URL.


Knavish Shatranj. Shatranj with Knaves and Debtors. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Mar 8, 2021 03:01 PM UTC in reply to Christine Bagley-Jones from Sun Mar 7 11:20 PM:

Check the "Your Unpublished Submissions" menu item in the menu headed by your name.


About Game Courier. Web-based system for playing many different variants by email or in real-time.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Sun, Mar 7, 2021 05:06 PM UTC in reply to Kevin Pacey from Sat Mar 6 11:40 PM:

I'm still having no luck on either count when I try. When I click on 'your games on game courier' via the main menu (item at top is Kevin Pacey) I still get an error message saying connection refused.

When I go to find Joe's games on game courier via his personal info page, I still get a 'Page not found' error message,

Have you tried clearing your cache or using a different browser? When I substitute your userid for mine in the URL I get from the menu, the page does come up without connection errors. Likewise, the link on Joe's personal info page works for me.


🕸💡📝Fergus Duniho wrote on Sat, Mar 6, 2021 11:29 PM UTC in reply to Kevin Pacey from 10:15 PM:

when I try to see my (untimed) game with CVP editor Joe Joyce - in fact, I cannot see my own list of games in progress (with invitations included)

I just checked on that, and I could see your list. Your game with Joe was the only one listed.

I had to try to see the one with Joe by going to his Personal info page, and then trying to see his game(s) in progress - that's when I had the same problem as Christine.

That's using a link to the play subdomain. It should work now that I have created a virtual host for the subdomain.


Upgrading to CentOS 8[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Sat, Mar 6, 2021 01:58 PM UTC in reply to Dead Account from 04:05 AM:

Seems that creating directories for new variants doesn't work right now.

It should work now that I have put apache and chessvariants into each other's groups.


About Game Courier. Web-based system for playing many different variants by email or in real-time.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Sat, Mar 6, 2021 04:22 AM UTC in reply to Christine Bagley-Jones from 04:09 AM:

We're sorry, but the page https:/​/​www.chessvariants.com/​pbm/​logs.php could not be found.

That's just the wrong URL. I'll correct it tomorrow.


Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Fri, Mar 5, 2021 11:43 PM UTC:

The database seems to be working now. I have adjusted the time controls for games to give ten extra days to make up for the downtime.


Upgrading to CentOS 8[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Fri, Mar 5, 2021 11:28 PM UTC:

This did not go well. So, I reinstalled CentOS 7 and restored the site from backups made on February 26th. I have been having trouble with accessing the database using MariaDB 10.5.9. I have switched to MariaDB 5 to see if it makes a difference.


Left-Right Chess. A large variant with some pieces that move as a Rook only left or right.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Feb 26, 2021 05:44 PM UTC:

Despite a slight revision to it, the interactive diagram is still not working.


sd. Members-Only Missing description[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

Charles Gilman[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Fri, Feb 26, 2021 02:42 PM UTC in reply to Christine Bagley-Jones from 12:35 PM:

He dropped off without explanation after updating the graphics on his pages to use the diagram designer and shortcodes. He has not been in contact with me, and he has had no known web presence apart from his activity on this site.


Sting. Members-Only Missing description[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

MLmightychess[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Feb 25, 2021 10:49 PM UTC:

I am going to delete this page, because we already have a rules page on Mighty Chess, and this website is about other games besides Mighty Chess. If you want a link page to your website, make it about your website, not about one particular game on your website.


7x7x7x7 Chesseract. Members-Only 4-dimensional chess on a 7x7x7x7 Tesseract.[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

New Submissions for Review. A listing of all submissions still awaiting editorial approval.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Feb 25, 2021 10:36 PM UTC:

I added information on the last action to each submission listing. This will be either the latest comment or the latest revision, and it will give us an indication of which submissions require attention. When the last action was by the author, the last action text will appear green, and this will indicate that some attention is required from the editors. When the last action was not by the author, the last action text will appear red, and this will either mean that someone is working on it, or that we're waiting for some action by the author.


Sting. Members-Only Missing description[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

Knockoff Chess. Chess with pieces that push each other around and off the board.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Feb 25, 2021 07:16 PM UTC in reply to Daniel Zacharias from 07:03 PM:

You mean they are divergent pieces that can push pieces only with their capturing move, not with their non-capturing move. Correct?


🕸Fergus Duniho wrote on Thu, Feb 25, 2021 06:43 PM UTC:

If Pawns can use their capturing ability only to push friendly pieces, then what sense can be made of en passant capture?


Poison Pawn Chess. Capture the wrong pawn and you lose.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Feb 25, 2021 01:57 AM UTC in reply to Ben Reiniger from Wed Dec 9 2020 10:16 PM:

please clarify if you choose one of your pawns to be poisoned, or can you choose one of your opponent's instead?

The video answered this question. Although it's a long video, it covers the rules of the game in the first two minutes.


Boyscout. Moves in a diagonal zigzagline.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Feb 24, 2021 07:23 PM UTC in reply to Bn Em from 06:45 PM:

though I expect he'd have called them helical girl‐/boy‐/doublescouts rather than rooks/bishops/queens

He liked to give everything a unique name, which could create a barrier to remembering all the many pieces he named. I want to keep things simple, memorable, and generic, especially when it comes to names to use outside of any variant. I would just use the names of Crooked Rook, Bishop, and Queen for the pieces he gave scout names.


🕸Fergus Duniho wrote on Wed, Feb 24, 2021 06:22 PM UTC in reply to Bn Em from 05:52 PM:

Charles Gilman, rather predictably, is way ahead of us here. The helical Rook, Bishop, and Queen are in M&B09 as respectively Proselyte, Brueghel, and Halcyon.

Here is what he says about those pieces:

Crooked odd-move pieces alternate between destinations on two paths of Bent pieces. Names combine the start of the Straight piece and end of the Bent one, where possible alluding to the latter. Square-cell boards have the PROSELYTE, meaning someone changing religion, is a 90° Crooked Panda switching Anchorite paths and the BRUEGEL or BRUEGHEL, a 90° Crooked Bear switching Angel paths and named after a family of Dutch artists. For Proselyte+Bruegel - a Crooked Harlequin switching Gorgon paths, HALCYON as a synonym for kingfisher conveys a Kinglike combining of orthogonal and diagonal.

The Panda is the Slip Rook, which I called a Shifty Rook. A Crooked Panda would make criss-crossing Dabbabbah leaps across a diagonal axis. The Crooked Bear would make criss-crossing Alfil leaps across an orthogonal axis. In contrast to these, the Helical Rook makes a series of criss-crossing Wazir moves, and the Helical Bishop makes a series of criss-crossing Ferz moves. So, I don't think these are the same pieces.


Bent Riders. A discussion of pieces, like the Gryphon, that take a step then move as riders.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Feb 24, 2021 03:44 PM UTC:

Last night I was thinking of bent riders that are not bent in the sense of changing direction. I suppose they are among the 25 possibilities Betza mentions, but I don't think he elaborated on them. One piece I was thinking of would initially move as a Wazir, then if it continues, continue as a Dabbabbah-Rider. Unlike the Dabbabbah-Rider, this would not be color-bound. Another one would initially move as a Ferz, then if it continues, continue as an Alfil-Rider. Unlike the Alfil-Rider, this would be able to reach every space of the same color instead of just half of them. I was thinking I might call these the Shifty Rook and the Shifty Bishop and their compound the Shifty Queen. Has anyone used these pieces before?


Boyscout. Moves in a diagonal zigzagline.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Feb 24, 2021 03:35 PM UTC:

It occurred to me last night that the movement pattern of this piece resembles a double helix, though it is not exactly that. This led me to think of pieces whose movement pattern actually does form a double helix. The diagonal form would go one space diagonally, then if it continued, turn 90 degrees and move up to two spaces in that direction, and if it continued, it would turn back to the other direction and move up to two spaces in that direction, and so on, alternating between the two diagonal directions that move it away from its origin along a particular orthogonal axis. Each movement path would be a single helix that keeps going back and forth across the same axis, and since a piece would normally have two helical paths around the same axis, this would be a double helix, as in the structure of DNA. Because it would need room on each side of its axis to complete its move, it would be weaker than the Crooked Bishop on the sides of the board. Has this already been invented? If not, Helical Bishop would be a fitting name.

There would also be a Helical Rook. This would move in an orthogonal direction, and if it continues, turn 90 degrees and move up to two spaces, then if it continues, turn back to the other direction and move up to two spaces, and so on, always criss-crossing the same diagonal axis in a helical manner. Like the Helical Bishop it would need room on each side to complete its move and so would be weaker on the sides than the Crooked Rook.

The Helical Queen, of course, would be a compound of these two pieces.


Generals' Chess. Missing description (9x9, Cells: 81) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Feb 24, 2021 12:32 AM UTC in reply to H. G. Muller from Tue Feb 23 10:00 PM:

The Blacksmith occurs in Chu Shogi as Horizontal Mover.

I found the Side Mover in Chu Shogi described as sRvW, but the Blacksmith in this game is a divergent pieces that moves like this only when not capturing. It captures as a Ferz.


🕸Fergus Duniho wrote on Tue, Feb 23, 2021 09:39 PM UTC:

I touched up this page and added some graphics. I used piece images from the Alfaerie: Many set, but the Blacksmith may be a new piece, and I'm not sure if that set includes anything that would be appropriate. Does anyone have a suggestion for what would be appropriate?


Pawn Blackhole Chess. Each side is split into two and grouped into corners. Pawns play towards the center.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Feb 23, 2021 07:42 PM UTC:

Published. The page linked to mentions a different inventor for this game than this page does. Are they the same person? Who should be credited as the inventors of this game?


Edit Item Script[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Feb 23, 2021 05:47 PM UTC:

I have edited the indexmaint/edititem.php script to use datalists instead of select lists. Since multiple fields can share the same datalist, this makes the script quicker to download. Since it will narrow down the values of the datalist as you type, this will make it easier to get to the right value. Since it will now allow you to enter values that are not in the datalist, I have removed all the fields for entering new values. All these did was copy their values to the strings created for the select lists. Just in case of any problems, I backed up the previous version of the script as oldedititem.php.


Generals' Chess. Missing description (9x9, Cells: 81) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Feb 23, 2021 02:59 PM UTC:

Each player has 3 blacksmiths beside the board when the game starts. The first move consists of placing all 3 blacksmiths on the player’s second rank.

Considering that each player's second rank is already filled by Pawns, does this mean that Blacksmiths replace three Pawns on each side?


Chess Anew v1.0. Members-Only First game in a series of 5. New pawn rules, pieces can be bought back after being captured, and there is no stalemate.[All Comments] [Add Comment or Rating]

Since this comment is for a page that has not been published yet, you must be signed in to read it.

Manticore. Moves one space orthogonally, then slides outward as a Bishop.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Feb 22, 2021 04:16 PM UTC:

I went into the database to change the ItemID to MSmanticore and to change the name to Manticore. I unhid the page, made it part of the Piececlopedia, and changed the inventor from the author to Ralph Betza.


Upgrading to CentOS 8[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Mon, Feb 22, 2021 03:46 AM UTC:

This site currently runs on CentOS 7, and I plan to upgrade it to CentOS 8 later in the week. This may result in some downtime. CentOS has been a free OS based closely on Red Hat Enterprise Linux. But CentOS is now owned by Red Hat, and they are planning on changing CentOS from an enterprise OS to more of a testing ground for new features, which would make it less stable. I plan to eventually switch to Rocky Linux, a new project from the founder of CentOS that will be more like CentOS has been. Switching to CentOS 8 is a transitional move that will make this server ready for switching to Rocky Linux when it is available.


Manticore. Moves one space orthogonally, then slides outward as a Bishop.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Feb 22, 2021 02:41 AM UTC:

So far, we have three votes for Manticore and no other votes. Ben, Bn, and H.G. are interested parties who have not yet voted. If they're agreeable to Manticore, then we will have a consensus.

I do agree with some of H.G.'s reasons for going with Aanca, but I think the main factor in how many people will read this page is how much it gets linked to from games using this piece.


🕸Fergus Duniho wrote on Sat, Feb 20, 2021 05:59 PM UTC in reply to Bn Em from 01:36 PM:

I've changed it to refer to acromantula

Because of its extended moves that go off in eight directions, Acromantula would be a fitting name for the piece. Aanca has the advantage of being the name used by the piece's inventor, and it might be the best known name for the piece. If we go with a different name, I'm not of the opinion that it must start with the letter A. Manticore is a fine name that pairs well with Griffin. That's why I suggested it on the Bent Riders page. I suppose I can accept any one of these three names.


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Fri, Feb 19, 2021 03:17 AM UTC in reply to Daniel Zacharias from Thu Feb 18 10:12 PM:

It seems like a similar problem to this other preset I made where I'm unable to edit anything https://www.chessvariants.com/play/pbm/play.php?game=Decimate&settings=test

When I looked into that one, I checked the error.log, noticed it was trying to load the file "sets/.php", and then went back and noticed that the Set field in the form was not set. I set it to Alfaerie: Many, but when I changed the group to Unique, the set switched to Alfaerie: All SVG. In sets.php, I noticed that Alfaerie: All SVG was not assigned a group. So, I assigned it to Unique and reloaded the page. But when I selected Alfaerie: Many and changed the group to Unique, it still changed it to Alfaerie: ALL SVG. I couldn't figure out why that is happening, but when I saved a test version of your preset with the set set to Alfaerie: ALL SVG, it at least displayed the board instead of giving me a blank screen, but it did not display anything further. When I added "&submit=Edit" to the query string, I saw that the change I made had been saved. For one further test, I deleted the Pre-Game code and saved it again. This time, it did not give me any problem. So, there may be something in your code that is not parsing properly or something.

This is what I cut into the clipboard:

alias E A e a W D w d H .WA h .wa G .H3 g .h3 C+ CW N+ NW c+ cw n+ nw E+ BD e+ bd W+ RW w+ rw;

empty c5 c6 d5 d6 e5 e6 f5 f6 g5 g6 h5 h6;
dump;

🕸💡📝Fergus Duniho wrote on Thu, Feb 18, 2021 09:11 PM UTC in reply to Daniel Zacharias from 08:28 PM:

The problem is that the king can still jump out of check. I saved it again after enabling the call to the checked subroutine and now it doesn't work

It's giving me a 503 error when I try to access it. You can still edit it by appending "&submit=Edit" to the query string. Since the checked subroutine calls the functions for the pieces on the board, you should make sure these functions are all working correctly.


🕸💡📝Fergus Duniho wrote on Thu, Feb 18, 2021 08:06 PM UTC in reply to Daniel Zacharias from 07:59 PM:

I just tried your preset, and it appeared to be working. If a particular move isn't working, you can let me know what it is.


🕸💡📝Fergus Duniho wrote on Thu, Feb 18, 2021 07:52 PM UTC in reply to Daniel Zacharias from 04:03 AM:

// and not sub checked #0 If this line is uncommented the preset won't work?

This line calls the checked subroutine. If that subroutine has not been defined, your code will not work.


About Game Courier. Web-based system for playing many different variants by email or in real-time.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Thu, Feb 18, 2021 01:42 PM UTC in reply to Christine Bagley-Jones from 03:22 AM:

the problem occurs straight away, it's like i'm viewing someone else's game

You entered the game in View mode. If you followed the link emailed to you, or you viewed only your own games on the Logs page and followed the link under "Next Move for", this would not have happened.

ok, I have moved, i had to click the box where it says 'christine bj to move',

That takes you out of View mode to Move mode.

as far as setting to 100 and then click 'preview', i can't see that word preview, but i can see a 'view',

That's one of the differences between View mode and Move mode. Go to Move mode first, and then change the scale.


🕸💡📝Fergus Duniho wrote on Thu, Feb 18, 2021 02:52 AM UTC in reply to Christine Bagley-Jones from 01:47 AM:

I can't make a 2nd move in my game of Sky with Carlos

I was able to get as far as previewing sample moves, though since I'm not you, I didn't confirm any move. At what point in the process of moving did your problem occur?

and this game is also set at 50, to do with the size, can that be changed

Yes, just enter 100 instead of 50, then click Preview.


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Thu, Feb 18, 2021 12:37 AM UTC in reply to Daniel Zacharias from Wed Feb 17 10:51 PM:

It's now fixed.


🕸💡📝Fergus Duniho wrote on Wed, Feb 17, 2021 11:57 PM UTC in reply to Daniel Zacharias from 10:51 PM:

That's partly my fault. I was working on the little used replace command today, but it turns out that drop and replace use most of the same code, and the drop command was used in these presets to randomize pieces. If Aurelian had saved the randomized position to a constant and had used the constant to recreate it, this problem would not have come up. I am currently comparing the two versions and rolling back my edits to try to figure out what change stopped drop from working as it had. While I'm doing this, it may or may not be working at times.


Game Courier Developer's Guide. Learn how to design and program Chess variants for Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Feb 17, 2021 09:20 PM UTC:

How to replace piece labels without using aliases

The Alfaerie:Many set uses many cryptic labels that include punctuation, and it would be best to avoid using these to represent your pieces in games. In the past, you could set aliases to avoid using these labels, but you would also have to meticulously make sure you used the aliases rather than the labels. Instead of doing this, you may now completely replace the original labels with new ones. Here is how to do it. This code has all been tested and saved to an example preset.

  1. Use the labels defined in Alfaerie:Many in your FEN code while designing the board. In my example, I used {.df}n{b$}qk{b$}n{.df}pppppppp32PPPPPPPP{.DF}N{B$}QK{B$}N{.DF}.

  2. Create two arrays, one for regular pieces, and one for flipped pieces. Depending on the set file, you may not need one for flipped pieces, but Alfaerie:Many does include some flipped pieces. So, you have to include it for this set.

set mypieces ();
set myflipped ();
  1. For the pieces that will remain unchanged, simply add them to these arrays like so:
foreach label (k K q Q n N p P):
  setelem mypieces #label pieceimg #label;
  setelem myflipped #label flipimg #label;
next;
  1. For pieces that will be relabled, assign the appropriate images to your new labels. These use the pieceimg and flipimg operators to return the images for regular and flipped pieces. It then replaces the old pieces on the board with the new ones that have more appropriate labels. It uses an array of all spaces for this task.
set sp spaces;
foreach pair ((.df r) (.DF R) (b$ b) (B$ B)):
  setelem mypieces #pair.1 pieceimg #pair.0;
  setelem myflipped #pair.1 flipimg #pair.0;
  replace #pair.0 #pair.1 all #sp;
next;
  1. Reassign values to both $pieces and $flipped:
setsystem pieces #mypieces;
setsystem flipped #myflipped;
  1. Update the value of $originalpieces:
setsystem originalpieces currentpieces;

MSchushin-shogi[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Feb 17, 2021 06:38 PM UTC:

I don't want to take the time to review this carefully, but it looks good, and I trust the author. So, I'll unhide it without checking it over carefully.


Game Courier Developer's Guide. Learn how to design and program Chess variants for Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Feb 16, 2021 10:02 PM UTC:

I have added the pieces system variable. This is the array stored in a set file. Its keys are piece labels, and its values are the filenames of image files. It basically tells which graphics to use for the pieces. I also fixed things so that you can set or get specific values of this array. This is done by following the variable name with a period and the element name. Because this will not work for labels that include periods, I have also added the pieceimg operator. This returns a specific element of the $pieces array.

The point of this is to make it even easier to support multiple sets when matching sets have not been provided. It can also be used to eliminate the need to use aliases. Here is how it may be used:

  1. Set groupsets to an array of the allowed sets. Each should be the basename of a set file:
setsystem groupsets array abstract5 alfaerie-many;
  1. Create an empty array:
set mypieces ();
  1. For any pieces whose images already have the same label in different sets, set the corresponding elements of your array to those pieces:
set mypieces.k $pieces.k;
set mypieces.K $pieces.K;
set mypieces.q $pieces.q;
set mypieces.Q $pieces.Q;
set mypieces.r $pieces.r;
set mypieces.R $pieces.R;
set mypieces.b $pieces.b;
set mypieces.B $pieces.B;
set mypieces.n $pieces.n;
set mypieces.N $pieces.N;
set mypieces.p $pieces.p;
set mypieces.P $pieces.P;

Or just:

foreach label (k K q Q r R b B n N p P):
  setelem mypieces #label pieceimg #label;
next;
  1. For each allowed set, use an if-elseif-else block or a switch-case block to set an individualized value for any pieces that are different between sets:
if == pieceset abstract5:
  set mypieces.s $pieces.s;
  set mypieces.S $pieces.S;
elseif == pieceset alfaerie-many:
  set mypieces.s pieceimg .de;
  set mypieces.S pieceimg .DE;
endif;
  1. Change the value of $pieces to that of the array you created:
setsystem pieces #mypieces;

Although you could have edited $pieces directly, this has the advantage of stripping $pieces of all the pieces you will not be using in your game.


100 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.