Check out Alice Chess, our featured variant for June, 2024.


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

Comments/Ratings for a Single Item

EarliestEarlier Reverse Order LaterLatest
About Game Courier. Web-based system for playing many different variants by email or in real-time.[All Comments] [Add Comment or Rating]
Jose Carrillo wrote on Fri, Nov 6, 2009 02:33 AM UTC:
[Update]

Fergus,

I fixed the Pre-game in the Modern Random Chess preset as per your FRC sample, and I'm using this URL:

/play/pbm/play.php?game=Modern+Random+Chess&log=j_carrillo_vii-sissa-2008-125-050&constants_firstrank=RKBNNQBRA&settings=MRC&userid=j_carrillo_vii&password=????????&submit=Fix

Even though it tells me it's fixed, I try the link to the game, and it still doesn't work.

= = =

ILLEGAL: M h1-g3 on turn 14:There was no M on h1. The piece on h1 is a R.Go back and try again.

🕸💡📝Fergus Duniho wrote on Fri, Nov 6, 2009 02:45 AM UTC:
Abstract is the name of the settings file for Fischer Random Chess that is programmed to recognize the firstrank constant. It is required in this case, because this preset was not using this settings file, and it will not make use of the firstrank constant without it.

Jeremy Good wrote on Fri, Nov 6, 2009 09:14 AM UTC:
Not a complaint, but a wish: I wish that GAME Courier had the additional feature that one could click and move multiple pieces each turn for some of the multiple move variants. Maybe games could have an option for designers to hit the verify button only after you've pointed and clicked on all the pieces you intend to move (or it could be done automatically if one was able to specify in the rules how many pieces each side is supposed to move each time). Maybe that's too ambitious though? There are a number of games (Chieftain Chess, Giant Chess, Balanced Marseillais Chess, Moderate Progressive Chess, etc.) that would benefit hugely from this.

Side note: On this subject there is a curiosity I've noticed. The wonderful feature that allows one to have pieces change automatically disappears when one has to manually enter additional notation. I'm hoping this can be remedied if we can somehow institute multiple point and click.


Jose Carrillo wrote on Fri, Nov 6, 2009 12:35 PM UTC:
Fergus,

Can you help me fix the Modern Random Chess preset?

/play/pbm/play.php?game%3DModern+Random+Chess%26settings%3DMRC

I did the changes (I think) as per your FRC sample, but it's still not working.

M Winther wrote on Fri, Nov 6, 2009 05:10 PM UTC:
My Fischer Random-type variants still work fine. It doesn't seem like changes affect all.
/Mats

🕸💡📝Fergus Duniho wrote on Fri, Nov 6, 2009 07:45 PM UTC:
Jose,

In the section of code performed when firstrank doesn't exist, you didn't create the firstrank constant.

🕸💡📝Fergus Duniho wrote on Fri, Nov 6, 2009 08:53 PM UTC:
Mats, 

The change made to the Mersenne Twister algorithm would affect any game started before this change made its way into PHP. Any game started after this change would not be affected. The purpose of introducing constants to record randomly generated values is to (1) fix broken game logs, and (2) to safeguard against any further changes to the Mersenne Twister algorithm.

John Smith wrote on Sat, Nov 7, 2009 01:30 AM UTC:
'That is weird. I don't believe I ever programmed Game Courier to send attachments with email. Can you give more of the particulars of when this has happened? With what frequency is it happening? Does it happen regularly or only when certain players accept?' - Fergus Duniho

It happens regularly, regardless of player. It didn't happen until a certain point, though, which I don't remember. It is only a minor inconvenience that I have to go to my game logs to make a first move.

John Smith wrote on Sat, Nov 7, 2009 01:35 AM UTC:
A suggestion for Game Courier:

Fergus, do you think you could program a library for piece images? It would be so that only a few pieces would show at a time and you would have to scroll or search for the rest, which cuts page load times when making a move in a game that uses, for example, Alfaerie: Many. Short descriptions such as 'Elephant/Alfil' and 'Butterfly' would be useful also.

🕸💡📝Fergus Duniho wrote on Sat, Nov 7, 2009 03:59 AM UTC:
John,

