Comments/Ratings for a Single Item
![Editor](/index/editor.gif)
![Editor](/index/editor.gif)
OK, I have been testing a bit, and most things seem to work. The following details should be mentioned: * Great Shatranj should be played with legality testing in the WinBoard client switched off (through the 'Options->General...' menu; untick 'test Legality'). * If you play Courier Chess through the command 'match shamax 5 1 u courier' it will play in the initial setup that Fairy-Max uses (with a closed rank of Pawns). To play from the historic initial position with some Pawns on 4th/5th rank, you should play the subvariant '1', through the command 'match shamax 5 1 u courier 1'. * I also added category 'fairy' for some minor 8x8 variants including unorthodox pieces, the sub-variant indicating which initial setup will be used. So far only 'fairy archbishop' and 'fairy chancellor' work (where Q is replaced by A or C, respectively). * The category 'great' without mentioning a sub-variant will start with an initial position with a 'Sliding General' (= Mastodon = Q2 = FADW) on d1/d8. This in deviation to the 'official' rules of Great Shatranj, which has a 'General' (= Commoner = FW) there. For the logic of the variant I actually like that better. (As it replaces every slider move of Capablanca Chess by a jump of range 2.) To play with the 'General' on d1/d8 you should use a subvariant specification 'great shatranj' (i.e. start the game with the command 'match shamax 5 1 u great shatranj'.) * Note that in the great' category promotion can be to 'General' or any captured piece, even when the initial setup contained a Sliding General in stead of a General. To this end the captured pieces are displayed next to the board. When you promote, you should click the piece of your choice from the available pieces in the holdings, to finish the move. (The ShaMax bot always promotes to General, even if more valuable pieces were available; This is a limitation of Fairy-Max.)
![Editor](/index/editor.gif)
Last week I bought an Asus EeePC 1000 laptop, to serve as a dedicated computer for running my ICS. Sunday I managed to install Linux on it, and the Chessd server. So from now on the Variant-ICS will be up and running 24/7. Variants that people can currently play there are: Bughouse Crazyhouse Chess960 Capablanca Chess, with some sub-variants: Bird Carrera Embassy Sovereign {unspeakable} Capablanca Random Chess Shatranj Superchess Great Shatranj (requires legality-testing to be off in WinBoard) Fairy (some minor variants replacing Q on 8x8 by an unorthodox piece) Archbishop Chancellor Orthodox Chess Xiangqi Shogi (might not fully work yet) To connect, use IP address /icshost=80.100.28.169 in WinBoard. You can login under any name, but if you want a registered account (so the server will keep track of your rating), you must send me an e-mail (as per instructions readable on the ICS). Like with any starting ICS, when you login there, you will probably be alone. So until it gets really busy (if it ever will), if you really want to play, arrange an opponent by appointment. I have provided two computer opponents that should be logged in permanently, FairyMax and MaxQi. Have fun!
If you find a way to have support for Macs, you might see me on there :)
![Editor](/index/editor.gif)
Well, XBoard 4.4.0 should be able to run on a Mac. Hans Aberg was even able to compile it for a Power-PC Mac. And if you can't install from source: there was a request on the WinBoard forum for a binary Mac version, and perhaps some Mac user that is set up for compiling will make one available for hosting there.
Also, can you combine 'wild' with 'board's like Capablanca?
Finally, is the source code to this server available?
![Editor](/index/editor.gif)
Well, it says 'was patented', pasted tense. I think my strategy for avoiding conflicts is a lot more sensible than censoring the occurrence of a certain word in any context, like is done here on CVP... The source code can be downloaded from: http://home.hccnet.nl/h.g.muller/capablanca.tar.gz To my dismay I found out that I can no longer compile it on Ubuntu 9.04 (which I had to run on the server because older versions did not recognize my network card and left me without internet connection). I get an obscure error in some script that generates C source files. So I have to compile it on Ubuntu 8.04 (Hardy Heron), and then transfer the binaries to the EeePC laptop. (I just found out that the mentioned tarball contains a bug; in board.c it has swapped the 'A' and 'H' for indicators of Xiangqi Advisor and Knightrider, so that Xiangqi did not work.) The way categories and boards are implemented is by directory and filenames. Each category is a directory name, and each file in that directory corresponds to a board name. So in the standard setup there were files wild/1, wild/2 etc. The contents of the files described the positon. I extended that to also specifying board size, castling type, holdings type, pawn type and of course having more piece types. So the files pretty much describe the game, no matter in which directory they are placed. But the problem is to convey that info to the WinBoard client. WinBoard derives the variant it is playing from the 'Issuing' message of the ICS, which contains as only clue about the variant 'loaded from category/board'. So the naming of categories and boards must be such that WinBoard recognizes the variant that belongs to the position and game rules described in the corresponding file. The WinBoard variant-name parser recognizes wild/# or w/# as the FICS or ICC wild types, but such naming is not very user friendly. It also looks for occurrence of a sub-string equal to a WinBoard variant name. This is why wild/crazyhouse does work as well. I make use of this mechanism by naming the directories after the variant that WinBoard should switch to, and then put all boards belonging to that variant in that directory. So capablanca/bird is recognized as variant capablanca, and the opening array is then taken from the file bird. When no board is mentioned, the filename for it defaults to '0', so capablanca/0 is a file that contains the Capablanca array. When playing on ICS the ICS sends a full board position for every move (even your own) so knowing the opening array is never a problem for WinBoard. There is no restriction on the type of position that can be in the board files.
You know, I used to be a Linux fanatic. Then I started using Ubuntu. Now my computer, which I bought as a Linux laptop, runs Windows XP. The problem with Ubuntu is that it’s, as you have observed too unstable: The drivers are too unstable, the software API is too unstable, etc. Since the majority of Linux developers are unpaid, there is no central command and control that can keep the programmers disciplined enough to make a commercial grade desktop product like Windows or MacOS.
The only version of Linux I use today is a free RedHat enterprise Linux clone called CentOS. Hardware support comes slowly; my laptop’s hardware is not fully supported in RHEL/CentOS 5 so I have to wait until CentOS 6 (should be early to mid 2010) before considering running Linux on my computer again [1].
The advantage of RHEL is that, once a given piece of hardware is supported, the OS is supported with bug fixes and security enhancments for a period of seven years. At the start of 2014 Windows XP will still be supported by Microsoft (at least in theory; there is a known bug with XP’s TCP/IP stack if you run a TCP server like Apache or FICS that Microsoft will not fix, since XP isn’t designed to run TCP/IP services); RHEL 5 will still be supported by RedHat. This kind of EOL schedule allows me to upgrade my OS on my timeframe, not the timeframe of some random Open-Source developer on the internet.
Looking at the server, it looks incomplete. Variants do not appear to have “Examine” support and the help files do not describe all of the supported variants.
I think the type of server people are looking for is a server where one can define their own rules (or, at least your own setup and have both players agree on the rules) and move pieces the way you want to. I think play-by-mail makes more sense for Chess variants because, since the game is new, people need more time to think about the next move they will make.
Most Chess variant players like making new Chess variant rules and trying out the new variant for only a few games before moving on to the next variant. I think we’re somewhat unusual in that we would probably be happy playing different Capablanca Chess and FIDE Chess opening setups for the rest of our lives. I even stay with a given variant long enough to develop opening theory for the variant—I think Schoolbook is unique in having an opening book.
[1] In the meantime, I do run CentOS 5 in a virtual machine, mainly for software development purposes.
![Editor](/index/editor.gif)
You correctly noticed that the server is not finished. The help files are a minor problem; it is just a matter of putting a text file with the corresponding name in a certain directory. But so far I only had time for making descriptions of the more common variants that were not so common that I thought a description was not needed. The examin support is something I would have to look in to. I don't even know what examining a game is, on an ICS. There might be a problem with restoring the variant; I also noticed that when you have an adjourned game that is automatically resumed when you match the same opponent, it is not announced as the correct variant, so WinBoard often thinks the moves are illegal. I will definitely have to fix that. I am not very happy with the way the game rules are implemented in this server. For every piece type there is separate code. And not only one routine, but two: one to determine if a given move is (pseudo-)legal, and another one to generate all moves for that piece. This makes it hard to add new pieces; I'd rather seen that the whole process is table-driven, the table with piece definitions being read from an external file. The flexibility suggested by having a dedicated routine for every piece is also largely illusory. If you would want to use it to implement pieces with side effects, such as Mats' Catapult pieces, it turns out checkmate testing does not work anymore: it hinges on testing if any of the moves from an opponent piece to the King is pseudo-legal, and would not notice if the King is captured by a side effect. This part of the code should be completely redesigned. Another inconveniece is that there is no variant-dependent mapping of pieces to letters. This forces me to have duplicates of the code to handle certain piece types just to make sure that they can be used in one variant onder one name, and in another under another name. I think that an ICS of this type caters to a different kind of audience than you describe. There are plenty of people that ar not interested in designing variants, but just want to play one particular variant. And as a consequence know it well enough that they want to play it as a blitz or even bullet game, rather than as corresponcence chess. You won't find those people here on CVP, of course, but they do exist. Especially for 10x8 Chess. To experiment with new rules, it is questionable if a rule-enforcing server is needed or even desirable. I think it should be easy enough to add one 'free' variant where the ICS acts only as a passive chess board, not unlike WinBoard edit-position mode, where each player can grab any piece and move it wherever he wants. Even if it is an opponent piece, or when it is not his turn. They should be able to set up an arbitrary opening position on boards of various sizes, and then simply move the pieces around.
Examining a game means you move pieces around on a board without the game being rated. It would be a great way for people to get a sense of what a variant is like without having to play a rated game with the variant.
![Editor](/index/editor.gif)
I have made some more hacks to the server code, in an attempt to repair the variant support for examining games. It seems to work better than before, in particular because I improved reading and writing FENs (from which all non-orthodox piees were deleated before, and which were used to store the initial position of games stored on the server). Could you have a look what the remaining problems are? I am not familiar with this form of ICS usage at all, and that makes it difficult to judge if thngs work as they should... :-( The latest WinBoard is at http://home.hccnet.nl/h.g.muller/winboard.zip .
Hey, it looks like you never telnetted in to a Chess server.
Basically, a client like xics or winboard is a pretty GUI front-end; one would telnet in to the Chess server (either with or without a GUI client). There, you could shout with other players, chat in channel 1 or any other channel, flirt with the few girls who would show up—or play chess.
It was possible to play chess on the server using crude ASCII graphics, with an ASCII diagram for the board (R=Rook, etc.) if you were using a simple telnet client and didn’t have a graphical client—I even played ICS chess using dumb terminals back in the day, before the big mid-1990s FICS-ICC split.
The clients came later, allowing people to have an attractive looking board to play chess on their screen. There was also an ICS-like server for people playing Chinese chess, one for people playing Go, and I think even one for Shogi.
If you have a telnet client around, telnet in to your server and see what it’s like. Some basic commands:
- help RTFM is easy on the FICS server.
- match player, where player is the player you wish to play
- examine examine a game already played
![Editor](/index/editor.gif)
Indeed, I never use telnet to play Chess. Only to manage my monthly on-line computer blitz tourney, as admin (entering account names, and controlling the 'mamer' tournament manager. I supposed that no one does this anymore, and did not even bother to adapt the boards style 1-10 to unorthodox pieces. Only style 4 sort of works for Capablanca variants. (Problem is that this is very cumbersome to adapt, as all these boards are built by a table-driven routine that contains litteral strings tuned to an 8-wide board for each style.) So I just used the ICS protocol as a low-level carrier for communication with the graphical client, through board-style 12 (which is a machine style). The clients also use only long algebraic notation (e2e4, b8c6, etc.), so I never bothered to program the letter codes for unorthodox pieces into the SAN parser of the ICS. Should I?
The help command should summarize the changes done, or point to a help topic that explains stuff like the variant ICS server always using style 12, moves needing to always be entered in c2c4 format, examine being broken, and what not.
There’s a lot of cruft in the FICS client from the days when a lot of people didn’t have chess clients—this was back when a lot of people didn’t have computers at home (a decent computer cost $2000), and installing game software on shared lab computers was problematic. Cleaning up this cruft is understandable but should be documented to reset the expectations of us who do remember the old-school FICS client.
![Editor](/index/editor.gif)
You were right, Sam! Your remark that it did no longer acept any move puzzled me, but it turned out I had wrecked the SAN move parser: I shifted the rank number somewhere by 1 on boards smaller than 10 ranks, but this inadvertantly also shift the wildcard code for a non-given rank, so that it was no longer recognized as a wildcard. :-( I fixed it now, and also fixed the printing of the boards in styles < 12. Even the Bishop-confusion resolution should work now for all fairy pieces: if you type ab6 or axb6, it can either be interpreted as a Pawn or an Archbishop move, and if both are possible, the pawn move is preferred if you spelled it lower case. So playing by telnet should work now.
16 comments displayed
Permalink to the exact comments currently displayed.