Check out Glinski's Hexagonal Chess, our featured variant for May, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Latest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments/Ratings for a Single Item

Later Reverse Order EarlierEarliest
Game Courier Logs. View the logs of games played on Game Courier.[All Comments] [Add Comment or Rating]
🕸📝Fergus Duniho wrote on Fri, May 10 12:09 PM EDT in reply to H. G. Muller from 10:54 AM:

The reliable method would try out all pseudo-legal moves, and then generate opponent moves in each of the resulting positions, to see if any of those captures the King. All opponent moves will have to be tried to conclude the move is legal (which usually is the case), and on a large variant this can take very long (to the point where GC aborts the GAME-code execution).

Thanks to GAME Code being an interpreted language written in another interpreted language, it is not as quick at things compiled languages would do more quickly, and it will sometimes exceed the time limit that PHP imposes on script execution. This makes optimizations and short cuts more important, and in hand-written code, I have done this. See my previous comment about how I handled the spotting of check in Ultima as an example.

In automatically-generated code, it might be harder to get in the optimizations needed for particular games. So I would suggest a compromise between your quick method and your reliable method. Flag pieces that can capture a piece without moving to its space, and use your reliable method on these while just checking if other pieces can move to the King's space.


H. G. Muller wrote on Fri, May 10 10:54 AM EDT in reply to Fergus Duniho from 09:16 AM:

OK, I see. The betza.txt code actually does say 'check'. Problem was that by searching for 'say check' I did not find that, because there are quotes around the word 'check'.

It appears that it would only ever say 'check!' when the preset is using the accelerated method for testing legality of highlighted moves. This is the default method, because it is faster. But it is not entirely reliable. The reliable method would try out all pseudo-legal moves, and then generate opponent moves in each of the resulting positions, to see if any of those captures the King. All opponent moves will have to be tried to conclude the move is legal (which usually is the case), and on a large variant this can take very long (to the point where GC aborts the GAME-code execution). And in that branch of teh code it would never say 'check!'.

In the accelerated test it would generate the opponent moves not after the move that has to be tested for legality, but before it. (Meaning that it has to do it only once.) If any of those hit the King, the move that was just made apparently delivers check. After a move considered for highlighting it then only retries such an existing checking move, to see if the check was resolved, and all moves that hit squares mutated by the move-to-be-highlighted (which could have been discovered, and now hit the King). That is a huge time saver.

Where it goes wrong is that during this accelerated check test it actually removes the King, and tests whether it was in check by testing whether a move that hits the square it was on is capture capable. This to avoid a slider check is blocked by the King, making the square behind it to be safe to move to. King moves can then be tested for legality simply by testing whether their destination was marked as attacked. But this procedure does not mark squares that are attacked by locust capture. Such as an Advancer does.


🕸📝Fergus Duniho wrote on Fri, May 10 09:16 AM EDT in reply to H. G. Muller from 01:58 AM:

You did not get the point. Does the preset say 'check' when you check with any other piece than an Advancer? I think it doesn't. So then this has nothing to do with the piece being an Advancer.

I dug back into this thread to find the preset he was talking about. He linked to a particular game in which neither Advancer checked the opponent's King. Continuing this game by choosing Annotate and then Move, I played some moves to get a White Flying Dragon to check the Black King, and when I did, it said "check!". After moving the King out of check, I tried to move White's Advancer, but no legal moves are being highlighted on the board for it. However, its legal moves do show up in the Moves field, and when I tried one, it worked. At the top of the Moves field, I see the legal move "A e1-#to; A #to-b1". I think this is not a properly formatted move, and it may be interfering with the ability to recognize the Advancer's legal moves. Also, when I entered it, it did not recognize it as legal, and it gave the error message "#to is not a valid square".

Here are the moves to the position in question so that you can see what's going on.

1. P f2-f5 
1... p f9-f6 
2. P e2-e4 
2... p e9-e7 
3. F i1-h3 
3... f i10-h8 
4. P i2-i3 
4... p d9-d8 
5. B h1-i2 
5... c g10-f7 
6. C d1-f3 
6... f b10-c8 
7. C g1-e3 
7... c d10-f8 
8. K f1-i1 
8... p g9-g7 
9. P b2-b3 
9... c f8-e5 
10. P d2-d4 
10... c e5-f8 
11. B c1-b2 
11... a e10-h7 
12. F b1-e2 
12... p i9-i8 
13. P g2-g5 
13... c f7-e8 
14. P g5-g6 
14... a h7-f9 
15. P c2-c4 
15... p b9-b6 
16. F h3-g2 
16... c e8-d7 
17. P d4-d5 
17... f c8-d6 
18. F e2-h3 
18... p c9-c7 
19. C f3-e6 
19... c d7-e6 
20. P d5-e6 
20... p j9-j8 
21. B b2-a3 
21... b c10-a8 
22. B a3-d6 
22... p e7-d6 
23. R h1-f1 
23... p j8-j7 
24. F g2-d3 
24... b h10-j8 
25. C e3-g1 
25... f h8-i6 
26. P j2-j3 
26... p d8-d7 
27. P a2-a5 
27... p b6-a5 
28. R a1-a5 
28... b a8-b9 
29. P e6-d7 
29... f9-e8;@-d7 
30. C g1-a7 
30... f i6-h4 
31. C a7-d8 // - check! -
31... k f10-f9

Just click on Annotate for Butterfly Chess and paste these in to see the same position.


H. G. Muller wrote on Fri, May 10 01:58 AM EDT in reply to Kevin Pacey from Thu May 9 04:57 PM:

You did not get the point. Does the preset say 'check' when you check with any other piece than an Advancer? I think it doesn't. So then this has nothing to do with the piece being an Advancer.

By default the preset would apply the checking rule, so moves that leave your royal exposed will be refused. To switch that off (for variants where King capture is a goal) you would have to add an extra line on GAME code to the Pre-Game section. (As the Interactive Diagram does not distinguish thuse cases, but simply allows you to play on in checkmated positions.) The preset enforces the rules. It does not generate conversation during the game.


🕸📝Fergus Duniho wrote on Thu, May 9 06:18 PM EDT in reply to Kevin Pacey from 04:57 PM:

Yes, I originally would have thought when an Advancer made a move that threatened a King, an enforcing preset would automatically announce check.

However, maybe the Advancer, being an Ultima-like piece, does not actually make a check in an Ultima-like game (which Butterfly Chess is not)?

So I now ask, is that the usual assumption that Applet generated preset code makes for every CV put through the generating process?

I don't know how a generated preset works, but the checked subroutine I use in the fairychess include file normally checks for captures by displacement by checking if each enemy piece on the board can move to the King's position. This would not normally work with Ultima pieces, which do not normally capture by displacement, but I have managed to use this subroutine with Ultima without modifying it. First, let's look at the subroutine:

sub checked king:
    my from piece;
    local movetype;

    set movetype CHECK;
    if isupper cond empty var king $moved space var king:
        def enemies onlylower;
    else:
        def enemies onlyupper;
    endif;
    for (from piece) fn enemies:
        if fn const alias #piece #from var king:
            return #from;
        endif;
    next;
    return false;
endsub;

The key to working with Ultima is that it sets movetype to CHECK. With this in mind, I have written functions for Ultima pieces like this:

def Black_Withdrawer fn join "Black_Withdrawer_" var movetype #0 #1;

Depending upon the value of movetype, it will call either Black_Withdrawer_MOVE or Black_Withdrawer_CHECK, which I have defined separately and differently. Thanks to setting movetype to CHECK, the checked subroutine will use the *_CHECK functions for Ultima pieces. Instead of going through a normal move, one of these functions will check whether the piece at the first coordinate can capture the piece at the second. For example:

def Black_Withdrawer_CHECK 
empty where #frm - file #frm file #to - rank #frm rank #to
and == distance #frm #to 1
and not near #frm I 1
=frm =to;

