Comments/Ratings for a Single Item
Hi there Fergus...I have a favor to ask you. Could you please put a new piece set together on the Game Courier site? I'm putting together a new preset for a game and need additional colors. What I need for the preset are: Just using alfaerie pieces: Rook, Knight, Bishop, Queen, King, and pawn in four colors: white, blue, red, and yellow. So you should only need 24 pieces for the set. Maybe call it Alfaerie: Different Color Armies. Thanks so much! Travis
Okay, I made a preset called 'Alfaerie: Four Colors'. I used the colors David made pieces in, which are red, green, blue, and white. I assigned the red and green pieces letters that I hope are mnemonically helpful. Here are the mnemonics. C is for Castle, a common term for Rook. D is for Dame, the French and German name for the Queen. F is for Footsoldier, which is what a Pawn is. H is for Horse, which is what the Knight's name means in most languages. L is for Laufer, the German name for Bishop, or Loper, the Dutch name. S is for Shah, the Persian name for King.
Hi again! :) Renniassance Chess may be played on Richard's pbEm, so don't worry about the headaches of presetting it here. However, The Tamerlane Variants (with the 12 files and the added pieces) would be most welcomed! All 5 proposed variants use the same pieces and setup, so you and your opponent can choose which rules you like the best. Eric P.S. Variant #2 is my favorite; I will welcome any challenges made if and when the preset is approved/implemented! ( I am new to this; if someone knows how to 'set it up' so a game can be started, please do so-I love the game, and it's been awhile since i played my last one! :[ )
Fergus, The fact that I can use 'the shortest possible distance between two points on the surface' to connect points on both planes and spheres does not tell me that it is appropriate to refer to both types of constructions as 'straight lines'.
Yes, Black has checkmated White in your game. Game Courier cannot detect mate. Adding this ability would greatly increase the overhead of the program, because it would have to consider all possible moves, and it would have to check the legality of each one. What Game Courier does do is check whether the single move someone tries to make is legal. Once a player is checkmated, he will find that any and every move he tries to make will be illegal. When you checkmated your opponent, you should have changed the status of your game from 'Ongoing' to 'Steve Jones has won.' Since you didn't, I have now done it for you.
Fergus, I'm using Game Courier to play a non-serious (no time control, I think) game of Rococo with gwduke. We're just giving it a shot to see how the game goes. I'm having a hard time figuring out how to write down a move for Rococo where I move my Advancer straight across a rank, moving it towards an enemy Cannonball Pawn, but then stopping short by 1 square. This ought to be enough to capture the pawn. I was hoping the 'verify' button would draw the board with the Advancer moved, and the Cannonball Pawn deleted. It doesn't do it. The Cannonball Pawn is still there. To explain this more fully, there is probably a help file somewhere, but slow page loading makes it very difficult to locate. Here are the moves so far: 1. a2-a3, g7-g6; 2. c2-b3, e7-e6; 3. e2-f3, a7-a6; 4. h2-g3, h8-d4; 5. e1-e2, f7-d5; 6. a3-c3, d4-a7; 7. g1-g2, a6-b6; 8. b2-a2, e6-c4; 9. h2-h4, e8-e7 White's ninth move is a check. Is it permissible to put a plus sign in, or is that unnecessary surplusage? For White's tenth move, I tried to move h4-d4, capturing the Black Pawn at c4, but the Verify button doesn't seem to implement the capture properly.
Okay, I think I figured out what I did wrong. It was the notation. I should have entered 10. h4-d4 and then joined an extra move to it with a semicolon ;@-c4 So that your parser will store a zero into the position on the board where the Cannonball Pawn is. I naturally assume you are using some kind of a byte map to store the board, and then the parser comes along and ANDs off the superfluous bits of the script byte, before storing the result into the map? Thus the @ character turns into a zero that you can store into the byte map? Hmm. Okay. I prefer the form of notation where the many captured (and resurrected) pieces are listed, enclosed inside of parentheses, rather than connected as miniature moves joined by semicolons.
I missed the Rococo question when it was first posted. Since I didn't write the Rococo preset and don't play the game myself, I can't answer any specific questions on how the Rococo preset handles things. If the preset doesn't enforce the rules, then you would have to manually remove any piece captured by a means other than displacement. Dropping an @ on the space will remove the piece, and so will moving the piece nowhere, as in 'c4-'. A third way is with the capture command, as in 'capture c4'. I can answer your question on how Game Courier stores the board. It stores it as an array, not as a bytemap. It is a one-dimensional array indexed to coordinates. Dropping an @ clears a space, because that is the symbol it actually uses for an empty space. This is an artifact of the intermediary process of first converting the FEN code in the preset to an extended string representing every space individually. Pieces are stored as the symbols used to represent them, which are normally various letters of both cases, though they may also be longer strings. The style of notation used by Game Courier, which separates component moves by semicolons, is due to the fact that Game Courier moves are all actually entered as programming code. The - and * operators, which are most commonly used for moves, are operators of the GAME Code programming language. If you cared to, you could write complicated moves by writing complex algorithms in the Move field. If you wanted to capture many pieces at once, you could use the capture command with multiple arguments, each argument a different coordinate. If you wanted to add the same piece to multiple spaces, you could do it more quickly with the add command, as in 'add P all c1 c2 ...', where P is the piece, and all arguments following the 'all' keyword are coordinates. A good automated preset should make all this work invisible to the user, so that all he has to enter is a single move, but Game Courier does allow people to create presets that don't automate games in any way, and then players must do everything manually.
One problem: when I change the background image in a game of Xiàngqí or Shogi, the 'Verify Your Move' page shows the new image, but the 'Background' field is empty, and when I submit the move it reverts to the default image.
I've just moved in two games: one of Xiàngqí and one of Shogi. In each case my goal was to make a move and to change from the default background image to a new background image, hoping that this new background setting would be stored in the log so that the new image would be displayed the next time I view the game. I did some experimenting before submitting the moves, trying to get as much information as I could. I tried performing the actions of selecting a background image and entering a move in four different orders (described below, where, not knowing what might be useful, I've tried to err on the side of too much detail rather than too little). Each trial began in a new browser tab. The various trials did not exhibit all the same intermediate behavior, but as far as I can tell the end results are the same. Of course I could only submit each move once; after trying all four orders with each of the two games, I then repeated one of the trials before submitting each move.
- Trial 1: I enter my move in the 'Moves' text box, select the desired image from the 'Background' dropdown menu, and click the 'Verify' button, without having clicked the 'Modify' button. The verification page loads. My move is shown in the movelist, and the resulting position is displayed. The new background is displayed, but the 'Background' field is blank. At this point I submit the Xiàngqí move.
- Trial 2: I select the desired image from the 'Background' menu and click 'Modify', without having entered a move. The page reloads; the board is still shown with the original background image, but the new image is now selected in the 'Background' menu. I then enter a move in the 'Moves' text box and click 'Verify'. The verification page loads. My move is shown in the movelist, and the resulting position is displayed. The new background is displayed, but the 'Background' field is blank.
- Trials 3 and 4 begin in the same way: I enter a move in the 'Moves' text box, select the desired image from the 'Background' menu, and click 'Modify'. The page reloads. The new background image is displayed and remains selected in the 'Background' menu. My move is now shown in the dropdown movelist, and the resulting position is displayed. The 'Moves' text box is now empty. I then continue in two different ways.
- Trial 3: Without entering anything, I click 'Verify'. A page loads, with the heading 'Verify Your Move', but otherwise identical to the usual page where one enters a move. The new background image is still displayed and remains selected in the 'Background' menu. But the move which I just entered seems to have disappeared: it is no longer shown in the movelist, and the position displayed is the one prior to this move. I enter the move again in the 'Moves' text box, and click 'Verify' again. The usual verification page loads. My move is shown in the movelist, and the resulting position is displayed. The new background image is displayed, but the 'Background' field is blank.
- Trial 4: I immediately reenter my move and click 'Verify'. The verification page loads. My move is shown in the movelist, and the resulting position is displayed. The new background image is displayed, but the 'Background' field is blank. At this point I submit the Shogi move.
I wasn't able to duplicate the blank background field result. In a Shogi game of my own and in your Chinese Chess game with Antoine, I changed the background, clicked 'Verify', and the background field was not blank. Your third trial reveals a bug. When you click on the Modify button, it should not update the moveslist. This is now fixed. It will now also retain any value entered in the Moves field without doing anything with it. The reason the board was reverting was that I incorrectly based the variable name for the user board on the player's id instead of the user's. This would not affect what you saw when it was your turn again, which is why I didn't notice anything myself. But it would affect which board you see when it is not your turn. This has now been fixed. Thanks for your help.
I had a look at the source for the verification page in question, and I think the problem is due to a missing angle bracket in the < SELECT > tag corresponding to the background field. Also the < /SELECT > tag appears to be missing altogether, but this doesn't seem to cause problems for either of the browsers I've tried. When I edited a local copy of the source, inserting the missing angle bracket was enough to make Opera place the appropriate value in the background field.
Thanks for looking into this. I use Firefox and so missed the problem Opera was having. I have now inserted the missing < /SELECT > tag
That is, for one of my games the source has
< SELECT NAME='crazytom_bgimage'when it should have
< SELECT NAME='crazytom_bgimage' >
Thanks for adding these new features and taking the time to work out the kinks. As far as my efforts are concerned, I figure the opportunity to change to something other than shogi-simple.png is easily worth looking at a little HTML.
I had thought it was only the colors in shogi-simple.png that bothered me, but I think you're right about the thick borders. I'm currently using shogi-blue.png in one of my games; it's equally simple, but the more sedate colors and the thin borders are a vast improvement in my opinion.
I like there are new (automatic and alternative) boards and sets available, but I have an observation: I think it is much better a (perhaps very thin) border for some of the boards, like the CSS tiled background images and the PNG's. I feel that some squares, more those at the corners, vanishes to my eyes sometimes, producing me a bad sempsation. Well, my case is somewhat particular, I have some known moderate troubles with my vision, I don´t expect it affects other players in any way, but if it is the case, can anybody add a thin border (simple lines can be enough) to those boards and observe the effect?.
Roberto, There are now 410x410 pixil boards for Chess, and these may be used with any game that is normally played on the usual chessboard with 50x50 pixil squares. The extra 10 pixils are for a 5 pixil wide border around the whole board. If you would like to use a board of your own design, you can make one to the same dimensions using the chess-greenbeige.png board as a template. Additionally, I have now allowed switching between the css and table rendering methods. This will allow you to use a bordered table board in games that originally used a background image. Needless to say, this will not work for every game, but it will work for the standard chessboard and some other boards.
In the game /play/pbm/play.php?game=Chess+with+Different+Armies&log=olbog-cvgameroom-2006-69-489 I think I checkmated the oponent. But the preset is only showing a check.
I just created the preset for Advanced Chess: /play/pbm/play.php?game%3DAdvanced+Chess%26settings%3DAdvanced+Chess Anyone interested in playing a game?
We have a draw in /play/pbm/play.php?game=Weak+Army%3AI&log=pallab-cvgameroom-2008-323-079. But it is still showing my move. How to correct it?
i am starting a tournament. it isn't as fancy as the ones i have looked through on this site, but i think it should be fun. please check out my post on http://games.groups.yahoo.com/group/cvgameroom/message/1204 for information regarding it. also, my email address didn't copy over so it is [email protected] Thanks!
i have ammended the tournament rules. this should make it a little better. thanks gary gifford for your help! http://games.groups.yahoo.com/group/cvgameroom/message/1207 we currently have 2 people signed up. 6 more and we can start this. thank you.
The Swiss Hippo #1 has started. Please visit http://swisshippo.blogspot.com/ to keep posted on the scores and games. Good luck to all participants!
We are having a problem with a game. I won, but it won't let me use the won command or him use the resign command. /play/pbm/play.php?game=Building+Chess&log=maeko-cvgameroom-2009-48-727 Thanks.
Try entering the word resign and nothing else.
David, We already tried that, but it doesn't seem to work. Thanks. -Nicholas
There is at least one variant, Gary Gifford's Time Travel Chess, that relies on this feature.
(While I'm at it, I think it would be nice if one could also revisit positions 'from the future' i.e., positions that one went back from, a feature Game Courier has never had. My still developing Time Travel Chessgi would benefit from this.)
If I remember correctly, the form for going back earlier in a game went buggy after I added point-and-click movement. I spent some time trying to fix it before getting distracted by other matters. I should get back to it sometime. I don't understand the other feature you want.
a different move order in the beginning. Black makes the first
relocation, then white relocates and immediately makes the first move. So
it's Black, White, and then as usual (i.e. again White Black, etc). In an
alternative variant the move order is Black, White, White, Black, and
then as usual (i.e. White Black, etc).
However, it's not possible to implement this move order in Game Courier.
Could this be fixed?
/Mats
Mats, if you're willing to use a non-rules-checking preset, it's easy. White's first move is 'pass'. And, last I checked, you could put about 4 dozen actions into the move field before the system refuses more, so you can do a lot of relocation and moving in one turn. That's a feature I especially appreciate, by the way: the ability to make a very large number of sequenced moves [or actions, like adding or subtracting pieces or squares,] in one turn. It gives Game Courier a power and flexibility that encourages design. Almost nobody utilizes the full power of this software. That said, of course they want more, much more. The take-back aspect, that makes Gary G's Time Travel variant work, is the most requested/needed. And what someone asked for, the 'what if we went back to a dismissed future, and branched off from there' question, would be a nice feature, if possible. To do what was asked, the players need to go back to a turn just before where they dismissed that future, and do it differently. The problem, I think, is that the dismissed moves become commented out of the game to achieve that. In other words, the game goes back to move 8 from move 27, and continues on as move 9, with the original moves 9 - 27 commented out. Would it be possible to reset the board as the start of move 28? Copy move 8's board position into move 28, replacing the results of moves 9 - 27, then make a normal move from the new/old position. This would allow players to go to any point in the game to start over, and also keep an accurate track of the total turns in the game. What I, personally, would like to see is the ability to use a 'fire' command: d3 > e4 would leave the piece on d3 and remove the piece on e4. I'd also like to see an entraining or stacking command: d3 < e4 chains e4 to d3. Results: one piece follows another piece across the board, moving into the square the leading piece is moving out of, or, more generally, maintaining the same relative position to the leading piece as they move across the board. Ideally, this could be done with more than one piece.
Let me try to explain that other thing I was talking about. Well I noticed that once you go back from a position to a previous position, you're never allowed to re-enter the position you went back from. So for example, let's say I'm at move 10. 0-0 and go back to move 6. B-d2. Let's suppose I want to go back and revisit the position at 10. 0-0 again for what ever reason (in Time Travel Chessgi it can be part of an actual move). It didn't allow that. Don't know whether it would be possible to program Game Courier accordingly.
Fergus, You should remove the move validating logic when one is trying to delete a game log. I have many games that I want to delete from my active games list, but can not, because the logic of the moves doesn't match the existing preset. I can't change the preset (it's not mine) so I get stuck with game that I am not playing and do not want anymore. Example: maeko-j_carrillo_vii-2009-299-563
I have now modified the store and restore commands to use labels. For backwards compatibility, they can be used without labels. When used without a label, they use the default label of 'last'. When used with labels, you can use them to keep a running record of past positions. Before each move, for example, you could have a preset automatically make a new label based on the turn number and whose turn it is to move, then have players remember the convention used for labels to restore the position to what it was on a previous turn. Or you could write a subroutine that takes two arguments, such as turn and side to move, to generate the right label and use it with the restore command. Here's some sample code:
Pre-Gameset turn 1; sub gobackto side turn: set label join #side #turn; restore #label; endsub;Pre-Move 1:
set label join White #turn; store #label;Pre-Move 2:
set label join Black #turn; store #label; inc turn;
Jose, That's a good idea. So I made the change. When you go to delete a file, it will not go through the moves, and it will just show the opening position. You should now be able to delete the logs you wish to delete.
Fergus, would it be possible to define a different move order e.g. Black, White, White, Black, and then as usual (i.e. White Black, etc). In Zillions this is easy to define, but it's not possible in Game Courier. /Mats
I don't think to delete broken logs is a good idea; it is something equivalent to destroy, to burn library's books. The good idea would be to know how is the cause for the logs become broken but overall to recover them.
Should the following logs be deleted?
WOW! Why so many of my old games can't be accessed anymore? The ones I wanted deleted were the ones still showing as active ongoing games which I couldn't reach anymore. Fergus, I did notice some of my games couldn't be replayed after the last major upgrade of the site (I think it was moving to a new server). I wouldn't want my old completed games to be deleted, if possible. Can they be fixed? If not, can I get the moves played in the games so that I keep the logs? Thanks.
That makes sense. I take it the initial position setup was not originally saved as part of the log, nor was the seed. Is this the case still? or just for the older logs? Is there any way to recover these old logs? If you email me the log moves, I can attemp to reverse recover the initial positions.
Jose, If you will figure out the starting positions of the broken random chess games, I can handle the programming end of modifying Game Courier and the presets to work with this information. I am thinking of adding logged constants to Game Courier, which could be used by a preset to keep track of randomly generated results between moves. Their values would be stored in the log, and as constants, they would be protected from being overwritten. I may also give GAME Code access to the $code variable used for the initial FEN code.
I have added logged constants to Game Courier's GAME Code language, and I have modified Fischer Random Chess to use them. The setconst command gives a value to a named constant. The value may be any polish notation expression the set command can also evaluate. If the constant is already defined, it will silently fail to change its value, because a constant value, once set, is supposed to remain constant. The unsetconst command, still untested, will unset a constant, just in case you have some good reason for changing the value of a constant. The const operator will return the value of a constant. The isconst operator will return whether there is a constant by the name given after it. A constant name may also be preceded by #, just as variable names can be. Constants take precedence over variables. So if a constant and a variable have the same name, such as name, #name will return the value of the constant.
Fischer Random Chess has been modified to save a game's random ordering of White's pieces to a constant called firstrank. If firstrank is already set, it will skip the randomization of the piece order and copy the order given in firstrank to rank one. It will then proceed as usual, setting up the last rank to mirror the first rank, etc. Look at the Pre-Game code in the preset for further details.
Also, I used a sample game of Fischer Random Chess to test the ability to take back moves. IT IS NOT WORKING YET. But it is too late for me to work on it tonight. Maybe I will get to it tomorrow.
OK Fergus. I'll do my best. Let's get started! Can you email me the logs to these two Fischer Random Chess games? Or somehow, can you give me access to the game logs? Jose /play/pbm/play.php?game=Fischer+Random+Chess&log=carlos-j_carrillo_vii-2004-130-156 /play/pbm/play.php?game=Fischer+Random+Chess&log=fergus-j_carrillo_vii-2004-138-730
Jose, I have modified the Delete form to display the movelist. This will give you access to the moves in the games.
Thank you so much for your efforts. I'm already recovering the moves of my broken logs of Cetina Random Chess, Cetran Chess 2 and Universal Chess.
Thanks Fergus. Here we go: Fischer Random Chess: /play/pbm/play.php?game=Fischer+Random+Chess&log=carlos-j_carrillo_vii-2004-130-156 BNQRNBKR - bnqrnbkr /play/pbm/play.php?game=Fischer+Random+Chess&log=fergus-j_carrillo_vii-2004-138-730 RQNBBNKR - rqnbbnkr /play/pbm/play.php?game=Fischer+Random+Chess&log=j_carrillo_vii-fergus-2004-138-495 RQNKNRBB - rqnknrbb Contemporary Random Chess: /play/pbm/play.php?game=Contemporary+Random+Chess&log=j_carrillo_vii-deep_thinker-2008-146-176 NRNQBKRB - brkbqnrn Modern Random Chess: /play/pbm/play.php?game=Modern+Random+Chess&log=j_carrillo_vii-sissa-2008-125-050 RKBNNQBRA // arbqnnbkr
José, How did you get the starting setups? I can access only to the list of moves, but not to the setups.
Carlos, Just played out the moves on a blank board (only with pawns), so trial an error, and got the right board positions. I love random positions, so I was the one player punished the most... No big deal... At least I'm going to get the links restored! ;-)
Jose, I have added a way to add constants by editing the URL to a log. For example: /play/pbm/play.php?game=Fischer+Random+Chess&log=fergus-j_carrillo_vii-2004-138-730&constants_firstrank=RQNBBNKR I have learned that people other than myself have created their own presets for Fischer Random Chess, perhaps by copying mine with some modifications, and these presets have not inherited the changes I made to mine. This can be addressed by editing the URL to use mine by adding '&settings=Abstract'. For example: /play/pbm/play.php?game=Fischer+Random+Chess&log=carlos-j_carrillo_vii-2004-130-156&constants_firstrank=BNQRNBKR&settings=Abstract /play/pbm/play.php?game=Fischer+Random+Chess&log=j_carrillo_vii-fergus-2004-138-495&constants_firstrank=RQNKNRBB&settings=Abstract Note that the last one gets past its initial illegal message but then has a problem with a castling move written in two parts. That might have to be fixed manually. What I still need to do is program a way to save the changes made through the URL into the log when the game is finished. But not tonight, since it is late now.
>> BANNED INPUT: d8-c8;a8-d8 on turn 18: >> MOVE: a8-d8 and other moves from one space to another are banned here. /play/pbm/play.php?game=Fischer+Random+Chess&log=j_carrillo_vii-fergus-2004-138-495&constants_firstrank=RQNKNRBB&settings=Abstract >>Note that the last one gets past its initial illegal message but then has a >>problem with a castling move written in two parts. That might have to be >>fixed manually. Fergus, The reason that castling was a double move was that the King move by itself (k d8-c8) was a legal move, even without castling. You should allow multiple moves for situations like this one. Unless, the preset would have understood the rook move (r a8-d8) to be castling. Would this rook move had not given an error about not been able to capture one's own pieces?
>>I have added a way to add constants by editing the URL to a log. For example: /play/pbm/play.php?game=Fischer+Random+Chess&log=fergus-j_carrillo_vii-2004-138-730&constants_firstrank=RQNBBNKR Another comment Fergus. This constant may work for direct symetrical setups, like Fischer Random Chess. But how about reverse symmetrical setups like Contemporary Random Chess and Modern Random Chess? or independently random setups like English Random Chess? Perhaps the constant in the link should include but white and black setups. Maybe something like: RQNBBNKR-rqnbbnkr
Only Fischer Random Chess has been programmed to use constants so far. The creators of other random Chess presets should follow the example of what I have done in Fischer Random Chess but modify it to the demands of the particular game. Whatever constant is needed is expected to vary on a game-by-game basis depending upon what constant it was programmed to use. Go here and look at the Pre-Game code to see how I modified Fischer Random Chess.
Thank you very much, José. Unfortunately, some broken logs of mine are of games that were still in progress and not all the pieces had been moved, so I have not way to return them to theirs starting squares. Anyway some logs yes will be saved. I also love random positions, so I was the SECOND player punished the most...!!!
I have now come up with a way to fix a log. You do it by editing an URL to a log. Use this one as an example: /play/pbm/play.php?game=Fischer+Random+Chess&log=carlos-j_carrillo_vii-2004-130-156 Start by adding what needs to be changed: /play/pbm/play.php?game=Fischer+Random+Chess&log=carlos-j_carrillo_vii-2004-130-156&constants_firstrank=BNQRNBKR&settings=Abstract Then add your userid, your password, and submit=Fix. The userid and password are required so that only the players or the ADMIN (me) can make any changes to the log.
100 comments displayed
Permalink to the exact comments currently displayed.