[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]
Comments by HGMuller



That is what I would expect. For a club player, all the pieces being white would not make the slightest difference. They are at the brink of being able to play completely blindfolded. The tiniest reminder of where the pieces are would be enough to make them remember 100% accurately during the entire game. You kno which pieces are yours. You played them to there yourself!

As to the baby-step approach: I am currently looking at the possibilities to modify state-of-the-art Internet Chess Server software (in particular the 'chessd' ICS, used at FICS, where many thousands of people visit everyday to play on-line Chess), to have it support variants. Supposing I succeed, it would be great if we could convince FICS to make use of this extension, and offer some more variants beside those they already do. (They currently offer variants like Crazyhouse, Suicide, Atomic.) This would create a great opportunity for offering the variant-unaware Chess player a possibility to make the baby steps. We could for instance offer variants like 8x8 Chancellor Chess or Cardinal Chess, where a single un-orthodox piece replaces the Queen, just to get them acquainted with the piece in question, and prepare them for other Capablanca variants. Similarly, we could run games on bigger boards (10x8, 10x10) with only normal pieces, but perhaps more of them. (e.g. 4 Bishops, such that you also have Bishops on like colored squares, with which you can form batteries.) This to get them acquainted with different boards. By offering both, we would discover atomtically which deters ortho-Chess players most: othe roards, or other pieces. But whatever they refer, it would make the next step smaller.

I started this thread to discuss the possibility to conver standard
software for Internet Chess Servers (such as used by FICS and ICC) to
support a broader variety of Chess variants.
On the Source-Forge website I found a piece of software called 'chessd'.
This is an open-source ICS program. According to Wikipedia it is the one
that FICS uses. It is coded in plain C.
I inspected the code. Most of the server tasks are completely game
independent, and involve managing the list of players, their logging in,
the updating of their ratings, the mechanism by which they seek opponents
for games, etc. The game-dependent code seems to be concentrated in 3
program files (plus the corresponding header files), for so far I could
locate it:
board.c
algcheck.c
movecheck.c
The code in these files occupies itself with parsing input moves,
initializing and updating the game state (board, holdings, 50-move
counter, castling rights), and printing the game state (as boards in
varous formats, or move lists). Everything is hard-coded in these files:
the size of the board, the piece types. For every piece type there is a
dedicated routine to generate its moves.
I would like to add fields 'files' and 'ranks' to the game state, and
have the code use these in every place here it no uses '8' as the board
end. And then add a table that initializes these variables when etting up
the board for the chosen variant. (Chessd does already support variants,
but they are all on 8x8, and all with only orthodox pieces. Bughouse is
supported, which means there already is code to update holdings, and link
games together to a team match. So the variant is already kept track of,
making it relatively easy to choose pieces and board format and array in a
variant-dependent way.)
I would like to replace all code to generate piece moves by a single,
table-driven move generator, that should at least be able to handle
arbitrary leapers, sliders/riders and their compounds. Basically
everything that Fairy-Max supports, and perhaps much more.
The system to represent one piece by a single letter is deeply engrained
in the protocol, so it might be necessary to implement a variant-dependent
translation of letters <-> piece types.
It al looks doable, although a bit tedious, as I have to go through the
entire code using visual inspection to recognize loops over rank or files,
and decide how to generaize them.
What I would like to know from people of this site, is which variants (and
by inference, which pieces) should best be included. Preferably variants
without any un-chesslike rules. I don't want to start too ambitiously,
and limit the initially supported variants to those that fall into a
general pattern. So preferably no pieces with weird side effects, such as
immobilizers, or pieces whose allowed moves depend on their positon on the
board, or on proximity of other piece types, or on the history of the game.
Divergent pieces are OK, hoppers like Cannon and Grasshopper are OK, Falcon
would be OK.
What variants would be suitable, within those boundary conditions? My
personal favorites would be Knightmate, Shatranj, Courier, Shogi,
Capablanca, Unspeakable, some subsets of Superchess&Monarch (because
WinBoard, which is an ICS cient, already supports all those).

