Comments by FergusDuniho
This could use some more detail, particularly regarding its connection with Fischer Random Chess, a.k.a. Chess 960. There are more than 960 possible positions, but there are only 960 that are possible by the rules in Fischer Random Chess for selecting the position.
I replaced the setup diagram with a local one and approved this page. This game uses reproduction in an interesting way.
I revised the wording of the rules a bit and approved this page.
I made the description of the Nobleman clearer for someone who cannot see or follow the link, and then I approved this page.
I modified the formatting of the rules and removed the redundant text, but I do not understand this game. Rapprochement is not a common everyday word, and even after looking it up, it doesn't help me understand the object of this game.
Can anyone read this? I think it's in Spanish.
The external images on this page are all broken. Be sure to use only locally-hosted graphics for your page.
They are just decorative bullet points.
If you mean to use bullet points, you should use the UL and LI tags. Also, it's not clear to me why these particular paragraphs would be bulleted.
I don't see the page, only these lines:
Any members can see unpublished pages when they're logged in. I expect you were not logged in yet.
(later on, I will try to draw a diagram)
So we're still waiting for a diagram. Okay.
I added a photograph, edited some text, and approved this page. Although my magnetic set folds the wrong way for this game, I put the board on its side, placed the pieces on in reverse along the side files, and reversed the image, so that everything looks correct for this game. I'm not sure this game truly counts as a 3D game, because it does not have a third dimension of movement. Instead, it is a flat surface wrapped around a 3D object, such that there are connections between spaces on the edges that don't normally exist in Chess.
I did not invent this variant, but I don't see the "submit a variant you've heard of but can't find on this website" button.
I have corrected that. You are no longer listed as the inventor, and I deleted the "but ..." part from the page, since it was mainly a note to the editors.
@Fergus: can there be a problem with functions that have a name starting with a period?
It would appear so. I ran this code to test this:
def cat * 2 #0;
def .dog *2 #0;
set p fn cat 8;
set q fn .dog 8;
dump;
And the result I got was this:
array(1) {
[0]=>
array(1) {
["main"]=>
array(2) {
["p"]=>
int(16)
["q"]=>
array(2) {
[0]=>
string(1) "8"
[1]=>
string(2) "*2"
}
}
}
}
This may be because GAME Code uses the period to separate array elements from arrays. I would recommend using aliases (old way) or rewriting the $piece array (new way) to avoid the need for writing functions with names that start with a period.
I think the unexpected result is due to a space missing between * and 2 in the .dog definition.
Yes, when I corrected that, .dog gave me the correct result.
If I understood the 'new method' correctly, it would require help of an editor to define a new piece set in a PHP file.
No, the new method was provided to eliminate the need to make new set files. I have now written a subroutine that will do the job once you feed it the data. It is in the include file update-piece-set, and the subroutine is called update-piece-set. Just feed it the notation you will use. To make preparation of data easier, you may feed it all the data it needs in a single array. Each array element should be a single piece label or an array including the piece label first and the new notation second. Where a piece label is by itself, it will reuse the same label for the same piece. Where it comes paired with new notation, it will use the new notation for the piece and discard the old piece label.
This method allows the designer to write the FEN code using the original labels, but within the code, it will change the piece labels to the desired notation, and it will strip the $pieces array of all pieces not being used.
You may get data on what notation to use from the user. For each piece, just include an extra field on what notation to use for the piece. When it's left empty, use the original piece label.
Where can I find this include file?
It's in the includes directory. So, you just include it by name.
BTW, I did stumble on the method for defining a piece set through assigning to $pieces. Perhaps this is the best method to convert Interactive Diagrams to GAME code, as these Diagrams do specify the filenames of the piece images, the directory where these images are to be found, and the piece IDs (which can be used as labels). So it would just be a matter of dumping this internally held info in the form of a GAME-code associative array, in the code generated for the Pre-Game section.
Yes, that could work, though there is one caveat. When Game Courier is in Edit mode, it does not run any code unless someone clicks Run. This is a safety precaution to allow someone to edit buggy code that would otherwise disable the preset. Consequently, the board may not look right in Edit mode until someone clicks Run. If you use a set file in conjunction with the update-piece-set subroutine, though, it will avoid that problem. However, there could be a discrepancy between the labels used for the FEN code and the notation used in the preset.
To avoid that discrepancy, I was thinking of letting custom piece sets be stored as constants. However, constants are stored in logs, not in settings files. So, I'm not sure I have a good solution for this yet.
I don't understand what means "the available includes files" ?
An include file is a file containing programming code that is available for including in larger programs. The purpose behind this is to avoid rewriting code for different programs. Instead of writing each program from scratch, you can include include files to handle things that someone has already written code for. When writing GAME Code, you can use the include command to include the code in a particular include file. These are written as text files and have the .txt extension, which is the default extension for text files. But they are normally included without including the extension in the file name. The include files I have written are all in the /play/pbm/includes/ directory. To include one with the include command, just give its base name, which is the part before the .txt extension. H. G. Muller has written some include files in a different location, and these, I believe, are included by giving its full path and file name.
I'm quite interested by this possibility as I understand that this is a way to get rid of the creation of new sets.
It doesn't get rid of the creation of new sets. It just changes how you make them. Instead of writing a PHP file and having it put in the /play/pbm/sets/ directory, you can create a set using the GAME Code language.
However, I'm not very skilled in coding, I mean less than you all, and I don't understand everything. Is there any example in some files?
The only example is in comment 42275 on the Developer's Guide page. But this is an example of creating five different sets that each have only the standard Chess pieces in them. If you understand how it works, then you may be able to adapt it to create a set for a specific game. However, I might need to add some details to it to handle pieces that do not match up with pieces already in the set it is loading before running GAME Code.
Instead of creating a new set from scratch, you may prefer to work with an existing set that happens to include everything you need, then use the update-piece-set subroutine to define a new set in terms of it.
I haven't used it that way since I had Windows 95. When I did, I arranged with another person regarding the time and game we would play together, and I believe I was in communication with him while setting up the connection for Zillions-of-Games. But I do not remember the steps we went through to do that. Also, back then, I had a dial-up internet account. I now have broadband, which works differently, and I don't know if that will make a difference.
The labels w and W are using paths that do not exist. The value for $dir should be an absolute relative path, not one whose value depends on another path value already being set. The value "/graphics.dir/alfaerie/" specifies a specific directory, but "../graphics.dir/alfaerie/" does not, or it specifies the wrong one, such as "/play/graphics.dir/alfaerie/". While "../" should not be used in $dir, it may be used in the location of a specific piece, because this will be relative to the absolute value in $dir. For example, w may be "../alfaeriemisc/compounds/%zebrawazir.gif".
the idea behind the Play-Test Applet is that it would make things as easy as riding a bicycle, where otherwise they are as complex as assembling your own car from parts, and learning how to drive it.
That's not quite correct. The alternative to using the Play-Test Applet will often just involve copying a preset that already works, writing FEN code for the board, assigning piece labels and notation to the correct pieces, and saving. As long as a game uses pieces already programmed in the fairychess include file, has a fixed setup, and mainly follows the rules of Chess, it should be easy enough to create a programmed preset for it without knowing how to program.
The server never crashed. I was simply unable to boot it back up after attempting a reboot. For those who don't know, this is because the host's website was down, which left me without the ability to access the control panel for the VPS. The host is now back online, and I now have a second VPS with a different company, which has been assigned to the chessvariants.org domain. I will now work on backing up my websites to the other server.
Please back it up ASAP!
I copied a backup of the files and the database to the backup server. When I extracted the tar file, it overwrote the .htaccess file, which caused chessvariants.org to go to chessvariants.com. I will have to rewrite the .htaccess file so that the same file can work properly on both servers. Then I'll be able to test that the database and pages are working correctly over there.
25 comments displayed
Permalink to the exact comments currently displayed.
I'm still waiting for changes to be made to this page, as indicated in my previous comment.