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

EarliestEarlier Reverse Order LaterLatest
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 Sun, Oct 10, 2021 11:15 PM UTC in reply to A. M. DeWitt from Sat Oct 9 01:23 AM:

Another possibility for detecting a suicide move is to store the board position before the move into a variable, then compare the new position after the move to the stored position and see what differences there are.

This could potentially solve the problems of detecting a suicide move if I knew how to do it.

Here's a preset I made to demonstrate how to do this:

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

This records the position of every piece on the board in an array whose keys are coordinates and whose values are piece labels. It does this both before and after a move. It then goes through the current positions of pieces. For each empty space, represented with the @ piece, it compares it with the previous value to see if it was empty before. If it wasn't empty before, it records it as a capture.

Since I am already writing this, would the system used for the multi-move variants be able to handle moves with three or more parts (i.e. that of the Lion Dog in Maka Dai Dai Shogi)?

You could adapt it. For the multi-move variants, there are usually the same number of move parts each turn. So, it makes sense for these games to do the multi-part analysis globally for all pieces. But for games that include pieces with multi-part moves, you may want to reserve the multi-part analysis for specific pieces and tailor it to each piece that needs it.


🕸📝Fergus Duniho wrote on Mon, Oct 11, 2021 06:48 PM UTC:

I realized the role that $width and $height play in centering the borders for highlighting spaces, and with that in mind, I simplified the code in draw_grid_png.php and made adjustments to the $width and $height of Shogi pieces and to the values of $offx and $offy in image_dimensions.php. By using proper values for $width and $height, the code will always apply CSS for margins and padding to the space class rather than to each element of the space class.

I didn't immediately recognize the importance of $width and $height, because I created these variables years before I ever added the ability to display legal moves by highlighting spaces. These variables describe the width and height of spaces, and they are used when automatically generating a board to know what dimensions to give to spaces. But sometimes an image of a board is used instead, and when it is used, $width and $height should match the size of the spaces on the image.

This is what I was neglecting to do. The highlighting in Shogi was a bit off, because the value of $height did not match the height of the spaces on the images of Shogi boards.

Since Shogi divides each space by lines, there are two choices on how to specify the dimensions of a space. One is to use the inner space between the lines, and the other is to extend the size to include the lines. I tried both and chose the latter for Shogi.

For automatically-generated boards, the centering of borders for highlighting should now be done automatically. But for boards provided as pre-drawn images, it's important to match them up with the correct values for $width and $height. One way would be to size the board with spaces the same size as the dimensions given for the piece sets to be used with it. Abstract and Alfaerie sets both normally use 50x50 spaces. Another way would be to provide correct values for your board. I could add these to the image_dimensions.php script for specific boards.


🕸📝Fergus Duniho wrote on Thu, Oct 14, 2021 12:22 PM UTC in reply to A. M. DeWitt from 04:06 AM:

If something similar could be used to detect the type of piece affected by the suicide, that should be everything I need to enforce the burning rules using suicides, at least in theory.

That information is in #pfore. Just use the coordinates of the spaces with missing pieces as keys to this array.


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sat, Oct 16, 2021 12:55 AM UTC in reply to A. M. DeWitt from Fri Oct 15 10:43 PM:

The Edit Comment scripts aren't working properly. Whenever I try to edit a comment it fails. Posting comments still works though.

Until I'm feeling better, I have simply reverted this to Sunday's version. I have been having fever symptoms. I had chills last night, and now I'm feeling too warm. I will continue debugging code when I'm feeling better.


Zillions of Games. It can play an endless variety of abstract board games, and we have a large collection of Chess variants you can play on it.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sun, Oct 17, 2021 01:49 AM UTC in reply to Robert Mate from Sat Oct 16 10:08 AM:

Guess I could try emulating windows 95

I don't think that will help. I think you just need to coordinate with another person who is willing to play against you at a certain time.


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 Wed, Oct 20, 2021 01:55 AM UTC in reply to A. M. DeWitt from Tue Oct 19 09:18 PM:

Is it just me, or is the latest version of my Taishin Shogi GC preset overloading this whole site? Whenever I click on my settings file to play it, I get nothing but 524 errors for a while.

When I first tried loading it, I checked the error log and got

PHP Fatal error: Maximum execution time of 30 seconds exceeded in /home/chessvariants/public_html/play/pbm/gamecode.php on line 2524

I fixed some of the errors above it, but I still get a maximum execution time exceeded error. There is one persisting and multiply-repeating warning that I think is due to your own code:

PHP Warning: Undefined array key 897 in /home/chessvariants/public_html/play/pbm/gamecode.php on line 1122

