The Chess Variant Pages
Custom Search




[ 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
This item is an unknown type!
It belongs to categories: Orthodox chess, 
It was last modified on: 2015-04-08
 Author: Fergus  Duniho. Games on Game Courier. A listing of Chess variants for Game Courier, ranked by number of times played.[All Comments] [Add Comment or Rating]
Fergus Duniho wrote on 2019-11-26 UTC

I got some new ideas for how to make it easier for non-programmers to make programmed presets. I have abandoned fairychess1.txt in favor of fairychess.txt, which I'm using with the fairychess Chess preset. Instead of using functions with the names of piece labels, it uses functions with the names of pieces. Instead of defining functions with the names of piece labels, someone using this include file would just set varables to the names of pieces. These variables would be used as references to the functions. The main things left to do are to add functions for more pieces and to write some documentation and a tutorial on how to use it.


H. G. Muller wrote on 2019-11-24 UTC

@Fergus: I definitely agree that for having sufficient generality it is necessary to be able to resort to some Turing-complete programming language. But a quite large fraction of CVs would not do anything that is not standard (in the sense that hundreds of other CVs would not do exactly the same). If exposing those who want to create presets to the code for such standard tasks discourages them, it would be better not to do that. And it would not be that difficult to achieve that.

One solution could be to reserve the code edits in the preset Edit form only for enforcing / implementing non-standard rules (and perhaps show them only on request, after ticking a checkbox that you want them). And have the code for the very common tasks, such as forbidding capture of own pieces, testing for check / stalemate / checkmate, 50-move draw, repetition draw be added automatically when the user requests this through ticking a checkbox, (e.g. "can expose royal to capture") selecting from a drop-down menu (e.g. "stalemating the opponent wins / draws / loses / is ignored") or typing a number in an otherwise empty text entry (e.g. declare draw when the same position is repeated .... times"). Untouched squares can be remembered for the entire board as a standard action of the basic system; this never hurts, and castling or special rules that require virginity could use them or ignore them as they want.

Most of the time the user would simply select the rules he wants from the combo-boxes, and never have to see the code this results in. The initial settings of these controls on creation of an entirely new preset could be those of normal Chess, so that in most cases the user would not even have to change them, but can just click 'OK' after having selected board and pieces. Only when a rule is not covered by a standard option (e.g. the counting rules for Makruk instead of the usual 50-move rule) the user would have to provide his own code for it, after deselecting the standard rule.

A simpler way to implement this would be to defer all handling of the standard rules such as mate testing to the basic system, but make its execution there conditional, subject to flags or numeric variables. The rule selection of the user would then only have to result in setting of those variables to the selected value at the start of the game.

Note that when I talk about 'default' code I don't mean code that would always be present or run unconditionally, but code that would be added / enabled unless the user decides he wants to provide something different. Where he should always have the option of having that something be nothing. Just allow exposing to check, capture of your own pieces, ignore mates, never declare draw etc. A non-rule-enforcing preset is the same as a rule-enforcing preset for a game without rules...


Fergus Duniho wrote on 2019-11-24 UTC

In line with what I was talking about earlier, I've begun work on a new include file called fairychess1. It is designed to work with the Abstract1 and Alfaerie1 piece sets, which include images of the same pieces. I noticed that these sets included the Vao without the Cannon, which seems pointless. I don't want to break old games, but I might consider replacing the Vao in these sets with some other piece. I still have to adapt copies of the Pawn code for Berolina Pawns, but the others were easy enough to do.


Kevin Pacey wrote on 2019-11-24 UTC

Well, I'm happy that I could do non-rules-enforcing presets (and rules page submissions) for so many CVs already, after only a few years being a member. While my health is not the best (brain fog and brain lock at times, mainly to meds and age), I hadn't tried to do any sort of programming for decades. So, I'm not very representative of members/users here, I'd think. For example, I'd struggle to even upload anything to CVP (maybe it's easier to learn than I think, though when using the internet I worry in general about getting my laptop infected 'somehow', not knowing all the ways it could happen).

What my previous post also meant to allude to (aside from my other, largely unrelated topics) is that making rules-enforcing presets seems, at least at times, not entirely easy - however some users seem marvelously productive at churning them out. I've only made one, for my Throne Chess variant (same game as chess, except playing king to K8 also wins a game, instantly); Fergus helped with that by indicating the chess preset to start with (in order to suitably modify it), and also checking my code when I kept getting error messages. I found I had to add a lot of extra lines of code to check for the implications of the extra victory condition, though maybe there was a way to do the task with less lines (most presets seem remarkably low on code). However, I'm not sure that preset works correctly, as I'd need to do a lot more testing of possible game positions to see if a bug might happen - a reason I'm shy about making rules-enforcing presets in general (I'd hate for anyone's game to be spoiled due to a bug that I could not fix quickly, assuming I was available).

CVs I'd currently have trouble making even non-rules-enforcing presets for would include those with special board features, such as shogi-like ones, or Smess-like ones, or something like Eurasian Chess (e.g. which has a river demarcation); Diagram Designer currently does not support round boards, at least, so I'd have trouble making a rules page submission without learning how to upload something to CVP.

Some games I would not want to make anything but a rules-enforcing preset for, if I would learn to, as these games have complex moves by the pieces that players should best have help with by such a preset. An example would be Ultima, where for example a move by a Chameleon might conceivably wipe out a number of enemy pieces. The same goes for games with drops, because they are multi-move by the players otherwise, which could make playing a game tedious a bit.

One game I'd be reluctant to make a non-rules-enforcing preset for is Universal Chess, not only because the setup needs initial randomizing of seup code. Universal Chess would take extensive work to make its rules page submission for, and I think for this particular game such a rules page is an absolute must. I'm not yet close to being familiar with how all the piece-types Carlos included move, to boot.

All that said, I think Fergus is right that some games are too complicated to make rules-enforcing presets for, at least in a reasonable amount of time for even someone adept at making presets. I also think replacing the current preset-making process on Game Courier would seem a herculean task, though maybe it should be considered on the drawing board for the far-future. As an aside, I'm a bit concerned whether the contents of CVP database, or the website itself, will live on indefinitely, as a lot of work by a lot of people has gone into these - I hope that at least some of my better CV inventions are saved in good time by people elsewhere, just in case. Anyway, a friend requested I not help continue the discussion here about presets much longer, so I hope I've answered H.G.'s questions of me (which seemed deserving of answer) well enough.


Fergus Duniho wrote on 2019-11-24 UTC

Game Courier originally started out without any support for rule-enforcement. It offered a way to play games by email by generating diagrams from FEN strings that could be included in URLs. When I started working on what became GAME Code, I started with commands for automating some tasks, such as moving captured Shogi pieces off the board. In time, it became a programming language with the ability to be used for rule-enforcement. Because of the way that the language was added into Game Courier, it always remained optional rather than required. Besides that, some games could be too complicated to program, and using Game Courier just as a dumb board server would allow them to be played despite that. It also turned out that some people were a lot more interested in creating and trying out new variants than they were in programming, and they went ahead and created lots of presets without any programming.

As a programmer, my own preference has been for programmed presets. H. G. is also a programmer and might feel similarly as I do about the advantages of having programmed presets. I do want to make it easier to create programmed presets, but I also consider it important to still allow unprogrammed presets. This precludes the option of putting default code in presets. However, it could be helpful to have a GAME Code include file that includes default functions for a wide variety of common pieces. Another thought is to write new include files to require some values to be set before they are included. By require, I mean they would exit with informative error messages if any of these values were not already set. This would give programmers who include them reminders about what values might need to be set differently than for Chess.

This would still require some willingness to do programming, but it would at least make it easier.


Aurelian Florea wrote on 2019-11-24 UTC

Actually I think HG's idea to associate images with common pieces to be very useful, even the siege elephant as it will appear in the new version of apothecary games that is in beta FAH,  i'd need to make small adjustments to existing pieces!

 


H. G. Muller wrote on 2019-11-24 UTC

@Kevin: I was mostly worrying about the existence of non-rule-enforcing presets, which I think we should not have at all. I would have thought that creating such presets would almost never present any problem, as it basically just requires specifying a board size and topology (square/hex), putting a number of piece images on a board in the desired (starting) location, or put them in a 'holdings' next to the board. This doesn't seem to require any special skills beyond those needed to use a computer in general (i.e. using mouse and keyboard). So I am shocked that you say over half of the popular CVs would be beyond your abilities. And I fear the answer to the question of how many rule-enforcing presets you would be able to make for those 107 variants.

I think this is pretty serious, because I consider you as a quite representative example of our target audience. Since you have already investigated the matter, can you give a few examples of CV traits that made you decide creating even a non-rule-enforcing preset was beyond you?

I don't see why it should ever be a problem to define a rule-enforcing preset for a CV with "just sliders/leapers on a rectangular board". Specifying a move on each of the pieces does seem a rather trivial task. And perhaps not even needed for most pieces, as the piece images could have a default move associated with them, so that you only would have to take care of this when you wanted to change that move into something unusual. I would be very surprised is CVs that use the Bishop image (say) would not have it move like an orthodox Bishop in >95% of the cases.


Fergus Duniho wrote on 2019-11-23 UTC

We have had some very active non-programmers making presets. While this page won't tell you which are programmed, you can go to /play/pbm/settings.php to get some idea of that. If interested programmers want to program games that haven't been programmed yet, that would be very helpful.


Kevin Pacey wrote on 2019-11-23 UTC

Tonight I studied the list of well over 1300 games currently listed as possible to play on Game Courier, paying special attention to the ones most played. Of the top 107 games (currently those each with 14+ games finished), a little under half were ones I could have made a (non-rules enforcing) preset and/or CVP Diagram Designer diagram for by myself, with my presently limited abilities and study time, which I view as helping set my limitations (at the moment) for any CVs I might invent, to later in any way submit to CVP.

Other interesting things I found about the top 107 games listed included that only about 20 had what I'd call auxillary, or IMHO rather complex, rules out of the ordinary (that is, aside from how to simply move some fairly standard pieces), that one needed to know to play them. Also, my favourite 'meta-variant' as an inventor, because it seems it's not always very difficult to cook up a fairly acceptable example of one (basically 'leapers and sliders on a square or rectangular board'), made for about 20 CVs (within the top 107) that were IMHO 'truly popular' on GC. That is, the inventor was not almost always one of the players, who had issued an invitation, thus helping to promote his game; note these approx. 20 also were not CVP Recognized CVs, or in any way ground-breaking ones, but also the number of this meta-variant (in the top 107) would be considerably larger if I included games played heavily by the inventor in making this approximation.

Previously, I had noted that my favourite meta-variant comprised (at minimum) roughly 10% of the whole list of CVs currently available on Game Courier, as far as I could tell with a cursory inspection. Tonight I also surmised that I would have been able to make a non-rules enforcing preset and Diagram Designer diagram for (at minimum) 25% of the CVs played at least once on Game Courier to date (about 1100 CVs), with my present skill level - noting too that some games might e.g. require randomizing the game's setup, warranting a sort of rules-enforcing preset (I think).


Ben Reiniger wrote on 2018-08-10 UTC

I've just now looked into the missing log that Kevin mentioned in the last post here.  The log still exists:
/play/pbm/play.php?game=TessChess&log=panther-benr-2016-364-346
but there is no entry for it in the database in either of the relevant tables


Kevin Pacey wrote on 2017-08-29 UTC

One thing I don't yet understand is why 'Number' shows zero games finished of TessChess so far. Entering "benr" for userid along with 'any games' & 'anytime', in the logs filter, shows Ben's played some old games of TessChess, though none seem to be finished (presumably abandoned, and untimed?). However, I did once play a game of it with Ben that I won on time, but it's not given in the log filter results, nor given when I substitute my userid ('panther') but do the same logs filter search values otherwise. It might be good for TessChess (and 4D variants in general) to have at least one game of it that's sort of been played to a finish that's on the record (if it can be found in the database), to help promote it out of obscurity a little more.


Kevin Pacey wrote on 2017-08-29 UTC

@ Fergus:

Here's another log of a finished game that doesn't show properly (a short message is shown instead), after clicking on 'Number' on the 'All Games Played on Game Courier' page (it would seem this may be true for every old log of a finished game of Moderate Progressive Chess):

/play/pbm/play.php?game=Moderate+Progressive+Chess&log=jejujeju-carlos-2007-316-500


Fergus Duniho wrote on 2017-08-26 UTC

I changed the permissions on the log to allow writing by group members, and it then saved the log and updated the database. Let me know if you find any others.


Kevin Pacey wrote on 2017-08-26 UTC

In the case of my viewing the Jeff log (and others) last night via All Games Played (via Number), I thought I saw "Your move has been logged" displayed more than once, though the problem has seemed to disappeared for me today.

In Pocket Mutation Chess, I noticed a recent game Greg lost on time was displaying correctly for me now, for example. An older game between Carlos & Vitya isn't diplaying correctly, but it shows a different message (rather than a preset) and may be caused by an independent issue:

/play/pbm/play.php?game=Pocket+Mutation+Chess&log=makov333-sissa-2008-363-805

I must say at this point, a bit to my embarrassment, that it's possible my schizophrenia is acting up, and I've been seeing things incorrectly at times lately, which unfortunately may complicate my reporting a possible bug - I did so because it's gone unreported thus far, if it's indeed real.


Fergus Duniho wrote on 2017-08-26 UTC

When someone loses on time, and a win hasn't yet been recorded, Game Courier will update the $winner and $status variables in the log and also update the database the next time someone views the log. This is a one-time thing, which explains why you would see it only once for any log. Is it preventing the normal display of the log when it happens?


Kevin Pacey wrote on 2017-08-26 UTC

That's strange. I'm not seeing the problem now, either. Fwiw, there was an odd log between Carlos & Vitya, but that had a different message on a page given.

Other than that, last night I looked at an old Seirawan Chess log via 'Number' on All Games Played' and got 'Your move has been logged' message then too. Not only that, but the game was put as a freshly finished game in the 'What's New' main page section. The player was Jeff something or other, playing against himself. Here's the log for that game, if it's any help (at least it's showing the preset here):

/play/pbm/play.php?game=Seirawan+Chess&log=jeff514-cvgameroom-2016-360-852


Fergus Duniho wrote on 2017-08-26 UTC

Give me some specific logs to look at, because I'm still not seeing it.


Kevin Pacey wrote on 2017-08-26 UTC

Hi Fergus. What I meant was, on the All Games on Game Courier page, I clicked on 'Number' (beside Pocket Mutation Chess) to see a listing of all the logs for finished games of that variant. I clicked on one of these logs, and just saw what I described earlier (i.e. 'Your move has been logged').


Fergus Duniho wrote on 2017-08-26 UTC

This page doesn't list logs. I did check out some logs on the logs page, and I checked out the settings file listed on this page for Pocket Mutation Chess, and I didn't see what you described.


Kevin Pacey wrote on 2017-08-26 UTC

Fwiw, I didn't see the log for Pocket Mutation Chess that I referred to in my 2nd last comment on Pocket Mutation Chess, which I'm pretty sure had Carlos as the winner (on time), so perhaps that log was deleted somehow? Either that or my recollection is strangely foggy.


Kevin Pacey wrote on 2017-08-26 UTC

I've just tried to view some logs of e.g. Pocket Mutation Chess, via 'All Games on Game Courier", and all I get when I click on a log is a page that only reads "Your move has been logged" (i.e. in a finished game where I was neither of the players).


Kevin Pacey wrote on 2017-08-15 UTC

Thank you, Fergus.

Kevin


Fergus Duniho wrote on 2017-08-15 UTC

That has been fixed. I corrected the link to point to the new logs page with the correct parameters.


Kevin Pacey wrote on 2017-08-14 UTC

Logs of finished games of a particular variant seem inaccessible via "All Games on Game Courier" at this point. When one clicks on the highlighted 'Number' to see the logs of finished games of a particular variant, one is referred by a link back to uncompleted games currently still being played of various variants. Although, finished games of a variant can be accessed another way, by looking at them via the Game Logs filter. However, if one wishes, say, to provide a link, to get to a page of just all finished games of a particular variant, on a CVP webpage (or e.g. external blog), then at least in the past I found linking to the search result page of the Game Logs filter would later in fact not show the desired finished game logs page, if someone clicked on such a link.


Fergus Duniho wrote on 2016-02-15 UTC
They are permitted but not supported. For example, you are permitted to fly like a bird, but you are not able to. I would like to add multi-player support, but it's not a simple feature to add. It would involve rewriting much of how Game Courier works.

25 comments displayed

Later Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.