What is wrong with PGN (= Portable Game Notation)? This format contains the name of the variant (or game) in its header tags, so the exact move syntax could be dependent to the requirements of the game. For Chess-like games it uses SAN (Standard Algebrac Notation)format to describe the moves. This is a pretty universal format. (It could also be used for games like Go, Draughts or Othello, where moves have unambigously defined side effects, once the move or drop of a single piece is specified. If a game needs multiple moves per turn, SAN could be extended with a concatenation operator, say '&', to string together all moves that make up one turn, and you would already capture an enormously larger number of games.) Why re-invent the wheel, if we already have bicycles?

OK, great that you are contributing to the effort! I have not tried to compile yet. I am just trying to find my way around through the code, learning which tasks are done in which source files. And I am already converting the game-specific code where I am sure it has to be converted, making board width and height variables.

I would not say that the Falcon is difficult to handle for a computer. Just that (1) It is a piece with comparatively many (potential) moves, so naturaly it requires more effort to generate its move than of pieces with fewer moves. But it is not worse than, say, a Queen. (2) It behaves differently than other pieces w.r.t. pins, due to its multi-path nature. This means it need separate code from the other pieces to handle it. But this could just as easily be blamed on the other pieces as on the Falcon. In a game with only Facons it would not be more difficult than in a game with only other pieces. It is true that for divergent sliders and lame leapers you have to examine several board squares to know if you can do a single move to one. This is also true for distant moves of normal sliders, but there every square you pass gives you a valid non-capture, to which you could assign the effort, so you examine only one board square per generated move. But, unfortunately, almost all search effort of a computer goes into its capture search, and generating non-captures is a waste of time there.

Well, WinBoard usually saves games in PGN. There is an obsolete dedicated format, but no one hardly ever uses it, and it is there only for backward compatibility.

Oh, I am sure the notation of the actual moves would have to be extended here and there. Like I already mentioned for concatenating atomic moves by '&' in cases where a turn contains more moves, or a move consists of more steps. The best way to approach this is to go through the games until you find one that poses a problem, and then add some general mechanism to the notation standard that would solve every problem of that kind. And repeat that. Ten you usually run out of problems pretty quickly. Especially as the community playing that game might already have solved the problem for you, as they could not have avoided stumbling on it before.

Dear mr. Duke, As I mentioned here before, my policy is to respect the intellectual property and wishes of variant inventors. Future releases of my software will therefore not contain explicit support for any Falcon pieces. What I already did cannot be undone. Neither do I see any moral obligation to do so: I asked you for permission to do what I did, out of courtesy, and you gave it in public on these pages. If you now want to take the stance of a treacherous and backstabbing business partner... Well, it be so noted, but I will of course ignore it in my actions. I look forward to chatting with your attorney. The longer the better. I hope you pay him well! :-) As far as I am aware of, your patent is not valid in the part of the world where I live. And even if it were, there is the tiny matter that the permission you gave will be considered legally binding. It is immaterial if I spent 3 lines of code or 300,000 on it. Perhaps my code is so good that it is worth $100,000 a line. ;-)

Well, you can be pretty sure that they will not agree to it if it is not either upward compatible with, or highly superior to what they are already using. What you propose on the IAGO site is neither. For Chess variants, the existing PGN standard, with a few obvious generalizations (e.g. to allow larger number of ranks and files, and other letters for piece indicators), seems entirely satisfactory. Even games with large player bases and a long tradition, like Xiangqi and Shogi, which have their own notation systems, are starting to recognize he advantage of algebraic nottion, and are embracing variations on Standard Algebraic Notation. Now it exists next to th traditional notation, but Chess also has alternative notations, such as the infamous descriptive notation ('N-KB3'), which are slowly but surely losing ground against SAN. Where a player base is virtually non-existing, traditonal notation methods (or in fact any notation method) might not exist, and any system will be easily adapted. So in short: to get wide-spread acceptance of a standard, first look to the main-stream games, how they prefer to do it, and design something that accomodates their wishes. Otherwise, failure is a guarantee. To a Chess player, it will not seem an advntage that his saved game can be read by software that plays Go, so his willingness to compromise to make that easier will be zero.