The line in question, line 1122, is part of the code for the "sub" command, which indicates the beginning of a subroutine definition, and it says:

$linenum = $links[$linenum];

This refers to an array that is calculated before any line of GAME Code is executed. This comes from analyzing the structure of the code. So, I would recommend looking for a structural problem in one of your subroutines. Perhaps a block of code wasn't closed off properly, causing endsub to not be expected yet when it appeared. The problem might be around line 897 of your code, since that was the value for $linenum in the warning that kept repeating.


Vao. moves like bishop but must jump when taking.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Thu, Oct 21, 2021 02:33 AM UTC in reply to dead dead from Wed Oct 20 11:25 PM:

Originally posted on Pemba, where this piece is called a Crocodile.

Calling the diagonal Cannon a “Crocodile” makes zero sense. I prefer Gilman’s term for the piece: Arrow.

Agreed, except that I introduced the name of Arrow in Yang Qi, and Gilman copied it. See Comment 14476 on the Yang Qi page.


🕸Fergus Duniho wrote on Thu, Oct 21, 2021 05:43 PM UTC in reply to Jean-Louis Cazaux from 09:41 AM:

Originally posted on Pemba, where this piece is called a Crocodile.

this is my variant. I name the pieces as I like. Plenty of other chessvariants have names for their pieces that I don't like. I beg you to respect my choice

Agreed. I respect the right of game creators to use the piece names they wish to.

I use the name of Crocodile for the Vao for several of my variants already published here and on my site. So, I wish to be consistent in the tree of my variants. See Zanzibar-S, Zanzibar-L, Maasai Chess, Teramachy, Gigachess II, Terachess II, etc.

While consistency makes sense, it is only consistency with yourself, and you retain the right to rename the piece in all your variants if you desire to.

Saying it has no sense is wrong and upsetting.

It would be wrong to say that you had no reason for the name, because of course you did. I can't speak for Theresa, but I was aware, more or less, of your reason for the name Crocodile. I just don't think it is a good one.

In Grant Acedrex (from 1283) there is a Crocodile, named Cocatrice to be precise in medieval Spanish but which is depicted as a crocodile in that codex. This piece plays as a modern Bishop. The diagonal move is the inspiration for the name of Crocodile in my variants. You can estimate that this reason is weak but it is not "no sense".

Okay, it is weak, and I will now back that up. First of all, I disagree with the principal that it is a good idea to intentionally name a piece after a different piece that moves similarly to it. To be clear, this is different than accidentally giving a piece the same name as another piece or intentionally giving a piece the same name as another piece despite that name already being in use. I consider a name already being used for another piece a prima facie reason against using the name. But as long as you have other good reasons for using a name, these reasons may override this reason against using the name and independently justify the use of the name. In this case, though, you have no independent reasons for using the name Crocodile. Your only reason is that the name was used for the Bishop, which moves in the same directions as the Vao. Since I would count this as a reason against using the name rather than as a reason for using it, I do not consider this a good reason for using the name.

Second, you are using a translation of the original name, and I do not trust your translation. Cocatrice (or cocatriz as I actually found it spelled in the text of the Grant Acedrex) is not the Spanish word for crocodile, which is actually cocodrilo. Both spellings, cocatrice and cocatriz, are suspiciously close to cockatrice, which is a mythical serpentine beast or dragon with two legs and the head of a rooster, and when I search for either term, that is what I get articles on. Although you claim that the Grant Acedrex depicts the cocatrice as a crocodile, I did not find any depiction of it in the images we have of it on this site. But if you have images we don't have, I would be happy to see them. Additionally, the Grant Acedrex has included the names of other mythical animals that you have translated into the names of real animals, such as AAnca and Vnicornio. I am suspicious of those translations as well. Naming pieces after mythical animals has not been uncommon. So, if a name in a historic text looks like the name of a mythical animal, that may well be what it is.

Finally, I did have very good reasons for selecting the name Arrow. My first idea for a name was the punny name of Canon, which is a kind of cleric whose name sounds like Cannon. But it's not really a good name for the piece in a game that already includes a Cannon, and I also decided to give it a Chinese name. For that, I chose the character , whose meanings include both arrow and vow. The idea of an arrow fits with the idea of a cannon as a long-range projectile weapon that can go over the heads of others, and vow is a homonym for Vao, the name that the piece goes by in fairy chess.


🕸Fergus Duniho wrote on Fri, Oct 22, 2021 01:21 PM UTC in reply to Jean-Louis Cazaux from Thu Oct 21 07:32 PM:

Originally posted on Pemba, where this piece is called a Crocodile.