This first makes sure that the piece is not next to a White Immobilizer (designated as I). It then verifies that the two spaces are adjacent. Calculating the direction away from the piece at #to, it checks whether there is an adjacent empty space in that direction. If there is, it returns true.


Kevin Pacey wrote on Thu, May 9 04:57 PM EDT in reply to H. G. Muller from 02:53 AM:

@ H.G.:

Yes, I originally would have thought when an Advancer made a move that threatened a King, an enforcing preset would automatically announce check.

However, maybe the Advancer, being an Ultima-like piece, does not actually make a check in an Ultima-like game (which Butterfly Chess is not)? So I now ask, is that the usual assumption that Applet generated preset code makes for every CV put through the generating process? If so, maybe an option can be added to the Applet to ask if Ultima-like pieces should announce check.

A problem for Butterfly Chess, anyway, is that if check is not announced for Advancers, what happens if the opponent's next move leaves his king vulnerable to capture by the Advancer. Does the preset announce the opponent made an illegal move (my much preferred choice, implicit in Butterfly Chess rules), or can the king be captured (if so, is a win announced, or does a player type in 'won' after his K-capturing Advancer move is manually entered, or does he tell his opponent to make a legal move instead)?


H. G. Muller wrote on Thu, May 9 02:53 AM EDT in reply to Kevin Pacey from Wed May 8 08:46 PM:

Yes, I had seen it, but had no time to look into it yet.

Quickly glancing at the code in betza.txt suggests that it would never say 'check'; searching for "say Check" only finds "say Checkmate" where it terminates a game, as one of the possible reasons for termination. So I would be surprised if you had ever seen it say 'check'.

Is it supposed to say 'check'?


Kevin Pacey wrote on Wed, May 8 08:46 PM EDT in reply to Kevin Pacey from Sun May 5 04:12 PM:

@ H.G. Muller:

Have you seen my comment to you that I am replying to? Not too much of a rush, if you're busy or stumped.


Kevin Pacey wrote on Sun, May 5 04:12 PM EDT:

@ H.G.:

In the following link to a Butterfly Chess log, I tried to move my White Advancer from e1 to j6. The (Applet generated) preset allows the move, but does not announce check. Is there a bug here?

https://www.chessvariants.com/play/pbm/play.php?game=Butterfly+Chess&log=panther-joejoyce-2024-10-868


Jean-Louis Cazaux wrote on Tue, Mar 19 06:49 PM EDT in reply to Fergus Duniho from 06:40 PM:

There is only 1 game, not 2. I have modified my comment.

