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 GregoryStrong

LatestLater Reverse Order EarlierEarliest
Is there a way to know before accepting a challenge what time requirements the game will have?[Subject Thread] [Add Response]
Greg Strong wrote on Mon, Dec 16, 2019 04:10 PM UTC:

That's right.  If it doesn't show anything then there are no time controls.  It would be better if there was a message to that effect.


About Game Courier. Web-based system for playing many different variants by email or in real-time.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Dec 14, 2019 06:13 PM UTC:

Oh.  How did you open each log file and add time?


Greg Strong wrote on Sat, Dec 14, 2019 05:50 PM UTC:

I understand.  The logs page doesn't end games, that's why my games showed Out Of Time but the game didn't end.  I added time to the active games with the following query:

UPDATE `GameLogs` SET Deadline = Deadline + 800000 WHERE Deadline > 1000000000 AND Lastmod > 1573973624

Once I did this, my games no longer showed Out Of Time


Greg Strong wrote on Sat, Dec 14, 2019 01:42 AM UTC:

Well, I don't know - I saw the site was back up at about 4:30 EST and I searched on my games and it showed "Out Of Time".  I knew better than to click on it, because that would finalize it.  So I figured out how to add time by testing on one of my games.  And when I figured it out, I did it globally under the parameters described above.  I acted quickly because, if anyone clicks in the interim, the game in finalized and then I have no idea how to fix it.  I would not have done anything, had you posted a message about what you had done, but I saw no posts and my games, which were certanily not out-of-time when the outage started, still showed out-of-time and I was in danger of losing incorrectly.

P.S. I have sent you emails about this.


Greg Strong wrote on Fri, Dec 13, 2019 09:56 PM UTC:

Welcome back, everyone.  I've added about 9 days of time to any Game Courier game that had a time limit and had been moved in the last four weeks so hopefully no one will lose on time incorrectly or be put at a disadvantage due to the downtime.


ChessVA computer program
. Program for playing numerous Chess variants against your PC.[All Comments] [Add Comment or Rating]
📝Greg Strong wrote on Fri, Nov 29, 2019 03:41 AM UTC:

Ok, I'll post an updated version tonight or tomorrow that fixes this problem.  Thanks to your error message I believe I know what the problem is.


📝Greg Strong wrote on Thu, Nov 28, 2019 07:58 PM UTC:

Hi Carlos,

This error message is helpful.  Try this: right-click on ChessV.exe and select Properties.  In the window that opens, there may be a button toward the bottom right that says "Unblock".  If so, click Unblock and click OK.  You may also need to do this on the DLL files.

I will upload a new version that fixes this, but I think this may get going for now.