If mr Duke's memory span is so short, it might be a good idea to remind him of his earlier words: | Muller was asking about Falcon Chess in Joker or Smirf; I forget | the exact question and am more interested in relooking at Jeliss | and Trenholme articles this week. Just as Greg Strong was about to | finish Falcon Chess for ChessV, it is fine to put Falcon in engine | free of charge throughout years 2008, 2009 and 2010 to play, so long| | as strictly not commercial (unlike standards-degrading Zillions). | Please inform what is going on, and put the patent #5690334 two or | more times about the Rules or Board, since ultimately we would like | to market Falcon material too. It may be coincidence, but Strong took | offense at our critique of his grotesque game ''Catalysm'' and never | returns since. [Muller rates 'Poor' over at Falcon Chess and says he | has not decided whether it is good. If it is deemed not good, please | do not include FC, but something not commercial like that can be up | to you during 2008-2010.] Note especially the incoherence of his opinions: first he would never consider the 'standards-degrading' Zillions for permitting it to play Falcon, and now that he apparently takes a dislike to the imagined acts of the author of Fairy-Max, he thinks he can reverse the roles at a whim. Well, George, let me tell you a secret: if people see how you reserve the right to revoke your agreements, no programmer in the world would ever be prepared to implement Falcon Chess. Knowing that you would be likely to cause them having done their work in vain, from the first day you happen to step out of bed with your wrong leg first. They would not touch anything that depended on permission of such a deceitful business partner. The bottom line is this: you gave permission for me to put up a non-commercial Chess program capable of playing Falcon Chess on my website upto and including 2010, and I intend to do so. I don't think that violates any rules of the CV website, in which case I will maintain links to that page from here. It seems you badly need some lessons in manners and civilized behavior, and I will be more than happy to teach you! In court or otherwise!

George Duke: | He never responded at all. That and inveterate criticism revoked | permission. Chess Variant Page I am sure will not permit links to | Muller's by mid- to late-2009 and 2010 indicating licensing | unapproved. At Falcon Chess we want nothing to do with him for | months now since when he started his rants. However, Muller is | welcome to enter other topics on CVs here intellectually and look | forward to debate. You seem to have a big attidude problem. In particular, you seem to suffer from an affliction known as 'delusions of godhood'. So you think you can make an agreement, and then simply revoke it because the person you made it with criticizes something you say, or uses a standard term you don't like, or perhaps simply because you are in a foul mood and want to take it out on someone? You must be out of your mind to think you can treat people that way, and even more out of your mind to think they would let you get away with it. Too bad for you that you have picked the wrong person to act out your omnipotence fantasy. There was no legal requirement for me to respond to your granting of permission, but in fact I did, by several posts, and, of course, by actually making the engine. There is no way you can revoke that, I will not allow you to weazle out of our deal. Fairy-Max will remain on my website including the Falcon Chess preset until the end of 2010, as you agreed to. And I am sure CV pages will have no objection that the links to it remain here for as long as I wish, and if they don't, I will hear it from them, not you. If you want to renegociate, fine, but I will only do it through your attorney, as I am fed up with you. I won't be coerced in what to say and what not to say by you, or anyone else!


Well, I am not seeking conflict on this. The engine I wrote has helped me to conclude that the Falcon is a very interesting piece, in a value range that makes it combine very well with orthodox Chess pieces. It would be a a pity if it would go to waste due to personality conflicts. I just want to point out that I have acted in good faith from the very start, to help creating a situation that is a win/win/win for everyone, and that I don't like to be accused of stealing intellectual property, and even less to get covert threats of lawsuits. Censorship on what I could say on this site was never a part of the deal.

OK, I claered up a lot of the confusion I was subject to. It seems that I had been downloading the chesd C sources from a location that described an entiely different, PHP-based server also called chessd... I have found a chessd version now which is called Lasker-2.2.3, which does include a correct description to install it. Indeed I had problems compiling it: apprently the Ubunt compiler is more strict than the one Lasker was developed with. So you get compiler errors. All errors are basically the same: some global vaiable is delared as 'satic ...', while it is in the included header file as 'extern ...'. Apparently, this is no longer allowed. I cold solve it by simply deleting all the offending 'static' keywords (in 5 different source files occurs one, IIRC). After that it compiled. You have to be superuser to do the 'make install', something the README fails to mention. But then there were no more poblem, and I could run the server according to the instructions, and login on it from another computer on my intrnal network. Looks just like FICS, except the place is deserted, so you have no opponents! ;-) So I guess I will start hacking this one, to expand the board size, and add some more piece types.