The GAME Code language has the feature of allowing the programmer to set the piecekeys variable, which can be used to reduce the pieces that show up at the bottom of the page. Another option is for the developer to check 'Exclude pieces not in setup' at the bottom of the Edit form. Developers should be using these features, especially if they are using the Alfaerie: Many set, but it is up to them to make the choice to use them.

I do not use or maintain the Alfaerie: Many set. This project is maintained by other people. What I do for my own presets, and which I encourage authors of other presets to do, is to write a minirules file that uses images from whatever piece set has been selected in describing the rules. Look at some of my presets for examples.

John Smith wrote on Sat, Nov 7, 2009 04:04 AM UTC:
I guess that's the problem. Developers don't use those features sometimes.

Jose Carrillo wrote on Sat, Nov 7, 2009 09:36 PM UTC:
Fergus to Jose:
>In the section of code performed when firstrank doesn't exist, you didn't 
>create the firstrank constant.

I think I now did it, but it's still doesn't work.

Same error:

ILLEGAL: M h1-g3 on turn 14:There was no M on h1. The piece on h1 is a R.Go back and try again.

Can you please fix the pre-code for Modern Random Chess to take the Fix?

I'll learn from that and then get it for my other random variants.

Thanks

Jose

🕸💡📝Fergus Duniho wrote on Sat, Nov 7, 2009 10:27 PM UTC:
Jose,

Tell me how to reproduce the error you are getting, and I will see what I can do.

Jose Carrillo wrote on Sat, Nov 7, 2009 11:31 PM UTC:
1st: I go to this URL (I use my correct password, of course...)

/play/pbm/play.php?game=Modern+Random+Chess&log=j_carrillo_vii-sissa-2008-125-050&constants_firstrank=RKBNNQBRA&settings=MRC&userid=j_carrillo_vii&password=????????&submit=Fix

2nd: I get the message below saying the log was fixed:

You log has been fixed.

Done.

3rd: I go to the link below to check the link is no longer broken:

/play/pbm/play.php?game=Modern+Random+Chess&log=j_carrillo_vii-sissa-2008-125-050

4th: I get the error messge below:

ILLEGAL: M h1-g3 on turn 14:There was no M on h1. The piece on h1 is a R.Go back and try again.

5th: Notes

The initial position for this game is: RKBNNQBRA

Where A is an Archbishop on h1. In the precode there is an alias to use M instead of A (M for minister)

It keeps telling me there is a R there.

I used the opposite order for the pieces as well (ARBQNNBKR) to see if it made a difference, but it gave me the same error, saying that there was a R at h1.

🕸💡📝Fergus Duniho wrote on Sun, Nov 8, 2009 01:11 AM UTC:
Jose,

I looked at what the program was doing by having it display debugging code. I tried to set the constant to ARBQNNBKR, but its behavior indicated that it was using the constant RKBNNQBRA. I believe I have written the program so that you cannot replace a constant, only add one that isn't already in the log. Once you placed the constant in the log, you could not change it. That is why you got the same behavior with both values for firstrank. Considering that the value you gave to firstrank does place an R on h1, it makes sense that it would consider the move illegal if it was told to expect a different piece on that space. So it looks like you gave the preset the wrong order for the pieces. Before you try to fix a log, you should try out the piece order you think is right by entering it in without trying to save it. If it reports an illegal move, then you have the wrong order and should try again. Save it to the log only once you have confirmed that it actually works.

Jose Carrillo wrote on Sun, Nov 8, 2009 01:44 AM UTC:
Thanks Fergus.

Are you going to change the program so that it can actually update the constants even if they already exist?

There are many logs to go and we (humans) are bound to make mistakes here and there... :-)

What is the value of the constant right now?

The value I want it to have is: RKBNNQBRA

which is the position for White. The Pre-code logic is set to copy and revert the order of the Black pieces based on the White position.

Or is it actually working backwards? And what I actually set was the Black position and the logic reverted the position for White?

Can you delete the constant?

🕸💡📝Fergus Duniho wrote on Sun, Nov 8, 2009 03:04 AM UTC:
I have updated the program so that you can change constants that already exist, but I have not tested whether it works.