Symmetric Chess. (Updated!) Variant with two Queens flanking the King and Bishops Conversion Rule. (9x8, Cells: 72) [All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Nov 23, 2019 02:18 AM UTC:

Ok, I had a thought.  Carlos, if you would be so kind, would you mind trying this?  Go in to the Engines\XBoard folder and delete everything underneath and then try running ChessV.exe again?

I included engines Fairy-Max, KingSlayer, and SjaakII.  When ChessV first runs, it will try to start each of those engines to determine their capabilities.  Perhaps one of them is failing and it is stopping everything...


Greg Strong wrote on Sat, Nov 23, 2019 02:08 AM UTC:

Hi Carlos.  Thank you for the extra information.  Unfortunately, this does not make sense to me.  Do you know what version of Windows 10 you are using?  I know there is a "Windows 10 S" that can only run apps from the Windows App Store.  Other than that, I cannot imagine why it would not be possible to run a simple exe ...

Oh- ok- on further thought.  ChessV requires the .NET Framework while Winboard does not.  (The older ChessV used an older version of the .NET Framework.)  I would think you would get a better error message if that was the problem, but ...  Also, .NET Framework 4.6 is already installed on Windows 10 and should be compatible.  Does not really make sense.  Let my try something; I need to figure this out and I do not think that the problem is because there is no installer.


Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
💡📝Greg Strong wrote on Fri, Nov 22, 2019 05:31 PM UTC:

Personally, I would recommend putting the breaks on this conversation as nothing productive will come from it.  Comments of the "your website is lame, you really need blah, blah, blah" variety are a dime a dozen and should be treated as such.

Yes, it could be better, but that describes everything in the world.  We're volunteers with limited time.


Symmetric Chess. (Updated!) Variant with two Queens flanking the King and Bishops Conversion Rule. (9x8, Cells: 72) [All Comments] [Add Comment or Rating]
Greg Strong wrote on Fri, Nov 22, 2019 05:18 AM UTC:

I have successfully tested on Windows 10.  What happens when you double-click ChessV.exe?  (It does not make button on the start menu)


Greg Strong wrote on Fri, Nov 22, 2019 12:31 AM UTC:

The new ChessV supports Symmetric.  You could give that a try.  I think I have also fixed your issue with the button sizes, although I can't be sure (since I could not reproduce it.)


Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
💡📝Greg Strong wrote on Tue, Nov 19, 2019 01:22 PM UTC:

No, the games are complete.  Was finishing the preset for Symmetric, and now I've been sick for almost a week so the preset is still unfinished and next round games are still unmade.  Hopefully soon.


Wildebeest Decimal Chess. A Wildebeest Chess adaptation to the decimal board.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Mon, Nov 18, 2019 12:34 PM UTC:

You're welcome, Erik.  I'll change it for the official release.  But if you want, you can change your copy right now.  Just modify the text file in the Include sub-directory.  (Don't just rename the file, you also have to edit the first line in the file.)


Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
💡📝Greg Strong wrote on Mon, Nov 18, 2019 12:32 PM UTC:

Thanks, Fergus and Carlos.  I have jury duty this morning, but I will try to get the preset updated after.  But I've been sick and I'm not sure how long I will be there today so we'll see.


💡📝Greg Strong wrote on Sun, Nov 17, 2019 05:37 PM UTC:

The description of the Bishop conversion rule says this:

" for one of the bishops of the player, the first move made with this bishop must be of this special type. "

I take this sentence to mean that if one of the Bishops gets captured before it moves, the other cannot start with a normal move. This doesn't seem very sensible, though, so I am not sure whether my interpretation is correct.

I have asked Carlos about this and, if one bishop is captured before either has moved, then the other bishop may convert but is not required to.  I'll edit this page to make it a little more clear.


💡📝Greg Strong wrote on Sun, Nov 17, 2019 03:00 AM UTC:

Got it!

def B
or alltrue checkride #0 #1 1 1 !== #0 c1 !== #0 g1
or alltrue checkride #0 #1 1 1  == #0 c1 not flag wcmustconvert
or alltrue checkleap #0 #1 1 0  == #0 c1 flag wccanconvert
or alltrue checkride #0 #1 1 1  == #0 g1 not flag wgmustconvert
or alltrue checkleap #0 #1 1 0  == #0 g1 flag wgcanconvert;

def b
or alltrue checkride #0 #1 1 1 !== #0 c8 !== #0 g8
or alltrue checkride #0 #1 1 1  == #0 c8 not flag bcmustconvert
or alltrue checkleap #0 #1 1 0  == #0 c8 flag bccanconvert
or alltrue checkride #0 #1 1 1  == #0 g8 not flag bgmustconvert
or alltrue checkleap #0 #1 1 0  == #0 g8 flag bgcanconvert;

I'll give the whole thing another lookover in the morning to hopefully make sure I didn't miss anything but I think everything is set.


💡📝Greg Strong wrote on Sun, Nov 17, 2019 02:24 AM UTC:

Thanks, Fergus.  Unless I'm missing something, it seems my B subroutine already has all the logic.  Is there some reason I can't delegate def B to gosub B?  Seems odd I should need to describe all the same logic again but in a different way.


💡📝Greg Strong wrote on Sun, Nov 17, 2019 12:07 AM UTC:

Well, I don't know.  I thought I was getting there but apparently not.  Nothing behaves the way I expect and after about 8 hours of screwing around I've reached my limit.

I don't know exactly what the issue is (and there could be more than one) but part of it seems to revolve around the fact that the rules for Bishop moves are complicated, and I've codified them nicely in subroutines "B" and "b", but the architecture seems to want the 1-line fn defs, which don't seem to support if-then-else, and my attempts to have a def B pass off to a gosub B doesn't seem to work either.

If anyone else wants to look, feel free.  Boiled down, the Bishop Conversion Rule really isn't that hard.  I'm tracking things with 8 flags:

wccanconvert wgcanconvert bccanconvert bgcanconvert wcmustconvert wgmustconvert bcmustconvert bgmustconvert

The first letter, w or b, indicates the player.  The second letter, c or g, indicates the start file of the bishop.  Then there are flags for can convert (which begin the game set) and flags for must convert (which are not set until the other bishop moves without converting.)


Marseillais Chess. Move twice per turn. (8x8, Cells: 64) (Recognized!)[All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Nov 16, 2019 04:25 PM UTC:

Ok, I see.  Yes, probably representing positions in the middle of turns would not be common.  But since ChessV considers the legs to be different moves, I needed to do something.  I don't want to break the property that everything has an FEN.


Caïssa Britannia. British themed variant with Lions, Unicorns, Dragons, Anglican Bishops, and a royal Queen. (10x10, Cells: 100) [All Comments] [Add Comment or Rating]
Greg Strong wrote on Sat, Nov 16, 2019 04:22 PM UTC:

The graphic diagram on this page is very small for some reason.  Don't think it was always that way.  I will fix in a few days if Fergus doesn't.


Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
💡📝Greg Strong wrote on Sat, Nov 16, 2019 04:19 PM UTC:

Hi Carlos,

Sorry, I did not mean to convey that I was done.  Only that I had made progress.  I intend to work on fixing the legal moves display today.


💡📝Greg Strong wrote on Sat, Nov 16, 2019 12:22 AM UTC:

Ok, I think we'll be in business for a rule-enforcing preset for Symmetric.  I made some real progress.  The display of legal moves doesn't work yet (the legal move display makes it look like the bishop is a dragon horse), but it terms of what it actually allows, it looks like it is doing the right thing in all cases:

/play/pbm/play.php?game%3DSymmetric+Chess%26settings%3Drules


Marseillais Chess. Move twice per turn. (8x8, Cells: 64) (Recognized!)[All Comments] [Add Comment or Rating]
Greg Strong wrote on Fri, Nov 15, 2019 10:27 PM UTC:

About the FEN: is this really needed? Why would one ever want to have a FEN for a position after the first move?

Really?  FENs are useful.  For example, the CECP setboard command.  I think the fact that ChessV will give you the FEN for the current position or load a new position by FEN in any game to be a useful feature.

[idea!] Why not use a fraction on the full-move counter if you want to do this? E.g. move 10.5 would mean after the first half of the 10th turn of the player on move

I'm sorry, but I don’t like this at all.  Instead of adjusting the side-to-move from “w2” to “w” and then to “b2”, you are going to go from “w” on move 10, to “w” but on move 10.5, and then to “b” and roll the move counter back to 10?  That is not cleaner than my approach.  And my approach is cleanly extensible to Progressive Chess

It seems to me that a Marseillais Chess cannot be implemented without some dedicated code that would be useless in single-move variants.

It is certainly true that allowing multi-move variants requires extra code.  So the goal was to add this capability in a modular fashion that is not specific to Marseillais.  ChessV has Rule objects which can be plugged in to enable various capabilities.  To support this, I made a special type of Rule called a MoveCompletionRule which handles updating the side-to-move when moves are made or unmade.  Every game must have exactly one of these.  Unless you are playing a multi-move variant, you just leave the default in place which just oscillates between white and black.  Other implementations can do more complex things.  The MarseillaisMoveCompletionRule can be plugged into any game – add it to Capablanca Chess and you have Marseillais Capablanca with one line of code.

It should be clear that you cannot judge the legality of a turn before you have seen the full turn

Well, this is what we are discussing... I wish to avoid that complexity, which I consider unnecessary and possibly undesirable, at least for Marseillais.  But you do have one excellent point, which is:

Take the Shogi Pawn-drop-mate ban.

Yeah.  That’s a problem.  I may not be able to avoid this issue long term since I deffinately want to be able to support Shogi.  I think that rule did cross my mind previously and I immediately pushed it to the side so as not to give myself nightmares.  Say, I wonder if Zillions can handle that rule?  I bet it can’t.

The other examples you give, like Paco Shako – are probably not going to happen – at least not unless other programmers start assisting me.  ChessV is now up to 400 files of source code.  It’s a ridiculously ambitious project for one guy in his spare time.  Some things just aren’t going to happen.  Unless I win the lottery.  Or find a wealthy benefactor.

The reason I mentioned QS was because I assumed this would be required to detect the fact that the previous ply exposed the King

That’s not how I am handling it.  One of the messages a Rule object can accept is MoveBeingMade – upon which it can update internal information (in the case of the castling rule or en passant rule), but it can also rule that the move is illegal.  The Checkmate rule handles MoveBeingMade, checks to see if the king is attacked, and rules the move illegal if it is.  And, determining if a square is attacked is also routed by message passing.  Butterfly Chess includes a CaptureByAdvance rule which handles the Advancer’s capture ability.  So the Checkmate rule handles MoveBeingMade, fires off IsSquareAttacked messages, which are picked up by the CaptureByAdvance rule.  So Butterfly Chess has both capture-by-advance and check/checkmate/stalemate without either Rule object knowing anything about the other!  Beyond that, support for Butterfly comes entirely from the scripting language - no C#, entirely plug-and-play. Computationally very inefficient, hence my lousy nodes-per-second, but that’s how ChessV is able to play such a wide variety of games and how I am able to add support for new games very quickly.


Game Courier Tournament 2019. Chess Variant Tournament to be played on Game Courier.[All Comments] [Add Comment or Rating]
💡📝Greg Strong wrote on Fri, Nov 15, 2019 03:02 PM UTC:

Nice, thank you.  I will get the third round assigned this weekend.  Hopefully I will be able to get a rule-enforcing Symmetric Chess preset working by then but we might have to do without.


25 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.