(The 2nd game I have removed was in fact that game interrupted by HG's mistake. That log stayed as a drawn after your attempt to restaure it (but it was impossible to re-start it), and for a reason I ignore, it turned as a victory for Paul "on time". As we had re-started this game from the beginning, I have erased that first log.)

So, the suspect game that has been finished "on time" is a game of Macrochess that I would have won against Richard Milner of time, which is strange because we were playing several moves a day.


🕸📝Fergus Duniho wrote on Tue, Mar 19 06:40 PM EDT in reply to Jean-Louis Cazaux from 06:00 PM:

I found only one game of yours that ended in the past week, and it ended in checkmate. Were the other games private? Or did they end over a week ago?


Jean-Louis Cazaux wrote on Tue, Mar 19 06:00 PM EDT:

It is strange. I was looking for some recent games I was playing and that are not shown anymore in the table of my going games. It appears that they have been finished by time limit. One that I won.

Hmm, strange, in all games I played we always had few days of remaining time. Something has happened I think.

My regrets for my opponent (Richard Milner), this was not intentional.

The log:

timurthelenk-cvgameroom-2024-40-404


H. G. Muller wrote on Sat, Mar 16 02:55 AM EDT in reply to Daniel Zacharias from Fri Mar 15 07:36 PM:

Could you add the missing bnespearman to alfaeriePNG?

OK, done.


Daniel Zacharias wrote on Fri, Mar 15 07:36 PM EDT in reply to H. G. Muller from Thu Mar 14 05:36 AM:

Could you add the missing bnespearman to alfaeriePNG?


H. G. Muller wrote on Thu, Mar 14 05:08 PM EDT in reply to Fergus Duniho from 04:07 PM:

So, I'm thinking that having varying alpha values is available only in true color images, and that provides a reason for keeping these as true color images.

I am not really into these graphics formats, but I can imagine that the palette for historic reasons contains only up to 256 24-bit colors (i.e. RGB without alpha). I guess that with an alpha channel the number of different RGBA combinations in a typical image becomes so large that 256 would almost never be enough, so that no one bothered to define a standard for palette with alpha channel.


🕸📝Fergus Duniho wrote on Thu, Mar 14 04:07 PM EDT in reply to H. G. Muller from 02:31 PM:

I think the trick to making them appear smooth is having edge pixels with varying alpha values. The images I produced had fully opaque edge pixels. As a test, I made a palette version of bknight.png in Ultimate Paint. When I loaded the palette version, the edge pixels no longer had varying alpha values. As a second test, I saved a 24 bit true color version, and it also had lost the varying alpha values on edge pixels. Finally, I saved a 32 bit true color version, and when I reloaded it, it retained the varying alpha values. I also tried the latest version of Paint.net. When I selected the option to save it with an 8-bit depth, it offered the option to set the Transparency threshold, and it said "Pixels with an alpha value lower than the threshold will be fully transparent." So, I'm thinking that having varying alpha values is available only in true color images, and that provides a reason for keeping these as true color images.


H. G. Muller wrote on Thu, Mar 14 02:31 PM EDT in reply to Fergus Duniho from 01:33 PM:

I have rendered all images in the alferieSVG directory now as 50x50 PNG using fen2.php?s=50&p=..., in the directory /graphics.dir/alfaeriePNG50. They look like this

(The shell script I used for this is /graphics.dir/alfaeriePNG50/x, and then y to give them the desired filename.)


🕸📝Fergus Duniho wrote on Thu, Mar 14 01:33 PM EDT in reply to Fergus Duniho from 11:18 AM:

Since Game Courier is able to copy an SVG to a GD image that will be saved as a PNG, I should be able to modify showpiece.php for conversion from SVG to PNG.

Since I already have a PHP function called imagecreatefromimagick2, the conversion from SVG to PNG was easily handled. However, the results I'm getting do not appear as smooth as the results Greg got.

Here are some examples of what I am getting:

And here are the same pieces as Greg has already converted them:

I have been altering imagecreatefromimagick2 to try to get better results, but so far nothing has worked.


🕸📝Fergus Duniho wrote on Thu, Mar 14 11:18 AM EDT in reply to H. G. Muller from 05:36 AM:

Almost all PNG images are 48x48, though. Only a few that I recently made (mostly compounds done by fen2.php) are 50x50. I produced many of the SVG from which these are derived, but I think Greg had a script that he used to 'bulk convert' the SVG to PNG. He must have used 48x48 in this script. Why he picked that size is unclear to me, as amongst the GIF images it is virtually non-existent.

Maybe he was considering that Game Courier highlights spaces with image borders and wanted to leave some space for the border. However, the borders used are larger than one pixel in width, and the Square Table method will now keep borders from growing too large by reducing the dimensions of the image, whereas the CSS method puts borders around an empty space of a fixed size. So, even if making the images smaller than 50x50 once had some utility, it no longer does.

Should I try to re-render all the alfaeriePNG at 50x50? I suppose I could make my own script for that, at least for everything that we have as SVG, and not compound or post-edited (to apply crosses and such).

Since Game Courier is able to copy an SVG to a GD image that will be saved as a PNG, I should be able to modify showpiece.php for conversion from SVG to PNG. Then I could make sure that the PNG is also a palette image with green for the transparent color.


H. G. Muller wrote on Thu, Mar 14 05:36 AM EDT in reply to Fergus Duniho from Wed Mar 13 06:12 PM:

It appears almost all alfaerie GIF images are 50x50. Some (including the orthodox pieces) are 49x49. Elephants and their derivatives are even 53x50. I recall that I had once seen a 48x48 GIF too, but forgot which that was.

Almost all PNG images are 48x48, though. Only a few that I recently made (mostly compounds done by fen2.php) are 50x50. I produced many of the SVG from which these are derived, but I think Greg had a script that he used to 'bulk convert' the SVG to PNG. He must have used 48x48 in this script. Why he picked that size is unclear to me, as amongst the GIF images it is virtually non-existent.

I think it is undesirable that GIF and PNG images have different sizes. It should be our long-term goal to upgrade all images to the (anti-aliased) PNG, and having different sizes would obstruct that.

So what to do? Should I try to re-render all the alfaeriePNG at 50x50? I suppose I could make my own script for that, at least for everything that we have as SVG, and not compound or post-edited (to apply crosses and such)..


🕸📝Fergus Duniho wrote on Wed, Mar 13 06:12 PM EDT in reply to H. G. Muller from 04:49 PM:

I have no idea how some (mainly of the orthodox pieces) came to be 48x48 or 49x49.

The original Alfaerie pieces were 49x49, because David Howe originally made them for Zillions-of-Games, whose boards were using 49x49 squares. While I made pieces whose dimensions matched the dimensions of the visible image, he made pieces of uniform dimensions that perfectly fit the spaces they were intended for.


H. G. Muller wrote on Wed, Mar 13 04:49 PM EDT in reply to Fergus Duniho from Tue Mar 12 12:56 PM:

Make the images 50x50 instead of 48x48. This will stop the need to pad these images when the squares are 50x50.

I think this would be the proper solution. Most Alfaerie images are 50x50; I have no idea how some (mainly of the orthodox pieces) came to be 48x48 or 49x49. I wouldn't know how to make a palette PNG image; I usually geenrate the AlfaeriePNG images with fen2.php from SVG images, and fen2.php is based on C code I took from XBoard, which uses a function to safe a bitmap as PNG file, described as a 'toy interface' that offers little or no control of the image properties. (But it works.)

When I have time I will re-render these pieces at the proper size.


🕸📝Fergus Duniho wrote on Tue, Mar 12 12:56 PM EDT in reply to H. G. Muller from 10:24 AM:

In your example, the black outlines were also appearing around the pieces in the Captured Pieces section, and this uses the same code no matter what the rendering method for the board. So, it's not the CSS rendering method that's at fault. This black outline is happening because the CSS rendering method is displaying them with the showpiece.php script, and the pieces in question are not in the proper format to work with this script. The pieces in use here are from the alfaeriePNG directory. The reason they are being displayed with showpiece.php is because they are 48x48 instead of the expected 50x50. So that smaller images do not get disproportionately enlarged by a background-size of contain, it runs smaller images through showpiece.php to pad them. However, the image I tested turned out to be a truecolor image, and the transparent color used was black (#000000) instead of green (#00ff00). Because of this, it could not determine and keep track of the transparent color, and instead of coloring the padded border with the transparent color, it colored it an opaque black. To fix this, there are three changes you can make to these images.

  1. Make the images 50x50 instead of 48x48. This will stop the need to pad these images when the squares are 50x50.
  2. Make them palette images, not truecolor images. Even with the image I tested, it had only 141 colors, which is within the capacity of a palette image. So, there was no reason to make it truecolor.
  3. Make the transparent color pure green. This is a convention adopted from Zillions-of-Games, which provides a means to detect the transparent color when other means are not working.

[UPDATE]I added some fallback methods for getting the transparent color, and now the pieces show up without the black border. However, there is an issue with the cross on the king. So, I still recommend modifying the pieces to work better with this script or to even not need it in this circumstance.[/UPDATE]


H. G. Muller wrote on Tue, Mar 12 10:24 AM EDT in reply to Fergus Duniho from 09:18 AM:

That should not be happening, and I have not seen it. Where are you seeing this behavior?

I tried this preset from the log page, clicked Menu, then Edit, changed the "Render as" to CSS code, and finally pressed Test. That gave me this:


🕸📝Fergus Duniho wrote on Tue, Mar 12 09:28 AM EDT in reply to Jean-Louis Cazaux from 02:47 AM:

Nowhere on my screen there is "Appearance controls". I see a box with "Render as".

I assumed you were playing the game against someone else, and I based my instructions on the form you get when it is your turn to move. If you don't see "Appearance Controls", but you do see "Render as:", then you can go directly to the latter. The "Preview" button is only for playing a game. If you're just viewing a game, you submit the form with the "View" button.

I can't see past moves without pressing "view", no interactive moves like for the other games.

To traverse through all the moves in a game with JavaScript, you first need to view the last move of the game in this manner. Also, if this is a game you were a player in, there is currently a bug that will stop you from changing the rendering method in View mode from the preference you have stored in the log. [BUG FIXED]


🕸📝Fergus Duniho wrote on Tue, Mar 12 09:18 AM EDT in reply to H. G. Muller from 04:15 AM:

The one you need is labeled "Render as:", third from below on the left in the large greenish block. It doesn't seem to do anything, though.

It will not do anything right away, but it should change when you submit the form. The one exception to this is when you are viewing a game where you are a player, because your preferences in the log will override what you entered in the form. I should fix it so that preferences in the log are more easily overridden. [BUG FIXED]

CSS rendering looks pretty ugly, though: all occupied squares get (1px wide black) borders, the rest of the board not.

That should not be happening, and I have not seen it. Where are you seeing this behavior?


H. G. Muller wrote on Tue, Mar 12 04:15 AM EDT in reply to Jean-Louis Cazaux from 02:47 AM:

A pulldown is a display element you can click to make a short menu appear below it, from which you can then select an option.

The one you need is labeled "Render as:", third from below on the left in the large greenish block. It doesn't seem to do anything, though.

There also is one in in the Edit page you get at by pressing the 'Menu' button, and selecting 'Edit' there:

This one worked for me if I press "Test" at the top of the page to get back to the Menu page, and then press Play there.

CSS rendering looks pretty ugly, though: all occupied squares get (1px wide black) borders, the rest of the board not.


Jean-Louis Cazaux wrote on Tue, Mar 12 02:47 AM EDT in reply to Fergus Duniho from Mon Mar 11 05:58 PM:

I'm probably stupid. Nowhere on my screen there is "Appearance controls". I see a box with "Render as". There I change PNG to CSS or Table. And then? I see nowhere "Preview". I see "View", "Print" and "Annotate". In any case, even with CSS or Table, when I scroll the table, the diagram remains the same, I can't see past moves without pressing "view", no interactive moves like for the other games. Maybe it's impossible.


🕸📝Fergus Duniho wrote on Mon, Mar 11 05:58 PM EDT in reply to Jean-Louis Cazaux from 03:20 PM:

Click on the Appearance controls, then go where it says "Render as:", change the rendering method to either Table or CSS, and then click Preview.


Daniel Zacharias wrote on Mon, Mar 11 05:16 PM EDT in reply to Jean-Louis Cazaux from 04:23 PM:

Under the Comments box on the game page you should see Appearance Controls. If you click that it will expand to show more options, including Render as: which you need to set to CSS or Table. After you change the settings, you have to use the Preview button that you use to enter moves to update the game display.


Jean-Louis Cazaux wrote on Mon, Mar 11 04:23 PM EDT in reply to H. G. Muller from 03:38 PM:

Thanks but I still don't understand. What is a dropdown? Why should I have to edit anything whereas it was working fine up to now?


H. G. Muller wrote on Mon, Mar 11 03:38 PM EDT in reply to Jean-Louis Cazaux from 03:20 PM:

There is a dropdown to select the rendering method on the page where you can edit the preset.


Jean-Louis Cazaux wrote on Mon, Mar 11 03:20 PM EDT:

@Fergus: sorry to complain again, but, well, something seems to have change. When playing on Game Courrier I wanted to scroll some moves back and it doesn't work anymore.

I get this message:

"Since the png rendering method draws the entire diagram as a single image, you cannot view other positions without reloading the page. But if you change your rendering method to Table or CSS, you should be able to."

Why people skilled in IS always think that it is easy for anyone else? How may I change my rendering method? I don't even know what is it.

This is a pain.


Kevin Pacey wrote on Wed, Mar 6 11:32 AM EST in reply to wdtr2 from 05:06 AM:

At some point a while back there was a series of several finished games in a row on the link for 'Finished Games' that had a wrong result recorded (not just for some games of Pocket Shogi Copper, where we played) - Fergus fixed those glitches subsequently.


wdtr2 wrote on Wed, Mar 6 05:06 AM EST in reply to wdtr2 from 04:59 AM:

@kevin

Amendment: I just visited your game and it said "Black has won". I think maybe fergus fixed it, or the issue has been resolved. Is all working as it should?


wdtr2 wrote on Wed, Mar 6 04:59 AM EST in reply to Kevin Pacey from Tue Feb 6 02:01 PM:

@Kevin Kevin for pocket Shogi Copper is the "White has won" a major issue? If yes, I might be able to adjust the code. When I wrote the code I think I may have reversed the shogi pieces. i.e. black is white, and white is black. I think I reversed the label names in the programming section, and I am guessing that is the issue for white has won. The combination of reverse pieces and the labels most likely is the cause for pocket shogi copper white has won.

Do you want me to try and fix it?


Jean-Louis Cazaux wrote on Tue, Mar 5 02:05 PM EST in reply to François Houdebert from 01:58 PM:

Yes OK, it's back to normal now. Thx


François Houdebert wrote on Tue, Mar 5 01:58 PM EST in reply to Jean-Louis Cazaux from 01:22 PM:

Try to refresh (f5 or ctrl+f5) to reload the new style


Jean-Louis Cazaux wrote on Tue, Mar 5 01:22 PM EST:

@Fergus: now in the table "Your Games on Game Courier", I just can't read my on-going games because they appear dark on a black square.


Jean-Louis Cazaux wrote on Sun, Mar 3 12:56 PM EST in reply to Jean-Louis Cazaux from 01:46 AM:

@Fergus: to complete my message, Paul sees "logging your move". And from my side, it is still to Paul to play.

This is why I suggest that you withdraw my last move of the log to have me playing the next move.

Thank you


Jean-Louis Cazaux wrote on Sun, Mar 3 01:46 AM EST in reply to Fergus Duniho from Fri Mar 1 06:02 PM:

@Fergus: it doesn't work. Paul said he has played again but I can't see that. For me the game is still in the same position, waiting for his move to come. Paul is even less confortable than me with the interface, I suspect he has not got what to do.

Would it possible that you kill the last move from me so the turn would me mine, not his, and maybe I'll be able to unblock this game?

Thanks a lot for your help.


H. G. Muller wrote on Sat, Mar 2 04:14 AM EST in reply to Jean-Louis Cazaux from Fri Mar 1 03:29 PM:

@HG: it is really a mess to recover this!

Yes, I am very sorry about this. I do know this site should not be used as a alpha-test facility. But the include file did contain a bug that had to be fixed, and I was dealing with some apparently illogical and therefore unpredictable behavior of GAME code itself.

@Fergus: wouldn't it be better to include the application of the PHP intval operator in the implementation of piececount itself, so that it would return the expected 0 for pieces that are not on the board?

It might also be useful to apply intval to the operands of arithmetic operators such as +. (Or is that very detrimental, performance-wise?) I was really baffled by that 1 + undefined = 0.


Jean-Louis Cazaux wrote on Sat, Mar 2 01:38 AM EST in reply to Fergus Duniho from Fri Mar 1 06:02 PM:

OK, I do that. Let's see.

(Why his page has no Content and Activity remains a mystery for me)


Jean-Louis Cazaux wrote on Fri, Mar 1 03:29 PM EST in reply to Fergus Duniho from Thu Feb 29 03:38 PM:

@Fergus: alas Paul (a.k.a. Numerist) is not able to access this game again. He cannot see the link. When I send the link to him, he is getting a generic Game courrier page, not the right log. I asked him to go to his personal page from the top bar, then select Personal Information, then see Content and Activity, then Games Played on Chess Courier (when I do that myself, I see the log, but it is to Paul to play), but then, it is incredible he has NO Content and Activity section! So nowhere he could access to the games he had played in the past! He sent me a screen copy to show me.

So we are blocked. Can you remove one more move in order that it will be my turn to move at this game?

https://www.chessvariants.com/play/pbm/play.php?game=Timurid&log=timurthelenk-numerist-2024-41-899

@HG: it is really a mess to recover this!


🕸📝Fergus Duniho wrote on Thu, Feb 29 03:38 PM EST in reply to Jean-Louis Cazaux from 02:47 PM:

I fixed things up better. I had to delete some more lines from the log. The logs page is saying the game is drawn, but Paul should be able to move by clicking on the button for him to move after viewing the game.


Jean-Louis Cazaux wrote on Thu, Feb 29 02:47 PM EST in reply to Fergus Duniho from 02:17 PM:

Thank you Fergus. HG had said that he had already fixed his code. So, shall I conclude that it is hopeless? Frustrating to loose a game between France and Canada after more than 50 moves.


🕸📝Fergus Duniho wrote on Thu, Feb 29 02:17 PM EST in reply to Jean-Louis Cazaux from 01:09 AM:

I removed the last two moves, and I deleted it from the FinishedGames table, but when I loaded it again, it again said you won and put a record in the FinishedGames table again. So I deleted it from there again. Leave it alone until HG tells you he has fixed his code.


Jean-Louis Cazaux wrote on Thu, Feb 29 01:09 AM EST in reply to Jean-Louis Cazaux from Wed Feb 28 04:09 PM:

@Fergus: can you, if it is possible, that you re-put this game 1 or 2 moves before it has been terminated by HG's error:

timurthelenk-numerist-2024-41-899

Thank you


Jean-Louis Cazaux wrote on Wed, Feb 28 04:09 PM EST in reply to H. G. Muller from 04:00 PM:

Aargh. I understand. @Fergus, can you do something, like getting this game back 1 or 2 moves? Thanks


H. G. Muller wrote on Wed, Feb 28 04:00 PM EST in reply to Jean-Louis Cazaux from 03:41 PM:

Sorry, this is my fault. I was debugging the GAME code include file, and to that end apparently put some code in there that was not so innocent as I thought. I already removed that code, (it was only there for a few seconds), but I don't know how to fix an erroneously declared game end.


Jean-Louis Cazaux wrote on Wed, Feb 28 03:41 PM EST:

Help!

While playing this log (at Timurid) with Paul, helenk-numerist-2024-41-899, I (white) captured his Bishop and I got this message:

// - check! -// - White lost by absence of royalty! -

Does anyone know why? I never got such a message at any game. Did I make something wrong when coding this GC?

Thanks


H. G. Muller wrote on Sat, Feb 17 05:13 PM EST in reply to Fergus Duniho from 09:04 AM:

Ah yes, I apparently missed some of the print statements I put in for debugging when removing those, after the problem suddenly ceased to exist before I found out what it was. In short games like I tested on this is not noticeable.

I removed them now.


🕸📝Fergus Duniho wrote on Sat, Feb 17 09:04 AM EST in reply to Jean-Louis Cazaux from 08:02 AM:

It looks like HG has included some debugging code that needs to be removed.


Jean-Louis Cazaux wrote on Sat, Feb 17 08:02 AM EST:

@HG: while playing some of my games, for example this log:

https://www.chessvariants.com/play/pbm/play.php?game=Bigorra&log=arx-cvgameroom-2023-268-980

At every click, to open the game, then when moving a piece, then when confirming the move, etc., the screen displays a page with a lot of lines as the ones I copy and paste here below.

That screen disapears quickly with apparently no consequence, so it is not a major problem, but it is disturbing. This phenomena has started 1 week ago or so. It happens also on other logs where I'm playing. It seems to be related to the locust-stuff.

I don't understand what has been changed.

Please report any bugs or errors to H.G. Muller k5k7#locustqsr00 i12i10#locustqsr00 l5l7#locustqsr00 i13i11#locustqsr00 k4k6#locustqsr00 j12j10#locustqsr00 j5j7#locustqsr00 h12h10#locustqsr00 i5i7#locustqsr00 i10i8#locustqsr00 m5m7#locustqsr00 k12k10#locustqsr00 m4m6#locustqsr00 g12g10#locustqsr00 h10h8#locustqsr00 h5h7#locustqsr00 f12f10#locustqsr00 f13f11#locustqsr00 l12l10#locustqsr00 i9i7#locustqsr00 g10g8#locustqsr00 h13h11#locustqsr00 d5d7#locustqsr00 d12d10#locustqsr00 d4d6#locustqsr00 e12e10#locustqsr00 e5e7#locustqsr00 e10e8#locustqsr00 m12m10#locustqsr00 n5n7#locustqsr00 n12n10#locustqsr00 f5f7#locustqsr00 c12c10#locustqsr00 g5g7#locustqsr00 g6g8#locustqsr00 l10l8#locustqsr00 c5c7#locustqsr00 b12b10#locustqsr00 b10b8#locustqsr00 n10n8#locustqsr00 p5p7#locustqsr00 f6f8#locustqsr00 o5o7#locustqsr00 m7m9#locustqsr00 a12a10#locustqsr00 h7h9#locustqsr00 h11h9#locustqsr00 m13m11#locustqsr00 c10c8#locustqsr00 a10a8#locustqsr00 o6o8#locustqsr00 p12p10#locustqsr00 j14j12#locustqsr00 k7k9#locustqsr00 k13k11#locustqsr00 h4h6#locustqsr00 j3j5#locustqsr00 i8l11#locustqsr00 i8l5#locustqsr00 i8f5#locustqsr00 i8f11#locustqsr00 i8i11#locustqsr00 i8l8#locustqsr00 i8i5#locustqsr00 i8f8#locustqsr00 i8j11#locustqsr00 i8l9#locustqsr00 i8h5#locustqsr00 i8f9#locustqsr00 i8h11#locustqsr00 i8k11#locustqsr00 i8l10#locustqsr00 i8k5#locustqsr00 i8g5#locustqsr00 i8f10#locustqsr00 i8g11#locustqsr00 k8k9#locustqsr00 k8l9#locustqsr00 m8m9#locustqsr00 m8n9#locustqsr00 m8l9#locustqsr00 c7c8#locustqsr00 c7c9#locustqsr00 e7d7#locustqsr00 f7f8#locustqsr00 f7f9#locustqsr00 i7i6#locustqsr00 i7h7#locustqsr00 i7i9#locustqsr00 i7k7#locustqsr00 i7i5#locustqsr00 i7g7#locustqsr00 j7j8#locustqsr00 j7j9#locustqsr00 l7l8#locustqsr00 n7n8#locustqsr00 o7o8#locustqsr00 o7o9#locustqsr00 d6e9#locustqsr00 d6g7#locustqsr00 d6g5#locustqsr00 d6a7#locustqsr00 d6c9#locustqsr00 e6f5#locustqsr00 e6d7#locustqsr00 e6f4#locustqsr00 e6d8#locustqsr00 e6d9#locustqsr00 e6d10#locustqsr00 f6g6#locustqsr00 h6h7#locustqsr00 h6i6#locustqsr00 h6g6#locustqsr00 h6h8#locustqsr00 k6k7#locustqsr00 k6j6#locustqsr00 m6p9#locustqsr00 m6p3#locustqsr00 m6j3#locustqsr00 m6j9#locustqsr00 m6m9#locustqsr00 m6m3#locustqsr00 m6j6#locustqsr00 m6m7#locustqsr00 p6p7#locustqsr00 p6p8#locustqsr00 a5a6#locustqsr00 a5a7#locustqsr00 c5a3#locustqsr00 c5a7#locustqsr00 d5f4#locustqsr00 j5j6#locustqsr00 j5k5#locustqsr00 j5k4#locustqsr00 j5j4#locustqsr00 j5i5#locustqsr00 j5i6#locustqsr00 m5o6#locustqsr00 m5o4#locustqsr00 m5n3#locustqsr00 m5l3#locustqsr00 m5k4#locustqsr00 n5o8#locustqsr00 n5o2#locustqsr00 n5k4#locustqsr00 o5o6#locustqsr00 o5p5#locustqsr00 b4b5#locustqsr00 b4a4#locustqsr00 c4f1#locustqsr00 c4f4#locustqsr00 c4c1#locustqsr00 d4f5#locustqsr00 d4c2#locustqsr00 d4b5#locustqsr00 d4c6#locustqsr00 d4g5#locustqsr00 d4c1#locustqsr00 d4a3#locustqsr00 d4g6#locustqsr00 d4f1#locustqsr00 d4a6#locustqsr00 d4b7#locustqsr00 i4i5#locustqsr00 i4j4#locustqsr00 i4h4#locustqsr00 i4i6#locustqsr00 m4n3#locustqsr00 m4l3#locustqsr00 m4l5#locustqsr00 m4n2#locustqsr00 m4l2#locustqsr00 n4k7#locustqsr00 n4k4#locustqsr00 p4m1#locustqsr00 p4m7#locustqsr00 p4p7#locustqsr00 p4p1#locustqsr00 p4p5#locustqsr00 b3b2#locustqsr00 b3a3#locustqsr00 c3d2#locustqsr00 c3b2#locustqsr00 c3a1#locustqsr00 d3e4#locustqsr00 d3f5#locustqsr00 d3g6#locustqsr00 d3h7#locustqsr00 d3c2#locustqsr00 e3f5#locustqsr00 e3g4#locustqsr00 e3f1#locustqsr00 e3d1#locustqsr00 e3c2#locustqsr00 e3g5#locustqsr00 e3c1#locustqsr00 e3e5#locustqsr00 f3f4#locustqsr00 f3g5#locustqsr00 f3e5#locustqsr00 g3g4#locustqsr00 g3h4#locustqsr00 g3f4#locustqsr00 g3g5#locustqsr00 h3h4#locustqsr00 h3h5#locustqsr00 h3j3#locustqsr00 i3k4#locustqsr00 i3g4#locustqsr00 i3h5#locustqsr00 i3k5#locustqsr00 i3g5#locustqsr00 i3i5#locustqsr00 i3k3#locustqsr00 i3i1#locustqsr00 i3i6#locustqsr00 i3l3#locustqsr00 i3j6#locustqsr00 i3l4#locustqsr00 i3l2#locustqsr00 i3f4#locustqsr00 i3l5#locustqsr00 i3f1#locustqsr00 i3f5#locustqsr00 i3g6#locustqsr00 o3o4#locustqsr00 o3p3#locustqsr00 o3o2#locustqsr00 o3n3#locustqsr00 o3m3#locustqsr00 o3l3#locustqsr00 o3k3#locustqsr00 o3j3#locustqsr00 a2a3#locustqsr00 a2a4#locustqsr00 a2b2#locustqsr00 a2c2#locustqsr00 a2d2#locustqsr00 a2a1#locustqsr00 a2a8#locustqsr00 e2d2#locustqsr00 e2c2#locustqsr00 e2b2#locustqsr00 e2f1#locustqsr00 e2d1#locustqsr00 f2g4#locustqsr00 f2d1#locustqsr00 f2e4#locustqsr00 g2f1#locustqsr00 g2h4#locustqsr00 g2i1#locustqsr00 g2f4#locustqsr00 g2e4#locustqsr00 g2g4#locustqsr00 h2i1#locustqsr00 h2j4#locustqsr00 h2f4#locustqsr00 h2h4#locustqsr00 h2j3#locustqsr00 h2f1#locustqsr00 h2g4#locustqsr00 i2j3#locustqsr00 i2k4#locustqsr00 i2l5#locustqsr00 i2i1#locustqsr00 j2k3#locustqsr00 j2i1#locustqsr00 j2l3#locustqsr00 j2m3#locustqsr00 j2n3#locustqsr00 j2k4#locustqsr00 j2k5#locustqsr00 k2k3#locustqsr00 k2k4#locustqsr00 k2k5#locustqsr00 k2l2#locustqsr00 k2l4#locustqsr00 k2m3#locustqsr00 k2m1#locustqsr00 k2i1#locustqsr00 k2j4#locustqsr00 m2n3#locustqsr00 m2o4#locustqsr00 m2p5#locustqsr00 m2l3#locustqsr00 m2k4#locustqsr00 p2p3#locustqsr00 p2p1#locustqsr00 p2o2#locustqsr00 p2n2#locustqsr00 b1b2#locustqsr00 b1c2#locustqsr00 b1c1#locustqsr00 b1a1#locustqsr00 b1d1#locustqsr00 e1f1#locustqsr00 e1d1#locustqsr00 e1d2#locustqsr00 e1c2#locustqsr00 g1f1#locustqsr00 h1i1#locustqsr00 j1i1#locustqsr00 j1l3#locustqsr00 j1j3#locustqsr00 j1g4#locustqsr00


🕸📝Fergus Duniho wrote on Fri, Feb 16 07:52 PM EST in reply to Carlos Cetina from 05:21 PM:

This was my fault. It was calling a function that didn't exist for your choice of rendering method without first checking whether it existed. I have now put in the check.


Carlos Cetina wrote on Fri, Feb 16 05:21 PM EST:

@Fergus and/or @HG:

In the following log I cannot move since the page does not load correctly.

https://www.chessvariants.com/play/pbm/play.php?game=Cetran+Chess+3&log=sissa-cvgameroom-2024-39-687&userid=sissa

The preset was edited through the Play-test applet. Could you please take a look at it. Thanks!


H. G. Muller wrote on Wed, Feb 14 01:36 PM EST in reply to Jean-Louis Cazaux from 11:25 AM:

How come a problem like this can cure itself is a real mystery for me.

To me as well; it should not be possible. Unless there was some hardware error, where a faulty memory bit was causing the program not to behave as it should, and that after some time it ended up in another area of the memory. The problem should not have existed in the first place; if the last-moved Pawn would disappear after every piece move it should have been discovered much earlier.


Jean-Louis Cazaux wrote on Wed, Feb 14 12:04 PM EST in reply to Fergus Duniho from 11:58 AM:

OK thank you Fergus. With a small kind explanation the things are much better perceived.


🕸📝Fergus Duniho wrote on Wed, Feb 14 11:58 AM EST in reply to Jean-Louis Cazaux from 11:25 AM:

I interpret your answer to me as a disaprobation of using HG's PTA to make a GC preset.

You are misinterpreting what I said. I was not expressing feelings about it. I was simply pointing you to the person who could actually help you, because I do not understand the code generated by the PTA, and I am not qualified to help anyone with it.

But, you alone cannot code GC presets for every CV that is published here. So, it is also very nice what HG has made with this PTA because otherwise people like me would never been able to code new games for GC.

That's why PTA-generated code is his area of expertise and not mine.


Jean-Louis Cazaux wrote on Wed, Feb 14 11:25 AM EST in reply to H. G. Muller from 05:56 AM:

@HG yes, now it works. How come a problem like this can cure itself is a real mystery for me.

@Fergus: I interpret your answer to me as a disaprobation of using HG's PTA to make a GC preset. This would be difficult to understand from my perspective. Your GC app is fantastic and really appreciated by all people on this site, as far as I know. Really nice as it allow us to play an incredible variety of games. But, you alone cannot code GC presets for every CV that is published here. So, it is also very nice what HG has made with this PTA because otherwise people like me would never been able to code new games for GC. Big thanks to you and HG.


🕸📝Fergus Duniho wrote on Wed, Feb 14 10:55 AM EST in reply to H. G. Muller from 05:56 AM:

Something very fishy is going on. I discovered that what GAME code prints is hidden in the header of the preset page, so I could see it by looking at the Page Source. (A bit inconvenient, as it is buried in an insane number of empty <P> tags, but I managed.)

You can set the system variable showoutput to true to see the output. Also, you can find it in the source code in a PRE tag with the id of errors.


H. G. Muller wrote on Wed, Feb 14 05:56 AM EST in reply to H. G. Muller from 01:51 AM:

Something very fishy is going on. I discovered that what GAME code prints is hidden in the header of the preset page, so I could see it by looking at the Page Source. (A bit inconvenient, as it is buried in an insane number of empty <P> tags, but I managed.)

I experimented a bit in Play mode, and the fastest way to reproduce the disappearence was 1. j3-j5 i10-i8 2. j5-j6 i18-i7 3. Nk2-j4 and i7 would disappear. In particular, the problem occurred when a Pawn was moved a single step to attack another Pawn; that Pawn would then disappear.

So I put statements in the GAME code to see what move was offered to GC for playing. This was simply "N k2-j4", no instructions to remove anything else. So I printed the board just before that move would be executed. The Pawn was already gone. So I tried printing the board earlier in the process of verifying the legality of the move, to see at which point the Pawn would disappear. But after that the Pawn on i7 did not disappear anymore!

That was weird. Printing something should not alter what the code does to the board. I commented out that extra printr statement, and later removed it alltogether, to go back to the situation where I last saw the problem, only printing the board just before the move was made. The Pawn did not disappear anymore. So I removed all print statements I had added for debugging: the Pawn stays. I played to the game position: also there no Pawns disappear.

So it seems the problem has cured itself, without making any changes to the preset. Please try again to make a move in the game, to see if you have the same experience.


H. G. Muller wrote on Wed, Feb 14 01:51 AM EST in reply to Jean-Louis Cazaux from 01:17 AM:

I think the dotted circle is a new feature of CG, for highlighting locust captures. The question is why there was a locust capture.

Do you have a link to the preset? Never mind, I figured out how to use the log id.

@Fergus: Is there a way to see the result of print and printr statements in the GAME code when the move gets accepted? I only get to see those automatically when it executes die, which I can often trigger myself by playing an illegal move. But in this case I really want to know what happens on a specific move, and without any output from the prgarm debugging is hard.


Jean-Louis Cazaux wrote on Wed, Feb 14 01:17 AM EST in reply to Fergus Duniho from Tue Feb 13 05:20 PM:

Thank you Fergus. I thought that the apparition of a dotted circle instead of piece could not be in relation of the use of HG's PTA.

@HG: could you please have a look?


🕸📝Fergus Duniho wrote on Tue, Feb 13 05:20 PM EST in reply to Jean-Louis Cazaux from 04:11 PM:

I can't see what is the problem. Is that with my coding of the GC?

Since you used H. G. Muller's PTA to make this preset, you will have to ask him.


Jean-Louis Cazaux wrote on Tue, Feb 13 04:11 PM EST:

@Fergus: In this log

timurthelenk-fhou-2024-41-899

If I play (with Blacks) any move with a non-pawn piece, for ex; sh d11-e8, the white pawn in f6 disapears, replaced by a dotted circle (?) and it results that white King is in check which should not happen.

I can't see what is the problem. Is that with my coding of the GC?

Thanks


Kevin Pacey wrote on Mon, Feb 12 05:10 PM EST in reply to Fergus Duniho from 04:13 PM:

There are a couple of other way(s) to go about it, too, that I forgot to mention. Once, an opponent's last comment in a game vs. me was that I was too strong for him, so henceforth I have not accepted any of his open invites (though he could pick up any of mine later if he wished).

On another occasion an opponent just wrote that he needed a break from our matches, before resigning a game - again I have not accepted any of his open invites, though he may choose to accept one or more of mine later.

Yet another way that might be effective is to end a game by commenting something like 'let's not play again until [e.g. March, of 2024] at least, I need a break from our matches'.

If all else fails, you might issue only (or some) Personal Invitations, at least for a while. Some can be played privately, I understand, if you don't wish to give any hint of an impression that you might be avoiding certain player(s).


🕸📝Fergus Duniho wrote on Mon, Feb 12 04:13 PM EST in reply to Jean-Louis Cazaux from 11:15 AM:

I will finish the game I have with him and then I will keep silent, no open invitation anymore.

When you make an invitation, you can enter a message for anyone thinking of accepting. So you could use this to say that you would like to play against someone you're not already playing this same game with or whatever stipulation you want to provide.


Jean-Louis Cazaux wrote on Mon, Feb 12 11:15 AM EST in reply to Kevin Pacey from Sun Feb 11 04:21 PM:

Thanks Kevin. There is no quarrel in my case. I'm glad to play with Richard, actually I have my best stats with him. But he took the last 5 or 6 open invitations I have made in a row, so it is a bit frustrating, I say to myself, let's open a new one to play someone else, and immediatly, it's him again.

I will finish the game I have with him and then I will keep silent, no open invitation anymore.


Kevin Pacey wrote on Sun, Feb 11 04:21 PM EST in reply to Jean-Louis Cazaux from 03:31 PM:

I once commented to Greg and he agreed that maybe a filtering-out option on open invitations could be a good idea - at the time there was one player who would take back moves if he blundered, such as in games of mine with him. CVP staff seldom seem to get involved in any of the few GC quarrels we have.

There are two other choices: if a person you don't wish to play lives in another time zone far away, and you know that, you could issue an open invitation(s) when you think that person may be asleep.

Alternatively, if the person you don't wish to play accepts an open invitation, you could just delete that game log, and repeat the process as often as needed. He may complain though, but you could argue your case at that point, too - perhaps by email with CVP staff, if you wish to keep things low-key.


Jean-Louis Cazaux wrote on Sun, Feb 11 03:31 PM EST:

@Fergus: is it possible to make an open invitation, open to everyone but 1 person?

I'm almost joking but on the other hand, launching an open invitation is identical to play always with our friend Richard which is always the most rapid to accept. It is virtually impossible to play agains someone else by open invitation.

@Richard: you are playing more than 1/2 of the total list of logs here, so please let the others play a little bit. Thanks.


🕸📝Fergus Duniho wrote on Fri, Feb 9 05:31 PM EST in reply to Kevin Pacey from 04:45 PM:

Some diagrams for certain Game logs of mine, even long after I made a move, are showing funny patterns, like circular lines on the board's squares - for example:

That's now corrected. I had forgotten to correct how the upsidedown position for square table boards checks whether anything is different from the previous position. It now checks the $prevpos variable instead of $posdata[$movenum - 1]["space"]. By checking the wrong variable, it calculated that everything was different and highlighted every space.


Jean-Louis Cazaux wrote on Fri, Feb 9 05:24 PM EST in reply to Kevin Pacey from 04:45 PM:

Also for me


Kevin Pacey wrote on Fri, Feb 9 04:45 PM EST:

@ Fergus:

Some diagrams for certain Game logs of mine, even long after I made a move, are showing funny patterns, like circular lines on the board's squares - for example:

https://www.chessvariants.com/play/pbm/play.php?game=Wide+SOHO+Chess&log=panther-cvgameroom-2023-350-831


Kevin Pacey wrote on Tue, Feb 6 04:55 PM EST in reply to Fergus Duniho from 04:16 PM:

Ok, I viewed those logs in question, and, from my perspective at least, they now show correct result on the Finished Games Page that's linked to from the What's New Page.


🕸📝Fergus Duniho wrote on Tue, Feb 6 04:16 PM EST in reply to Kevin Pacey from 03:34 PM:

If you view these logs, they should self-correct.


Kevin Pacey wrote on Tue, Feb 6 03:34 PM EST in reply to Fergus Duniho from 03:24 PM:

Thanks Fergus, although it appears some other entries near the top of the Finished games page (games I didn't play in myself, I think) have wrong results, still.


🕸📝Fergus Duniho wrote on Tue, Feb 6 03:24 PM EST in reply to Kevin Pacey from 02:01 PM:

In one new line, I had tested for empty($log) when $log wasn't a global variable. So I changed it to empty($GLOBALS["log"]), and that fixed both of the games you mentioned.


Kevin Pacey wrote on Tue, Feb 6 02:01 PM EST:

@ Fergus

For some reason the Finished Game Courier logs page is showing wrong results of late today. For example, a game of Pocket Shogi Copper I won vs. wdtr2 in 2023 is showing up as 'Juan Juan has won' in the result shown for it, in the Finished Games page linked from the What's New page(!):

https://www.chessvariants.com/play/pbm/play.php?game=Pocket+Shogi+Copper&log=panther-cvgameroom-2023-279-196

Also from 2023, a game of Pocket Copper Shogi I won vs. Richard Milner is showing up as 'White has won'(!), which is better, at least:

https://www.chessvariants.com/play/pbm/play.php?game=Pocket+Shogi+Copper&log=panther-cvgameroom-2023-253-172


🕸📝Fergus Duniho wrote on Wed, Jan 17 01:02 PM EST in reply to Jean-Louis Cazaux from 12:28 PM:

When I try to open it for accepting (or not), I get this error message: Your userid is timurthelenk. This log is private. It may be viewed only by the players. If you are one of the players, please sign in first. You may use the menu for this.

I fixed that problem, but when I clicked on the link, it automatically accepted the invitation for me without giving me the option.


Jean-Louis Cazaux wrote on Wed, Jan 17 12:28 PM EST:

@Fergus:

Paul Rapoport (Numerist) has launched an invitation to play Pemba:

numerist-cvgameroom-2024-8-677

When I try to open it for accepting (or not), I get this error message: Your userid is timurthelenk. This log is private. It may be viewed only by the players. If you are one of the players, please sign in first. You may use the menu for this.

In my experience, this has only happened to me in the past with Paul's invitations. As far as I know, he never got an invitation accepted and he finished by cancel them. Sad. But maybe, there is something wrong that he or we have not understood. If his invitation is open to anybody, how come I am refused to open it?

Could you please have a look to this particular log. Maybe you will see what is not done properly or if there is a bug.

Many thanks


Jean-Louis Cazaux wrote on Thu, Dec 28, 2023 12:09 PM EST in reply to Fergus Duniho from 12:03 PM:

Thank you for this explanation. I didn't know it was incremented that way. Thanks


🕸📝Fergus Duniho wrote on Thu, Dec 28, 2023 12:03 PM EST in reply to Jean-Louis Cazaux from 01:46 AM:

What you're calling a reference number is just the date and time in the format date("Y-z-B"). They are the same, because the invitations were issued close enough together in time. So, it's no surprise that in each case, the same person issued the two invitations with the same date and time.


Jean-Louis Cazaux wrote on Thu, Dec 28, 2023 01:46 AM EST in reply to Fergus Duniho from Wed Dec 27 03:42 PM:

@Fergus: thank you, it looks much better.

Oh, it is not a major issue but if that interests you, I see a remaining anomaly: there are 2 couples of games which have the same reference number although being related to different games.

https://www.chessvariants.com/play/pbm/play.php?game=Festival+Chess&log=sesquipedalian-cvgameroom-2023-131-051

https://www.chessvariants.com/play/pbm/play.php?game=Skica&log=sesquipedalian-cvgameroom-2023-131-051

https://www.chessvariants.com/play/pbm/play.php?game=Metamachy&log=timurthelenk-cvgameroom-2022-73-858

https://www.chessvariants.com/play/pbm/play.php?game=Maasai+Chess&log=timurthelenk-cvgameroom-2022-73-858

As far as I'm concerned, I don't ask for a correction. I just show this in case it indicates something important for the website.

Thanks again


🕸📝Fergus Duniho wrote on Wed, Dec 27, 2023 03:42 PM EST in reply to Fergus Duniho from 12:34 PM:

One is to clean the database.

I cleaned the FinishedGames and GameLogs tables, and I dropped the OngoingGames table.


🕸📝Fergus Duniho wrote on Wed, Dec 27, 2023 02:05 PM EST in reply to Fergus Duniho from 12:34 PM:

The other is to figure out what caused this and stop it.

I identified code where the plus sign got added back in and added a line calling urldecode on $game. So, when you click on a log for a game with a plus sign in it, the game's name should now show up without any plus signs. This has the unfortunate side effect that games cannot have plus signs in their names. Fortunately, it doesn't affect many games, because there are few games of that sort.


🕸📝Fergus Duniho wrote on Wed, Dec 27, 2023 01:35 PM EST in reply to Fergus Duniho from 01:18 PM:

Comment #31244 indicates that I created FinishedGames in April, 2015, and Comment #34645 indicates that I created GameLogs in July, 2017. No comments prior to today mention OngoingGames.


🕸📝Fergus Duniho wrote on Wed, Dec 27, 2023 01:18 PM EST in reply to Fergus Duniho from 12:34 PM:

It appears that OngoingGames is not being used anymore. I used grep to search for .php files with OngoingGames in them, and none turned up. Searches of OngoingGames for Log names matching %2016% through %2023% turned up nothing. So, I probably stopped using it in 2015, the same year I took over running the site. Around that time, I modified the Logs page to use the Database instead of reading every log in the file system, because reading all the logs was using too many resources. It seems that at that time I discontinued OngoingGames in favor of GameLogs, which contained a record of every log in a single table that could be searched with an SQL query from this page.


🕸📝Fergus Duniho wrote on Wed, Dec 27, 2023 12:34 PM EST in reply to Jean-Louis Cazaux from 03:55 AM:

This is a huge problem that is even affecting my own games from 2004. Database searches indicate that it affects FinishedGames and GameLogs, but it doesn't affect GameSettings or OngoingGames. Since it didn't affect OngoingGames, it flew under the radar for people who didn't look back at past games. The solution has two parts. One is to clean the database. I will probably have to use a script, since a mass delete might get some rows that shouldn't be deleted. The other is to figure out what caused this and stop it. In urlencoded URLs, the + sign is sometimes used to represent the space. So, it looks like it has been saving urlencoded game names into the database. Since I know which tables in the database have been affected, I know to look at the scripts that write to those tables and to compare them to those that write to the unaffected tables.


Jean-Louis Cazaux wrote on Wed, Dec 27, 2023 03:55 AM EST in reply to Fergus Duniho from Tue Dec 26 02:11 PM:

@Fergus:

I don't understand your answer. You ask URLs. Those below are not enough? Or I don't understand what you don't understand. It seems that there is a problem with the way the recorded games are labelled.

https://www.chessvariants.com/play/pbm/play.php?game=Camel%2BDecimal%2BChess&log=timurthelenk-numerist-2023-327-894

https://www.chessvariants.com/play/pbm/play.php?game=Camel+Decimal+Chess&log=timurthelenk-numerist-2023-327-894

I re-post the list below, they have all the same problem.


timurthelenk-numerist-2023-327-894

playtester-cvgameroom-2023-303-807

timurthelenk-cvgameroom-2023-259-648

makov333-cvgameroom-2022-244-501

cssdixieland-timurthelenk-2022-235-134

panther-cvgameroom-2021-304-254

catugo-cvgameroom-2021-289-757

The duplication seems to come because of the game title which is given as "A B" and "A+B": ex: Chinese Chess and Chinese+Chess.

Finally I also see this mistake where a same number is attached to 2 different games: timurthelenk-cvgameroom-2022-73-858 is once attached to Metamachy and once to Maasai Chess.



🕸📝Fergus Duniho wrote on Tue, Dec 26, 2023 02:11 PM EST in reply to Jean-Louis Cazaux from Mon Dec 25 01:58 AM:

Please provide full URLs to the duplicated logs and their duplicates and others you find problematic.


Diceroller is Fire wrote on Tue, Dec 26, 2023 01:16 PM EST in reply to Fergus Duniho from 01:07 PM:

Thx for answer)


🕸📝Fergus Duniho wrote on Tue, Dec 26, 2023 01:07 PM EST in reply to Diceroller is Fire from 01:04 PM:

Temporary bug while updating some code. Technically, the pieces had a height and width of zero, but this should be fixed now.


Diceroller is Fire wrote on Tue, Dec 26, 2023 01:04 PM EST:

{BUG} Hey why I move in first game I should move in and in other my games all pieces are trasparent???


Jean-Louis Cazaux wrote on Mon, Dec 25, 2023 01:58 AM EST in reply to Fergus Duniho from Sun Dec 24 05:44 PM:

Dear Fergus. There are several bugs in this page:

It is rather simple. All games dated with 2022 or 2021 or even 2020 have not been played in these last days of 2023. I am quite sure of that. Here the bug seems just they have been moved in time. Strange.

There are also games which are duplicated. Like:

timurthelenk-numerist-2023-327-894

playtester-cvgameroom-2023-303-807

timurthelenk-cvgameroom-2023-259-648

makov333-cvgameroom-2022-244-501

cssdixieland-timurthelenk-2022-235-134

panther-cvgameroom-2021-304-254

catugo-cvgameroom-2021-289-757

The duplication seems to come because of the game title which is given as "A B" and "A+B": ex: Chinese Chess and Chinese+Chess.

Finally I also see this mistake where a same number is attached to 2 different games: timurthelenk-cvgameroom-2022-73-858 is once attached to Metamachy and once to Maasai Chess.


Carlos Cetina wrote on Sun, Dec 24, 2023 09:51 PM EST in reply to Fergus Duniho from 05:44 PM:

Fergus:

Please take a look at this link

All problematic logs are distinguished by having the + sign inserted in the game name, for example, Kamikaze+Mortal+Shogi instead of the correct Kamikaze Mortal Shogi

When trying to view those games or print the list of plays, the software warns that the logfile is missing, or something is misspelled.


🕸📝Fergus Duniho wrote on Sun, Dec 24, 2023 05:44 PM EST in reply to Jean-Louis Cazaux from 04:56 PM:

Apart from what the records say, I wouldn’t know which games you have or haven’t played. I see no such problem with my account, and no one else has reported this. So, if you want me to look into this, I will need exact details.


Jean-Louis Cazaux wrote on Sun, Dec 24, 2023 04:56 PM EST:

@Fergus

I report another bug: in the table of the GC games I'm supposed to have played: https://www.chessvariants.com/play/pbm/logs.php?userid=timurthelenk&age=0&sort=age&stat=actfin

There are many that I have not played, at least not these recent dates (for example, I don't remember having played at Mosaic Chess), many games which are duplicated, etc.

So, the table is wrong. Maybe I'm not the only one. This may affect other statistic pages that are computed on this site.


🕸📝Fergus Duniho wrote on Mon, Dec 18, 2023 03:14 PM EST in reply to A. M. DeWitt from 01:58 PM:

The first one is now corrected. The second should be

https://www.chessvariants.com/play/pbm/play.php?game=Zwangkrieg&log=sesquipedalian-cvgameroom-2023-342-707


100 comments displayed

Later Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.