Jose Carrillo wrote on Tue, Nov 10, 2009 03:00 AM UTC:Excellent ★★★★★
Thanks Fergus!!!

The change of current constant worked perfectly!

Good thing... because I had placed one of the pieces in the wrong place, so my initial constant was wrong anyway. :-)

Modern Random Chess log fixed:
/play/pbm/play.php?game=Modern+Random+Chess&log=j_carrillo_vii-sissa-2008-125-050

M Winther wrote on Fri, Nov 13, 2009 07:57 AM UTC:
Forgive me for harping on this, but I think there should be an option to
change move order, e.g. Black, White, White, Black and then as
usual. I have designed important variants, I think, which uses this.
For instance, my Fischer Placement Chess, where 25
modest position from the FRC set can be manually produced,
without recourse to a randomization procedure. In Zillions
this is easily definable. This could also be used to invent variants
where a double move for a certain piece is invoked under certain
conditions. I see no reason to prohibit different move orders. Is this
doable, Fergus? /Mats

🕸💡📝Fergus Duniho wrote on Fri, Nov 13, 2009 01:50 PM UTC:
Don't harp. It can be counterproductive. Game Courier is a huge programming project, and I am regularly working on improvements to it, but I can only do so much at a time. Some things are easier to do than others, and the easier things tend to get done first. I am going to look into your idea when I have more time, but I'm not sure if there is an easy way to do it. It seems related to something I want to do, which is support multi-player games. I haven't done this despite having my own three-player game I would like to play on Game Courier, because the two-player format is deeply rooted in many sections of the code, and it would require a major systematic revision to implement. The alternating turn order may also be deeply rooted, though Game Courier is too big a project for me to be sure about this without investigating it. Zillions-of-Games had flexible turn order and multiple player support built in from the beginning. It's easier to add whatever you want when you're first writing a program. But when you already have a large base of code that does things a certain way, some features become harder to add. So just be patient. If it doesn't prove too hard to do, it should eventually get done.

🕸💡📝Fergus Duniho wrote on Fri, Nov 13, 2009 08:51 PM UTC:
As long as a game has only two players, there seems to be no practical difference between changing the turn order (which Game Courier does not support) and allowing multiple moves on a turn (which Game Courier does support). The same pieces get moved in the same order by the same players, and the only difference between them is how a game gets recorded. When a game has multiple players, then changing the turn order would make a practical difference. For example, there could be a three-player variant in which a player gets his turn immediately whenever one of his piece's is captured. If I program in flexible turn orders, I may very well do it in conjunction with multi-player support. But that requires a major overhaul of Game Courier and might not get done in the near future.

M Winther wrote on Sat, Nov 14, 2009 08:39 AM UTC:
How about if it was possible to set a global boolean variable to 'don't change sides'. Then the programmer could take care of the rest himself. Default is 'change sides every turn'. If the programmer sets the variable  to false then Game Courier won't turn the board and the turn will remain with the same player.
/Mats

🕸💡📝Fergus Duniho wrote on Sat, Nov 14, 2009 12:47 PM UTC:
To analyze a sequence of moves, Game Courier constructs a GAME Code program, and it embeds the turn structure into this program. So it has to know whose turn is whose before it runs a line of GAME Code. Given this, it seems that the programmer could not control the turn order with a global boolean variable. If the programmer were to be able to control the turn order, it would have to represented by a growing string. But as long as Game Courier supports only two players, I can't think of anything you could do by changing turn order that you can't do by allowing multiple moves per turn.

M Winther wrote on Sat, Nov 14, 2009 07:21 PM UTC:
Fergus, multiple moves per turn is not possible with point&click(?). Only by manual typing. 
/Mats

M Winther wrote on Sun, Nov 15, 2009 07:47 AM UTC:
I tried to solve the problem of unusual move orders by letting one party do an empty move (e.g. swapping the bishops or knights) thereby relinquishing his move-right to the other party, but it was somewhat awkward for the players. I wonder if it would be possible for Game Courier to make an 'empty move' for the moving party if a boolean variable was set to true.
/Mats

25 comments displayed

EarliestEarlier Reverse Order LaterLatest

Permalink to the exact comments currently displayed.