David Paulowich: | When the King and Rook are widely separated, the winning move in this | endgame involves moving the Queen 'x' squares, checking the King ('y' | squares away) and attacking the Rook ('z' squares away). Usually at | least one of x, y, z is greater than four, which suggests that the | Short Queen would not win against the Rook in an endgame with only | four pieces on the board. Your conclusion is correct: King + halfling Queen vs King + Rook is in general a draw. Only 3.8% of the btm positions are won to white, and 40% of those because black is already checkmated. There are a few lengthy mates, though (where the black King starts trapped in a corner), the longest taking 44 moves to mate or Rook capture. I am not sure if this suppresses the value of the halfling Queen as much as you think, though. KQKR end games are not that common. I play-tested the 'Quareter Queen' (FWAD, which I believe is also known as Mastodon), and in end-games with only King and Pawns as other pieces, it seemed te Mastodon was very close to being exactly halfway between R and Q. I would expect the halfling Q to be better than halfway between Mastodon and Queen. Commoner was only slightly stronger than Knight, perhaps a quarter Pawn, in endgames of two Knights against two Commoners in the presence of King and (many) Pawns. So I got the end-game values Knight = 325 (Kaufman) Commoner = 350 Rook = 500 (Kaufman) Mastodon = 750 Queen = 975 (Kaufman) and, based on this, would estimate the Halfling Queen somewhere around 875-900.


It is not that bad. Depending on where exactly you start the Falcons on the back rank, it is possible to develop them laterally. E.g. on a 10x8 board a Falcon can move from i1-h1-g1-f2 or h1-g1-f2-e2/3 to the squares in front of K or Q after you evacuated the B and N from the back rank. This was the solution usually preferred by Fairy-Max in the Falcon Chess demo-match games it played. It is true in general that 'castling early' is in general difficult in 10x8 variants, and that many games went without castling. Note that a single Falcon does have mating potential against a bare King, and is a close match for a Rook both in opening and end-game.

I could not find a description of your Falcons anywhere, so I am not sure if they could be implemented in Fairy-Max. If they could be, it would be easy to evaluate them by self-play of Fairy-Max from positions with material imbalance.


Upto now I had never used Linux, and I have no Joker version for it. I recently installed an Ubuntu, butt is not simply a matter of re-compiling the source under it. I would have to change the way it reads the time, and polls the input in a non-blocking way during ponder.

About R vs C=(RN) and A=(BN) you are again correct. KQKR is generally won (99.4% wtm, 46% btm), but KCKR is in general a draw (84% won with wtm, 1.6% btm), and so is KAKR (63% won wtm, 3% btm). It might sound strange to descibe an endgame where 84% of the positions wins with wtm as generally drawn, but the won positions are almost all positions where you either immediately capture the black King (36%) and a very similar number of positions where you capture an undefended Rook. That leaves only about 15% of the positions (there is some double counting), and most of those are positions where white can give an immediate fork or skewer. Normally, you would not consider any of those positions as KCKR, as it is obvious that the Rook is tactically doomed from the very start. If you can't gain the Rook in on or 2 moves, it is almost always draw. A Bison loses against any of Q, C and A. KAKBi is 98.3% won with wtm, and 52% with btm. The others do even better. All this on 8x8.


David Paulowich: | There may be some forced checkmates that involve a Bison leaping | over one of the Kings, but I assume that a Falcon can still force | checkmate, possibly taking a few moves longer. The patented Falcon is actually 100% equivalent to the Bison in the KBiK end-game, because of its multi-path character. No Falcon move can be blocked on a single square; at least 2 blockers are needed. But the blockers wil then always have to be on adjacent squares, and two Kings a never do that. So KFK can be played aexactly as KBiK. In end-games with more than 3 pieces this is no longer true, and a Falcon might be weaker than a Bison. In KQKBi, KCKBi and KAKBi this is of no importance, as they are aready lost for the Bison, and can only be more lost for the Falcon. KRKBi is a dead draw, and downgrading the Bison to a Falcon does not change that: KRK is only marginally won, and only by virtue of zugzwang. Any extra piece for the defender spoils the zugzwang, and thus make the K+R attack on K unsuccessful. And a Bison is far too agile to be hunted down by K+R. Even KRKN is almost always draw because K+R cannot get a Knight. The other way around, a Rook can defend quite easily against Bison by cutting off the opponent King from your own.

