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. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Fri, Nov 2, 2018 04:09 PM UTC:

While the message "Please report any bugs or errors to Fergus Duniho" is suitable for my own presets, it makes less sense to include it in presets written by others. Also, if you're going to try deleting code, make a copy of the complete code before you do this, and use cut instead of delete. You're not going to be able to rely on using undo like I do in a text editor.


🕸💡📝Fergus Duniho wrote on Fri, Nov 2, 2018 04:04 PM UTC:

> I get the following error message: "This preset enforces the rules and displays legal moves."  many, many times.

That's not an error message. But it is repeatedly printing "Please report any bugs or errors to Fergus Duniho", and that's a sign of an infinite loop. I don't know what could be causing it. When I don't know the cause of a bug, I will delete chunks of code until it goes away, then I will restore the code, narrow down to which code is causing the problem, and fix what's wrong.

> Also as a sidenote to Fergus the command you recomened me &submit=Edit works only with capital "E". Lowercase "e" issues an error involving something with not writting in English :(!

I know that. It's case sensitive.


Sign in to the Chess Variant Pages. Sign in to the Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Fri, Nov 2, 2018 03:55 PM UTC:

Since you're already registered, you could try changing your email address instead of deleting your account and signing up for it again.


🕸📝Fergus Duniho wrote on Fri, Nov 2, 2018 03:53 PM UTC:

The link to the script was missing from the Delete It button. I have now put it back.


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Nov 1, 2018 07:06 PM UTC:

One part of the code said $SESSION instead of $_SESSION. That's now fixed.


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 Thu, Nov 1, 2018 05:02 PM UTC:

I changed the condition with isset($author) to !empty($author), which should now allow you to write to a pre-existing settings file whose author has been set to the empty string. Since the login() function can still return a true value when an empty string is passed to it as the userid, I added some lines of code to set $userid to the value of this function if it was previously empty. That should prevent anyone from saving a settings file with an empty $author string.


🕸📝Fergus Duniho wrote on Thu, Nov 1, 2018 12:26 AM UTC:

3d_chess_war/default.php has its author recorded as the empty string. That isn't supposed to happen.


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, Oct 31, 2018 04:21 PM UTC:

Yes, use setsystem to set the value of capturedpieces. This is an associative array of captured pieces to display. The keys should be piece labels, and the values should be numbers of how many captured.


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 Tue, Oct 30, 2018 09:09 PM UTC:

No, I mean someone like me, Greg, or Ben.


🕸💡📝Fergus Duniho wrote on Tue, Oct 30, 2018 03:58 PM UTC:

For the present, you pass it along to an editor to upload it for you.


Programming Piece Movement in Game Courier. A tutorial on two different ways to program piece movement in Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Oct 30, 2018 02:06 PM UTC:

GAME Code uses prefix notation, not infix notation. This means the operator comes first. Where it looks like infix notation, the operator is actually working with only one operand. In particular, the logical operators can work with either one or two operands. This allows you to string them together as though you were using infix notation, but it doesn't work the same way as infix notation would.


🕸📝Fergus Duniho wrote on Mon, Oct 29, 2018 11:48 PM UTC:

The Bishop in Caissa Britannia had used this code:

def B checkleap #0 #1 1 0 and nor capture nor empty #0 empty #1 or checkride #0 #1 1 1;

Based on what I wrote earlier, this code is incorrect. In a test I ran, this code allowed the Bishop to make a non-capturing orthogonal move, but it did not display it among the available legal moves. So, it seems to be working for actual moves, but it is not working for potential moves. With that in mind, I have changed it to this:

def B checkleap #0 #1 1 0 and cond empty #0 not capture empty #1 or checkride #0 #1 1 1;

Running the same test, this code worked correctly for both potential and actual moves.

 


Patt-schach (Stalemate chess). Players start with an illegal move from a stalemated position. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Oct 29, 2018 11:37 PM UTC:

The former is a common rule in other games, but I don't know of any game where the latter is a rule.


Programming Piece Movement in Game Courier. A tutorial on two different ways to program piece movement in Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Mon, Oct 29, 2018 08:46 PM UTC:

Because the function is going to be used for both actual and potential moves, it has to be able to handle both. For a potential move, #0 will still be occupied, and #1 must be empty, but for an actual move, #0 will be empty, and the move must not be a capture. So, depending on the value of #0, you want to confirm either that #1 is empty or that the move is not a capture. The portion of your code devoted to this looks like this:

and nor capture nor empty #0 empty #1

First, "nor empty #0 empty #1" returns true if #0 and #1 are both false. This value is used as the second value for the next nor. So, "nor capture nor empty #0 empty #1" returns true if #0 and #1 are not both false and it is not a capture. This does not seem to be what you want, since it will always require a false value for capture. But this matters only when #0 is empty, and it could throw off the evaluation of a potential move.

It would be better to use this:

and cond empty #0 not capture empty #1

This returns "not capture" if #0 is empty or "empty #1" if #0 is not empty. The and requires this value to be true for it to continue. Note that this test has to be done only once. So your code can look like this:

checkleap #0 #1 3 0 or checkleap #0 #1 2 2 and cond empty #0 not capture empty #1 or checkleap  #0 #1 2 1;


CRC[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Mon, Oct 29, 2018 03:35 PM UTC:

Please contain your emotional outbursts. While I normally enjoy fixing bugs, I'm less inclined to do so when someone makes a huge stink about one. So, for now, I'll just tell you how to work around it. Open another tab, log in to the site, then go back to the tab where your comment was seemingly lost and reload it.


Wormhole Chess. When a piece leaves a square, it `folds' together. (8x8, Cells: 64) [All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Sun, Oct 28, 2018 04:16 PM UTC:

As I've programmed the game for Zillions-of-Games, promotion is possible only when a Pawn reaches the last rank by capturing a piece.


Olden-RoyalChess. A 12x12 game with many compounds plus new pawn types.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Oct 27, 2018 05:29 PM UTC:

Since another user claimed authorship of this page in the comments, I updated the author and inventor of this page. I don't know if there was another erik before you. If there was, there is no trace of activity before you joined. Even the page you mentioned has a start date that is later than you joined. I'm not sure why some comments are earlier than the start date for this page. It leaves me wondering if another page had the same ItemID but got deleted. However, the page itself says the game was invented in 2013. So, maybe there was just a screw-up in the information recorded about this page.


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Sat, Oct 27, 2018 05:13 PM UTC:

When this happens, manually add "&submit=Edit" to the end of the URL and reload the page.


Sign in to the Chess Variant Pages. Sign in to the Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Fri, Oct 26, 2018 01:45 AM UTC:

If you let me know what your account is, I'll look into this.


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, Oct 24, 2018 01:15 AM UTC:

Game Courier does not check contributor status.


Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Oct 24, 2018 01:00 AM UTC:

This is now fixed. The legal move it had found was the General taking the Chariot. I don't know why it allowed this. The code originally looked like this:

def G checkride #0 #1 1 0 and == var g #1 or checkleap #0 #1 0 1 and flag #1;

This code compared the value of g, which is where the other General was, to the destination.

I changed it to this, which compares the piece on the destination space to the label for the other General.

def G checkride #0 #1 1 0 and == space #1 g or checkleap #0 #1 0 1 and flag #1;
 


Game Courier. PHP script for playing Chess variants online.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Mon, Oct 22, 2018 06:32 PM UTC:

This is now fixed. The movePiece JavaScript function had been trying to clear the markings on e2, which didn't exist, and that stopped it from continuing. Having it clear markings only on spaces that exist fixed the problem.


🕸💡📝Fergus Duniho wrote on Mon, Oct 22, 2018 06:17 PM UTC:

I'm not sure what is going on just yet. Since it wasn't programmed to display legal moves, I fixed that, and it now shows legal moves on White's first turn. After that, it stops for some reason I haven't discovered yet. In the meantime, you can move by typing in the notation for your move. All that's not working is the ability to move by pointing and clicking with the mouse or tapping on the screen.


Zillions of GamesA computer program
. Game package for Windows that allows you to play nearly any abstract board game or puzzle in the world.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Fri, Oct 19, 2018 04:11 PM UTC:

The website is still around. I bought my unlock key many years ago, and I'm not in any position to answer your question. You should contact Zillions-of-Games directly about this. Even if you can't get an unlock key, you may be able to buy a used version of the software on CD.


Programming Piece Movement in Game Courier. A tutorial on two different ways to program piece movement in Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Fri, Oct 19, 2018 11:48 AM UTC:

sign and - are two seperate operations. The - operator does subtraction. The sign operator indicates whether the result of the subtraction is positive, negative, or zero by returning 1, -1, or 0. In this context, this value is being used as a value for the where operator, which takes three arguments and returns a coordinate. It is the same coordinate each time. The space in question is the diagonal space it must pass through before turning to move in an orthogonal direction. By using sign twice, it has divided the board into four quadrants, and it has identified the only diagonally adjacent space it could have passed through to reach the space legal movement to is being checked for. If this space is empty, it then checks whether orthogonal movement from that space could reach the destination space.


Sign in to the Chess Variant Pages. Sign in to the Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Oct 18, 2018 01:15 AM UTC:

When you sign up, email is sent immediately. But thanks to some very strict measures that some email providers take to reduce spam, email from this site doesn't always get through. Check your spam folder, and if you still can't find any email, you may delete your new account and try signing up again with an email address from a different email provider.


The birth of two variants: Apothecary chess 1 & Apothecary chess 2[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Oct 17, 2018 07:46 PM UTC:

When you need the value of a variable in an expression, you have to prepend a # to its name or precede it with the var operator. In "if coun1", "coun1" just returns the string value "coin1". Likewise, in "if coin2", "coin2" just returns the value "coin2".


🕸Fergus Duniho wrote on Wed, Oct 17, 2018 04:04 PM UTC:

Contrary to the code you posted, this is in your code:

set coin1 (rand 0 1);
set coin2 (rand 0 1);

This code sets coin1 and coin2 to 

Array
                        (
                            [0] => rand
                            [1] => 0
                            [2] => 1
                        )

, not to a random number. You need to remove the parentheses for it to work right.


🕸Fergus Duniho wrote on Tue, Oct 16, 2018 06:37 PM UTC:

Give me a link to what you're working on, and I'll take a look.


Alfaerie Variant Chess Graphics. Set of chess variant graphics based on Eric Bentzen's Chess Alpha font.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Tue, Oct 16, 2018 01:57 PM UTC:

That's what it did. With this GIF, it used the actual size of the image.

Likewise with this PNG.

Maybe it chooses something like 150x150 for excessively large images.


The birth of two variants: Apothecary chess 1 & Apothecary chess 2[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Oct 16, 2018 01:49 PM UTC:

Game Courier selects a new seed for each game, and it keeps the same seed throughout a game. To test this, you need to make sure you are playing separate games each time. You could issue invitations to yourself, try it out on different browsers, or start each game in a new private or incognito window. If you go back to your preset's menu between games and refresh your cache, that should also work.


Alfaerie Variant Chess Graphics. Set of chess variant graphics based on Eric Bentzen's Chess Alpha font.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Oct 15, 2018 10:58 PM UTC:

I used CKEditor's WYSYWYG mode to post the image, and it turns out that it set a size for the image without me realizing it. I am switching to Source mode to control the HTML.

Here it is without any size specified:

https://www.chessvariants.com/graphics.dir/svg/alfaerie/wking.svg

Here it is with 50x50 size:

https://www.chessvariants.com/graphics.dir/svg/alfaerie/wking.svg

🕸Fergus Duniho wrote on Mon, Oct 15, 2018 05:42 PM UTC:

On my PC, the image showed up on every browser I tested: Vivaldi, Chrome, Firefox, Internet Explorer, Safari, and Opera. Its aspect ratio was distorted in Safari, so that it was too short or too wide. But this is probably because the latest version of Safari that runs in Windows is old. It appeared fine in Safari on my iPad. Based on this, I expect SVG images to show up in any modern browser.


🕸Fergus Duniho wrote on Mon, Oct 15, 2018 05:29 PM UTC:

I copied them to this site. This is just to test that they show up in the browser:

https://www.chessvariants.com/graphics.dir/svg/alfaerie/wking.svg


🕸Fergus Duniho wrote on Sun, Oct 14, 2018 07:41 PM UTC:

The SVG pieces are looking good. When you have finished making them, I'm hoping you could put them into a zip file and make it available for downloading. I could then work on making use of them with Game Courier and the Diagram Designer.

It is good to be able to put more than one piece on the same space, but I'll point out that Game Courier uses the hyphen for non-space, and you might want to do the same if you plan on handling boards that are not completely rectangular. In that case, you might want to come up with a different way of including multiple pieces on the same space. Since Game Courier encloses longer names in braces, what I'm thinking of is to place multiple comma-separated names between a pair of braces.


Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sun, Oct 14, 2018 07:26 PM UTC:

Since the site was down for a week, I added a week of time to the players whose moves were interrupted by this downtime. But this works only in Game Courier itself. To repeat accurate calculations for each log, the Logs page would have to load each log, which would multiply the work it has to do. Instead, it relies on the value of the Deadline column in the GameLogs table. This is a fixed value that was not updated when I added code to Game Courier to compensate for the time lost by the site being down. Since this value may be mistaken, the Logs page no longer updates logs or the database when time has run out. In this case, it is mistaken, and you should simply continue your game.


Image of four level 3D chess set from 1960s Batman TV series[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Oct 10, 2018 12:41 AM UTC:

It could be that each is just a separate game of Chess to be won or lost on its own terms, and they are playing four games at once, because that is the kind of challenge their intellects need.


🕸Fergus Duniho wrote on Tue, Oct 9, 2018 04:41 PM UTC:

I watched this show before I was into Chess variants. The pieces are Renaissance set pieces. I have a set of those myself. This looks like a very crowded game with a full Chess set on each level. I can clearly enough see the Kings on the top two levels, and it looks like I can see parts of the White King on each level.


Alfaerie Variant Chess Graphics. Set of chess variant graphics based on Eric Bentzen's Chess Alpha font.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Mon, Oct 8, 2018 09:13 PM UTC:

I'm guessing that GitWeb was supposed to be installed to something like /cgi-bin/gitweb/ instead of to /cgi-bin/ itself, because it appears to be designed to monopolize the directory name as though it were a script name. I would recommend uninstalling it and reinstalling it to its own directory.


🕸Fergus Duniho wrote on Mon, Oct 8, 2018 08:57 PM UTC:

Do you have an .htaccess file in your cgi-bin or home folder? It might be set up to rewrite or redirect any URL to cgi-bin to a particular script.


🕸Fergus Duniho wrote on Mon, Oct 8, 2018 08:28 PM UTC:

If you have your own VPS, what's stopping you from installing the software you need on it?


🕸Fergus Duniho wrote on Mon, Oct 8, 2018 01:34 AM UTC:

The GD functions are not accepting script URLs as valid image resources. So, I'll have to handle the recoloring of pieces differently for the GIF, PNG, and JPG rendering methods. I'm thinking I'll add two new parameters. I was going to call them wcolor and bcolor, but bcolor is already used for the border color. Maybe color1 and color2. If left blank, the default color would be used. If non-empty, it would override the color for sets using solid color pieces. For the table and CSS rendering methods, it would convert the image URLs in $pieces to the scripted URLs, and for the GIF, JPG, and PNG methods, it would change the color as it worked with the images.


🕸Fergus Duniho wrote on Mon, Oct 8, 2018 01:10 AM UTC:

I have never worked with SVG files, and the GD library, which is what this script uses, does not support them. Plus, I don't yet have any SVG files to work with. Once I get some, I could look into how they could be used.


🕸Fergus Duniho wrote on Sun, Oct 7, 2018 06:04 PM UTC:

Testing new script.

I was finally able to preserve transparency when resizing. This script works with bitmap images, not with SVG images.


🕸Fergus Duniho wrote on Sat, Oct 6, 2018 10:17 PM UTC:

Pieces could be recolored when rendering the board as a single image, and in table- or CSS-rendered diagrams, script URLs in place of image files. For simplicity's sake, it might be best to do it all through a script that shows individual pieces in specific colors. This is assuming that GD can load an image from a PHP script. But this should be done only for solid-color pieces. So, it would be best to do it with new sets or to adapt some pre-existing sets to handle changes in color.


🕸Fergus Duniho wrote on Sat, Oct 6, 2018 09:55 PM UTC:

I'm now beginning to see why David chose to use blue for the black pieces. I have been looking at the site with my new Likebook Mars, which is an e-ink Android device, and the reds appear very dark or even black, which obscures the detail of the red pieces I've made. But the blue Alfaerie pieces look just fine on its e-ink screen. This is relevant, because David is color-blind, and if I recall correctly, he has difficulty seeing red. I'm going to have to recolor some things so that they are still visible in e-ink and to color-blind people.


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, Oct 6, 2018 03:55 PM UTC:

I added a week of time for the current player of every game that was interrupted. This will not show up on the Logs page, but it will show up in Game Courier.


MLqhesz[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Wed, Sep 26, 2018 12:53 PM UTC:

This is clearly a labor of love, and giving the game its own domain shows your confidence in it. That said, I will point out some things. A trial-and-error process like evolution is not the same thing as a quest for a holy grail. To call this game an evolution of chess could mean one of two things. It could mean it is a mutation of chess, but so are most chess variants, and being a mutation is not a significant milestone of any kind. It could also mean that it is a time-tested accumulatíon of small mutatíons that have become widely accepted by a large community of players as a new standard. In this sense, Chess is an evolutíon of Shatranj. But since Qhesz is the new creation of one person, and it has not had time to catch on anyway, it does not count as an evolution in this sense.

It's not clear from the description of the rules whether castling with rooks is still part of the game.

The crescent moon and star is the symbol of Islam. Some Muslims might not approve of its use for a wizard type piece.

I read this on my new Likebook Mars, which uses e-ink, and the white text on a black background was making the ghosting more visible than usual. Also, it did not seem mobile-friendly enough. The links on the right had little space left, and they were overlapping a bit with the main body.


PHP 7[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Mon, Sep 24, 2018 09:02 PM UTC:

There was a tab character after the closing PHP tag. Redirecting works only if the script doesn't display any text. I deleted it, and it works now, though I had to refresh the page to see the results change in the menu.


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sun, Sep 23, 2018 05:07 PM UTC:

Just testing to make sure nothing is broken after updating scripts for entering comments.


PHP 7[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Sat, Sep 22, 2018 11:19 PM UTC:

This game has its rules described in a minirules file, not in the briefrules value. Minirules files precede the use of the briefrules field. I added the latter, because only editors could upload minirules files. Go to the /play/pbm/minirules directory to edit this file.


🕸Fergus Duniho wrote on Sat, Sep 22, 2018 02:10 AM UTC:

In the test I did, the text I entered in the field showed up in the appropriate place. Can you give me an example preset where this is not working right?


🕸Fergus Duniho wrote on Fri, Sep 21, 2018 02:24 AM UTC:

That's now fixed. The condition for exiting with this message began with empty($SESSION) ||, which would always be true, since the variable name should have an underscore in it, and $SESSION doesn't exist. 


Unicode Fonts with Chess Piece Images. Images of how the Unicode Chess piece characters are displayed in different fonts.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Sep 20, 2018 11:14 PM UTC:

The western style pieces you mention are not circular or wedge shaped, and they are missing some of the images I can see on the page for the font, such as the circular arrow piece, but at least they do include images that can be used for Shogi and Xiangqi, and it would be possible to add these images to the appropriate shapes to make piece sets out of them.


🕸📝Fergus Duniho wrote on Thu, Sep 20, 2018 09:15 PM UTC:

Where are the Xiangqi and Shogi pieces? I couldn't find those in the font.


🕸📝Fergus Duniho wrote on Thu, Sep 20, 2018 07:29 PM UTC:

It looks like you're right. I have the font installed, and I got a white elephant.


🕸📝Fergus Duniho wrote on Thu, Sep 20, 2018 07:27 PM UTC:

Testing: 󼋠 should be a White Chess Elephant


Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Sep 19, 2018 10:09 PM UTC:

Carlos was jumping the gun about him. He was using translated pages, and these weren't sending the correct submit values to Game Courier. I recommended that he use English pages, and in the meantime, I fixed the problem with translated pages, so that they would work too.


Unicode Fonts with Chess Piece Images. Images of how the Unicode Chess piece characters are displayed in different fonts.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Sep 19, 2018 06:16 PM UTC:

Thanks, I have added Nishiki-teki to the page.


Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Sep 19, 2018 05:39 PM UTC:

He might have done it accidentally, since he repeated the same move.


Possible Problem with Shogi (on promotion)[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Sep 18, 2018 10:18 PM UTC:

Try it again. It should be fixed now.


Unicode Fonts with Chess Piece Images. Images of how the Unicode Chess piece characters are displayed in different fonts.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Tue, Sep 18, 2018 04:41 PM UTC:

I got the same results on Linux Mint, and I found a site with a font preview that confirms it. So, I have moved it to the list of free fonts. Thanks.


🕸📝Fergus Duniho wrote on Mon, Sep 17, 2018 09:56 PM UTC:

Do any of these tests show the same pieces as displayed on my Kindle Fire? They don't for me, not even in Fedora, which I tried with Virtualbox. It came with some versions of Noto Sans, but not Noto Sans Symbol.

Testing for Noto Sans:

♔♕♖♗♘♙ ♚♛♜♝♞♟

Noto Sans Symbol:

♔♕♖♗♘♙ ♚♛♜♝♞♟

Noto Sans Symbols:

♔♕♖♗♘♙ ♚♛♜♝♞♟


🕸📝Fergus Duniho wrote on Mon, Sep 17, 2018 08:02 PM UTC:

That's where I got it from last night. I have already checked the Noto fonts on Linux Mint, but they didn't seem to include their own Chess pieces, and I never saw the pieces I saw on my Kindle Fire on Linux Mint. What Linux distribution are you using?


🕸📝Fergus Duniho wrote on Mon, Sep 17, 2018 05:30 PM UTC:

Give me a link where I can download the version you have or see this for myself.


🕸📝Fergus Duniho wrote on Mon, Sep 17, 2018 02:18 AM UTC:

I just installed Noto Sans Symbols on my computer, and it does not appear to have its own set of Chess pieces. In NexusFont, it is defaulting to MS Gothic or MS Mincho, and in paint.net, it is defaulting to Meiryo or Segoe UI.


On Designing Good Chess Variants. Design goals and design principles for creating Chess variants.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Sun, Sep 16, 2018 01:03 PM UTC:

After White's pawn takes the Queen and promotes to an Archbishop, Black has only four moves available. Two of these moves would expose it to capture without any significant consequence for White, and another would allow White to move the Archbishop to b8. The remaining move is to go to d7, checking the King. If White responds by taking the checking piece with either Archbishop, the resulting position is a stalemate. If White responds by moving the King, Black can take either Archbishop en prise. If White responds with a block on e6 from the Archbishop on e6, Black can exchange Archbishops. This might still be favorable for White. If Black takes the Pawn at b5 instead, White can still probably force an advantage. So, it looks like White could still win if the Pawn promotes to an Archbishop. The advantage of promoting to a Bishop is that White can win quickly and decisively. If the Archbishop moves to d7 for check, the Bishop can take it without causing stalemate. If the Archbishop makes its only safe move to c7, then the Bishop can safely check the King from b7, forcing the King to move to b8. The Archbishop can then move to d7 for checkmate.


🕸📝Fergus Duniho wrote on Sat, Sep 15, 2018 03:55 PM UTC:

If promotion is only to captured pieces, as in Grand Chess, then underpromotion enables promotion when there are no captured compound pieces to promote to.


Ideas for future of chess variants[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Thu, Sep 13, 2018 01:18 PM UTC:

That the Knight is roughly equivalent in power to a Bishop was probably one of the factors that contributed to it being used in Chess. If the Knight were as weak as a Wazir or Ferz, it might have been replaced by a Knightrider, and if it were as powerful as an Amazon, it might have been omitted.


Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Sep 13, 2018 01:11 PM UTC:

That was due to a coding mistake I made yesterday. I replaced the count function with is_array($op1) && count($op1) instead of is_array($op1) ? count($op1) : 0, and the result was that the actual count was replaced with 1 whenever it was positive. I fixed that, corrected your log and its database entries, fixed the problem with posting here, and moved your comments from where you originally made them.


🕸📝Fergus Duniho wrote on Thu, Sep 13, 2018 02:01 AM UTC:

That may have happened when the typo I made introduced a bug in the code. I corrected the results for this game in the log and the database.


Ideas for future of chess variants[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Thu, Sep 13, 2018 01:42 AM UTC:

The Knight doesn't just complement the Bishop. It complements both the Bishop and the Rook, because it leaps to the nearest spaces that these two pieces cannot reach. 


Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Wed, Sep 12, 2018 05:09 PM UTC:

There was a typo in my last change to Game Courier. Fixing that fixed the problem.


Ideas for future of chess variants[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Wed, Sep 12, 2018 12:22 PM UTC:

Where is it documented that Chu Shogi was the dominant Chess variant in Japan for centuries?


Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Mon, Sep 10, 2018 01:31 PM UTC:

Okay, that's all fixed. I was rewriting the code without the use of a deprecated feature, and I didn't quite get it right last night.


The ratings page under the august 2018 menubar uodate[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Mon, Sep 10, 2018 12:49 AM UTC:

It will now appear in the Related Pages menu on Game Courier pages.


PHP 7[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Sat, Sep 8, 2018 10:07 PM UTC:

That's now fixed. You were on a page with HTTPS, but the form used a full URL that began with HTTP://. I changed it to a relative URL, so that it would be HTTPS when the page is already HTTPS.


🕸Fergus Duniho wrote on Fri, Sep 7, 2018 01:10 AM UTC:

I changed the owner of the log directory and the PHP log file to apache, and now errors are being logged.


🕸Fergus Duniho wrote on Thu, Sep 6, 2018 05:54 PM UTC:

It doesn't look like that has helped. The timestamp on the PHP errors log still hasn't changed. At least sessions are working. So, I'll leave it like that until I have more time to focus on it.


🕸Fergus Duniho wrote on Thu, Sep 6, 2018 05:48 PM UTC:

With PHP 7, the user and group were set to php-fpm instead of to apache. I initially changed these back to apache, but errors were not being logged. To get errors to log, I changed these back to php-fpm, but then sessions wouldn't work. So I changed them back to apache again. In the meantime, I added the user php-fpm to the chessvariants group and the apache group so that Game Courier would save logs when the user was php-fpm. Since the error log has stopped growing again, I will try adding apache to the php-fpm group. So, I will reboot the server after posting this.


Courier Chess. A large historic variant from Medieval Europe.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Sep 6, 2018 04:42 PM UTC:

Since the author of this settings file copied the contents of an include file instead of including it, I edited the settings file directly. Since the buggy code was for evaluating potential castling moves, and this game has no castling, I removed that bit of code.


HTTPS[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Tue, Sep 4, 2018 02:14 PM UTC:

When I have "Always use HTTPS" enabled in Cloudflare, this site will not load on my Kindle Touch's browser. Since I want to be able to use the site on an e-ink device, I may have to leave this disabled. The site will still work with HTTPS in an up-to-date browser, but if Amazon will not update the browser in the Kindle Touch, there is nothing I can do on my own to update it.


Home page of The Chess Variant Pages. Homepage of The Chess Variant Pages.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Mon, Sep 3, 2018 02:21 AM UTC:

The homepage is now an HTML file. This is so that it still shows content when PHP or MySQL fails. It no longer includes the What's New section, which is script-generated, but it does include a link to the What's New page.


🕸📝Fergus Duniho wrote on Sun, Sep 2, 2018 05:38 PM UTC:

I've now remembered why I should change this page from a PHP script to an HTML page. I had originally thought of doing this so that this page would show up when the site went down. Cloudflare, which I use for DNS, has the ability to cache content and continue to show it even when the server is down. However, this works only for static content. When I set it up to cache HTML files, it would not update the menu when someone logged in. So. I changed things back and put aside the idea of doing this page in HTML.

But now I've remembered that this page shows up as blank when PHP isn't working, but HTML pages still show their main content with only the headers and footers missing. While this isn't a good enough reason to turn all the scripts into HTML pages, I think it is a good enough reason to do the homepage in HTML. This is the main page that people come to when coming to this site, and if it is blank, it can give the appearance that the whole site is down even if it isn't.


beta test games[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Sat, Sep 1, 2018 11:03 PM UTC:

You're thinking of "Your Game Courier Settings Files". This was on the menu for the Play subdomain, but not for the main domain. When I put the whole site on the main domain, this changed the menu used on all the pages that had been on the Play subdomain. I have now copied that menu item to the main menu.


PHP 7[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Thu, Aug 30, 2018 02:57 PM UTC:

That's now fixed. In PHP 7.1, mt_rand() was "updated to use the fixed, correct, version of the Mersenne Twister algorithm." This meant that it would generate different random numbers from the same seed, and the effect this had on CWDA was that it chose different armies for the players. For the sake of backwards compatibility, mt_srand(), which sets the seed, now allows the MT_RAND_PHP flag, which signals mt_rand() to use the old, incorrect algorithm. Using that, I reverted it back to the old algorithm, which will generate the same results that the seed used for the game previously got.


BCMGames. A versatile and customizable Shogi program.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Aug 30, 2018 02:21 PM UTC:

This 2012 version of BCM Shogi is no longer working. If anyone knows of a more recent version, please send me a copy or let me know where I can download it.


PHP 7[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Thu, Aug 30, 2018 02:20 AM UTC:

Finally, I tried a few more things, and I got sessions working. Now I can go to bed without worrying about this.


🕸Fergus Duniho wrote on Thu, Aug 30, 2018 02:01 AM UTC:

I have modified Game Courier to include the password field when sessions aren't working. So, you can now move in games even without sessions working. I don't think I can do anything else tonight, but I'll get back on this tomorrow.


🕸Fergus Duniho wrote on Thu, Aug 30, 2018 01:13 AM UTC:

Game Courier had a weird problem with a couple instances of mktime(). When I removed the leading zeros from some parameters to the function, it fixed that problem. But I still can't make a move without sessions working.


🕸Fergus Duniho wrote on Wed, Aug 29, 2018 11:39 PM UTC:

Game Courier is not working too. I have some things to work on before going to bed.


🕸Fergus Duniho wrote on Wed, Aug 29, 2018 10:51 PM UTC:

So, I managed to post the previous comment. That means passwords are being recognized. But there is still an issue with getting the menu to recognize that I am signed in. I have to get something to eat. I suppose I should have begun this after dinner instead of before. I'll do what I can tonight to get things working again.


🕸Fergus Duniho wrote on Wed, Aug 29, 2018 10:34 PM UTC:

I just installed PHP 7, and I have not been able to sign in. I do not know if I will be able to post this.


HTTPS[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Mon, Aug 27, 2018 10:30 PM UTC:

I added code to .htaccess to 301 redirect the play subdomain to the main domain, and I configured Cloudflare, which is used for DNS, to always use HTTPS and to rewrite HTTP URLs to HTTPS. I previously made various changes to Game Courier and to pages with links to Game Courier to use URLs with the play subdirectory in the main domain. The play subdomain will still work, but the pages it points to will have their URLs rewritten to the main domain.

If anything appears broken, let me know. Or if you're an editor, and it is something minor like a broken URL, you can try fixing it yourself.


The Hosting Service[Subject Thread] [Add Response]
🕸Fergus Duniho wrote on Fri, Aug 24, 2018 05:10 PM UTC:

Time is approaching when my hosting service will come up for renewal. Around that time, I could go somewhere else or stay with them. For now, I'm thinking of staying with them. There has occassionally been downtime due to problems with the hosting service. The last time this happened, they sent an email the same day explaining what had happened. Some problems may have been due to them being a new company that is still building its infrastructure. So, as it is gets older, it may become more mature and stable. Also, I just learned that they were bought earlier this year by a more established company in the Netherlands. This is fitting, because this site originally began in the Netherlands. And this has given me an idea, though I'm not ready to pull it off yet. Thanks to being owned by a Dutch company, the hosting service I'm using now sells VPS packages on servers in the Netherlands, and they are at the same affordable prices as their VPS packages in the USA. So, my idea is to get a second server in the Netherlands, and to do synchronization and load balancing between the two servers. I like the idea of having a second server there, because this site began there, and it's a good location for handling European traffic. For the present though, I don't know very much about synchronizing and load balancing two servers, and I have other things to take care of first.


Game Courier FAQ. Answers to various questions about Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Thu, Aug 23, 2018 08:52 PM UTC:

I had changed some constant values from using http to using https, and this messed up with drawing images of boards, because str_replace failed to change URLs to file paths, and it couldn't find the graphics it needed. Maybe it had other effects too. I changed the constants back, and the problem seems to have gone away.


🕸📝Fergus Duniho wrote on Thu, Aug 23, 2018 08:29 PM UTC:

I'm looking into it now. I'm not sure what is going on, but it does seem more general than particular logs.


Game Courier History. History of the Chess Variants Game Courier PBM system.[All Comments] [Add Comment or Rating]
🕸💡📝Fergus Duniho wrote on Wed, Aug 22, 2018 02:23 AM UTC:

Game Courier checks where GAME Code has been entered for a preset, whether there is a list of legal moves, and the value of the rules flag to determine the extent of a preset's rule enforcement, and it now displays this information below the board, just underneath the name of the game, which links to the rules page. It used to put this information above the board before a game began, and it didn't weigh in the value of the rules flag. It now displays it below the board during the course of a game. The rules flag can be set with the command "setflag rules;", typically in the pregame code. Setting this simply serves as a signal that the code you wrote actually does enforce the rules. It has no effect on the rest of your code, and it will not provide you with rule enforcement if you don't actually program it in.


98 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.