The depiction I was talking about, and S.Musser is talking about, is the unique illustration that is known of this game, the one on the codex

Link, please. I already hunted for a picture yesterday and came up with nothing. Your website included a link to another site, but that site was down, and archive.org wasn't very helpful.


🕸Fergus Duniho wrote on Fri, Oct 22, 2021 06:02 PM UTC in reply to Bn Em from 02:08 PM:

I have moved this discussion to the Vao page.

I assume JL means this one?

Okay, I missed that, because I was looking for an illustration of the piece itself and didn't realize he meant the illustration of the board. The piece in the Bishops's position has four legs and the general shape of a crocodile. So, crocodile may be a fair translation. But my other point still stands. Since the piece that could be translated as crocodile was a Bishop and not a Vao, it doesn't set any precedent or provide a good enough reason for using that name for the Vao.


Rollerball. Chess race fight on board formed by removing 3 by 3 square from center of 7 by 7 square. (7x7, Cells: 40) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Oct 23, 2021 08:10 PM UTC in reply to Jean-Louis Cazaux from 07:07 PM:

Fixed.


Grand Apothecary Chess-Classic. Very large Board variant obtained trough tinkering with known games.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Oct 26, 2021 03:20 PM UTC in reply to Aurelian Florea from 07:35 AM:

The board is colored in 4 colors because of the fact that the nightrider is easier to visualize this way.

But why not three colors instead of four? When I created Cavalier Chess, I tried a four color board, but I found that three colors works better.


New Submissions for Review. A listing of all submissions still awaiting editorial approval.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Oct 29, 2021 03:01 PM UTC in reply to A. M. DeWitt from 02:07 AM:

Okay.


Janggi - 장기 - Korean Chess. The variant of chess played in Korea. (9x10, Cells: 90) (Recognized!)[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sun, Oct 31, 2021 09:06 PM UTC in reply to Jeyoon Jung from 08:59 AM:

One more thing. I am a relatively new person to the CVP, and I believe I saw some articles detailing some strategies in oriental games. However, I cannot find an option to do that.

To do what?


Simple Mideast Chess. Members-Only Game with simple rules, no promotion, no nonstandard move or capture, no asymetric pieces, and no check, checkmate or 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.

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

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

Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Nov 23, 2021 02:10 AM UTC in reply to Aurelian Florea from Mon Nov 22 06:50 AM:

Fergus, Are you here?

Yes, I've been slacking. I'm also trying to catch up on my reading, as I am still ten books away from my reading goal of 52 books for the year, and I have less than six weeks to complete it.


🕸📝Fergus Duniho wrote on Tue, Nov 23, 2021 10:00 PM UTC in reply to Aurelian Florea from 06:50 AM:

These are all using code from H. G. Muller's code generator. So, he would be the one to ask about this unless the problem is more universal.


🕸📝Fergus Duniho wrote on Wed, Nov 24, 2021 02:05 AM UTC in reply to H. G. Muller from Tue Nov 23 10:37 PM:

Doesn't the fact that the code work perfectly in Play mode prove that the problem is not in this code, then?

No, it doesn't. There are sometimes differences in how a game works in Solitaire or Play mode and how it works between two players.


🕸📝Fergus Duniho wrote on Wed, Nov 24, 2021 02:07 AM UTC in reply to Daniel Zacharias from 01:26 AM:

The games all say "White lost by absence of royalty!" and the board is filled with the same piece every time, which seems to always be whatever piece is labelled 's'

Since that error message is not from the PHP code, it must be from the GAME Code.


🕸📝Fergus Duniho wrote on Wed, Nov 24, 2021 05:32 PM UTC in reply to H. G. Muller from 07:34 AM:

It looks like you are not retrieving the value of the constant properly. The line

setsystem space startshuffle;

should be either

setsystem space const startshuffle;

or

setsystem space @startshuffle;

Game Courier Settings Files. Keep track of all the settings files you have written for Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Nov 24, 2021 05:38 PM UTC in reply to A. M. DeWitt from 05:02 PM:

Okay, those are deleted.


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Nov 24, 2021 10:08 PM UTC in reply to H. G. Muller from 06:53 PM:

Pretty amazing that this did not appear to cause any problems in Play mode.

I ran a simple test in Solitaire mode, and it kept running the code for when the constant is not already set. I'll now look into why that is.


🕸📝Fergus Duniho wrote on Thu, Dec 2, 2021 01:40 AM UTC in reply to Aurelian Florea from Tue Nov 30 05:38 AM:

I have been busy with other things. What is the specific issue you are having, and how can I duplicate it?


25 comments displayed

EarliestEarlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.