I made a lot of progess with the Lasker server. I now have a version that
supports (next to normal Chess) the unspeakable variant and Knightmate. I
will leave it running on my laptop overnight (which will amount to
approximately 6:00 pm to 2:00 am EST), so that people interested in it can
try it out (by logging in as 'guest'). You might have to login twice, and
play yourself, though; there will probably not be many visitors.
The server works just like FICS. To start a knightmate game of 5 min +
3sec/move you would have to type:
match unrated 5 3 knightmate 1
where is the name ('handle') of someone else logged in at
that time. (You can see who is logged in by the 'who' command.) Don't
bother to challenge 'admin', as that is me, and I will be sleeping! :-)
You can substitute 'knightmate' with the 6-letter name of the variant
whose mentioning is not allowed on this website, to play that.
You can play through an ASCII client like 'telnet', but the ASCII board
styles (selectable by 'style N', N=1-8) are not yet fully adapted to
10x8 boards. (You will see all pieces, but any auxiliary board lines will
be too short, and the files will be labelled incorrectly.) The IP address
of the server is 80.100.28.169 and the port is 5000. So to connect by
telnet from the command lne you would have to type:
telnet 80.100.28.169 5000
To play graphically, you should download the WinBoard client I adapted for
understanding the ICS protocol extension to non-8x8 boards. You can
download this from
http://home.hccnet.nl/h.g.muller/ICSclient.zip
unpack and save the 'ICSclient' folder in it into your C:/Program Files/
folder. There are shortcuts in there to connect to the server. Just click
them, and you will see WinBoard appear with an window were you can
communicate in text with the server. You have to login, and issue and
accept challenges through that window. Once you start a game, WinBoard
will kick in, and you will see the moves of your opponent in its board
display, and can enter moves there by dragging and dropping the pieces,
until the game ends. With 'observe ' you can view ongoing
games between others in the WinBoard display.

On a more general note: the current Lasker server is configured w.r.t. the
variants you can play on it through files in subdirectories of its
installation, called data/boards//, where and
are the names you have to type in the 'match' command to start
the game. This because the server author's idea of a variant was a normal
Chess game (i.e. orthodox rules and pieces) starting from a non-standard
opening position. The above mentioned files then contain a description of
the opening setup, as a list of piece types and square names for each
color.
I think this general idea (of having a file describing each variant name
you could type) is not bad. But it must of course be able to describe more
than just the initial position. It basically must be able to describe the
entire game.
I would like to invite a discussion on how best to do that. If left on my
own (without any knowledge of other existing formats) I would at the very
least put in a mechanism to (re-)define pieces using Betza(-like)
notation, e.g. A=(BN) S=(WfF) would define the Archbishop as A and Silver
General as S, while P=(mfFcfW) would re-define P as Berolina Pawn. In
addition some keywords to set parameters must be recognized, such as ranks
on which Pawns are allowed to make double moves, which castling type is
used, etc.


This piece is in the Piececlopedia under the name 'Buffalo'. 8x10 = 8 files and 10 ranks, and you start counting ranks at 1? This indeed is a mate in 28, with white to move. But I don't think you can derive the value of a piece from how long it needs to checkmate a bare King. Indeed, there are pieces that cannot mte bare King at all, and yet are worth more than a Rook. A Nightrider, for instance. A more obvious case would be a piece that moves like a King, but captures to any square of the color it is on. I am pretty sure this must be worth more than a Queen. The Bison must be stronger than the Falcon, but I did not develop a etup to play-test it yet. If you start with a conventional array (pawns on 2nd and 7th rank), Bisons make it into a highly tactical position, as they can fork lots of trapped or undefended pieces on the back rank, before you have tme to develop them. Grasshopper play-testing also suffered from this, but after some experimenting, it turned out that starting all Pawns on 3rd and 6th rank was a very good remedy against it. I guess that for Bisons this should work too, but I haven't tried it yet. My guess would be that the Bison would gain 100-200 centiPawn compared to the Falcon, as the latter is not that easy to block. This would put it at 6-7 pawns.
25 comments displayed
Permalink to the exact comments currently displayed.