Ratings & Comments
If that address won't receive the email for changing your email, then it won't receive other emails from us. If that's important to you, then I recommend using another address.
![Editor](/index/editor.gif)
Strange anomaly
I have started an attempt to determine piece values on a 12x12 board, about which very little is known. I use Fairy-Max self-play for this. To not make the games too long, the basic start position I use consists of a FIDE army augmented with 4 Pawns (to close the Pawn rank). So the board is pretty thinly popuated. The 4 central Pawns start on 4th rank, to speed up engagement, but the 3 Pawns in each wing start on 2nd rank, to provide some King shelter. The Knights also start in a somewhat advanced position, on 3rd rank behind the central Pawns, as does the Queen (to not have too many unprotected Pawns in the start position.
To determine piece values I delete some pieces from this setup, or sometimes replace them by fairy pieces. The side with the weaker piece can be compensated by giving the opponent Pawn odds, for which I always delete the same Pawn (on the h-file). Such Pawn odds alone results in a 68-70% win of the side with the extra Pawn. I only trust results when the total advantage is closer to equality than Pawn odds.
I don't want to delete more than a single Pawn, because Pawns are highly cooperative pieces, and I cannot be sure that deleting two Pawns gives twice the advantage of deleting a single one. By always granting the same simple Pawn advantage (or none at all), I can get a reliable 'measuring stick' on which the values of other pieces can be mapped. This poses a problem if there is a gap of more than 2 Pawns in the 'piece-value spectrum', though: I cannot play those 1-on-1 without getting an imbalance that is too extreme. I solve that by also introducing fairy pieces with values in the gap, and also determine their value.
I try to avoid Bishops, (and color-bound pieces in general) because of the pair-bonus problem, which would introduce yet another unknown. Which, if not handled properly by the engine, might invalidate the results. So I tried to find a very 'Bishop-like' piece that is not color bound. My first choice was this: to break the color binding of a Bishop, I gave it Wazir moves. To compensate for that (and prevent mating potential), I take away the Ferz moves. But to not affect the more distant B moves, they can still be blocked on the F squares. (So basically this is a Tamerlane 'Picket' + Wazir.)
Such a modified Bishops beats a Knight on 12x12 (as ordinary Bishops also do). The strange thing is that when I then handicap them with Pawn odds, they still beat the Knight, by about the same score. The extra Pawn doesn't seem to help the Knight at all! I have never seen that before; normally deleting a Pawn lowers the score by about as much as the pure Pawn-odds advantage. I watched a few games, and often they end in Knight + Pawns vs modified Bishop + Pawns, where the Knights are still judged by the engine to be ahead (because there are more Pawns on their side). But the Knight then almost always loses. The 'WazirPicket' can easily prevent advance of many isolated Pawns, by guarding a diagonal. And by just stepping in front of a Pawn it attacks as well as blocks it, so that the Pawn easily falls. Even connected passers are easily destroyed this way, if they still have far to go. (And on 12x12 they usually have; I use promotion on last rank only.)
I guess the WazirPicket is just unrepresentatively dangerous to Pawns, in the absence of pieces that can protect those. (And Knights are pitifully slow on 12x12...) So that the value of opposing Pawns shrinks to almost nothing in the late end-game.
My next attempt at a non-color-bound substitute for a Bishop will only change the mF moves of a Bishop to mW, but leaves the captures in place. This will also have the advantage that it cannot be blocked on a square that it doesn't attack, so that it cannot be blocked with impunity (as lame leapers can). Such a piece cannot do more damage to Pawns than ordinary Bishops can, but the mW move does allow it to switch color on non-captures. (Hence I dubbed it Swishop.)
Anyone know who can help me create a new UserID for this account? Not just name change...
Hi Fergus, can I get it changed to ChessVariantDemos? (assuming all the info and variant pages I've written remain)
Since the userid is limited to 16 characters, and ChessVariantDemos has 17, I could not make the change. Note that you have two different IDs on this site, though both are presently the same for you. These are the personid, which is limited to 32 characters, and the userid. The userid is the handle that you use to sign in, and it is also used when you play games on Game Courier. The personid is used to identify you when you post comments or contribute content. This site was using personids before userids were ever a thing here, and the original personids were based on a person's name, such as DavidHowe or FergusDuniho. Userids were meant as shorter handles for signing in. I could change your personid to ChessVariantDemos, though one based on your name would be preferable.
@HG and Greg
I want to see three competitions between Fairy Max and ChessV using Winboard. The games should be Frog Chess, Hannibal chess and Waffle Chess.
1. What is the instruction that connects ChessV with winboard?
2. When I try to load FairyMax to play I get the message: "Engine did not send setup for nonstandard variant".
These are the fairymax representations of the 3 games, as I have written them:
//Frog chess invented by Kevin Pacey
Game: frog
10x8
6 4 5 8 7 3 8 5 4 6
6 4 5 8 7 3 8 5 4 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
f:275 15,7 17,7 -15,7 -17,7 3,7 -3,7 48,7 -48,7
//Hannibal chess invented by Kevin Pacey
Game: hannibal
10x8
6 4 8 5 7 3 5 8 4 6
6 4 8 5 7 3 5 8 4 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
h:275 15,7 17,7 -15,7 -17,7 30,7 34,7 -30,7 -34,7
//Waffle chess invented by Kevin Pacey
Game: waffle
10x8
6 8 4 5 7 3 5 4 8 6
6 8 4 5 7 3 5 4 8 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
w:275 1,7 16,7 -1,7 -16,7 30,7 34,7 -30,7 -34,7
![Editor](/index/editor.gif)
For 'engine-defined variants', the definition in the fmax.ini file should also specify a 'pieceToCharTable' (to indicate which images should be used for what piece) and a 'parent variant' (normally 'fairy', unless there are some special rules that you want to borrow from another variant, such as a wider promotion zone, or the possibility to gate pieces). They go on the 'Game:' line, after the name of the variant, separated by #, like
Game: frog # PNBRQ.FKpnbrq.fk # fairy
if you want to depict the Frog as an elephant (because the F is in the 7th place of the pieceToCharTable, and WinBoard's 7th piece image is an elephant). The last piece mentioned for each color will always use the King symbol.
It will also be helpful to make Fairy-Max inform WinBoard on how the Frog moves, so that you will be able to play the games with legality testing on. To this end you should append the following two lines to the game definition:
# # F& FH
This will make Fairy-Max emit a 'piece' command at the start of the game for F (the '&' indicating it applies to F of both colors), to indicate it moves as a (Betza) FH. (The other pieces move as WinBoard would expect a piece with that image to move, so there is no need to (re)define their moves.) Unfortunately Fairy-Max is not smart enough to construct the Betza notation that XBoard needs from the move definition as it was given on the 'f:' line. I still hope that I can make some future version of Fairy-Max work entirely from Betza move definitions in the fmax.ini file, rather than from the list of step vectors and primary/secondary move rights it uses now.
HG,
the following script in Fmax ini file yiels invalid move and invalid claim errors. I posted what I had changed. Please tell me where am I wrong.
//Frog chess invented by Kevin Pacey
Game: frog # PNBRQ.FKpnbrq.fk # fairy
10x8
6 4 5 8 7 3 8 5 4 6
6 4 5 8 7 3 8 5 4 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
f:275 15,7 17,7 -15,7 -17,7 3,7 -3,7 48,7 -48,7
#
#F&FH
//Hannibal chess invented by Kevin Pacey
Game: hannibal # PNBRQ.HKpnbrq.hk # fairy
10x8
6 4 8 5 7 3 5 8 4 6
6 4 8 5 7 3 5 8 4 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
h:275 15,7 17,7 -15,7 -17,7 30,7 34,7 -30,7 -34,7
#
#H&HH
//Waffle chess invented by Kevin Pacey
Game: waffle # PNBRQ.WKpnbrq.wk # fairy
10x8
6 8 4 5 7 3 5 4 8 6
6 8 4 5 7 3 5 4 8 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
w:275 1,7 16,7 -1,7 -16,7 30,7 34,7 -30,7 -34,7
#
#W&WH
Greg,
I had noticed that chessV2 has the ability to play with different engines. But such an option is not shown for frog chess, hannibal chess, waffle chess. Is that from bad scipting or is it the fact that external engines variants options is hard coded?
![Editor](/index/editor.gif)
Well, for one the spaces are missing behind the # and & in the piece-descriptions for WinBoard, which probably leads to WinBoard ignoring them altogether. Which is just as well, as HH and WH are not the Betza notations for the moves of the Hannibal and Waffle: you defined the Hannibal for WinBoard as a Trebuchet-rider. But for Fairy-Max you defined it as a Modern Elephant, which has no moves in common. But even when ignoring the piece definitions, WinBoard will revert to the default move of the piece, which for the Elephant that you use in all cases will be the Alfil move.
The F moves of the Hannibal and the W moves of the Waffle will then be rejected by WinBoard as illegal, when Fairy-Max plays them. And Fairy-Max can recognize checkmates where WinBoard still sees a possibility for the King to escape, to a square that the Hannibal or Waffle attack without WinBoard being aware of it. And then WinBoard would judge the mate claim by Fairy-Max illegal.
I did not combrehend it is about the Betza notation. Now I understand!
So basically there is no chance for now to set up a game between the 2 engines.
![Editor](/index/editor.gif)
@Aurelian:
ChessV decides what games an engine supports based on the variants it announces support for. Unfortunately, the XBoard protocol only specifies how a small number of variants are to be named and they are often not the official name of the game. For example, Joe Joyce's Great Shatranj is identified only as "great". So for many games, ChessV doesn't know if an engine supports a game because there is no official string used to identify the game.
That said, you can tell ChessV how a variant should be identified by specifying the XBoardName string variable. So, if you have configured FairyMax to play Frog Chess and called it "frog", you would also edit the ChessV include file that defines Frog Chess adding the following line:
XBoardName = "frog";
This line goes right inside the Game definition, where Invented and InventedBy are specified. If you do this, it should offer Fairy-Max as an opponent for Frog Chess.
![Editor](/index/editor.gif)
I think the real problem is that the ChessV.Engine.exe is defective; see my posting in the ChessV comments.
Note that Fairy-Max calls this game 'frog' only because the user configured it this way; Frog Chess is neither pre-cofigured in Fairy-Max, nor an XBoard standard variant. It would be just as easy to make Fairy-Max use the name that ChessV uses.
I am not sure it is 'unfortunate' that XBoard protocol only defines a very limited list of standard variants. The problem is that such a list, no matter how long you make it, will never be (or stay) complete anyway. To be future-proof, any name should be allowed. This means the names are not really part of the protocol anymore than the names of chess engines are; they are just data, and the protocol prescribes only what commands should be used to communicate them.
IMO the list of standard variants is already way too long; many variants in the list have no special properties, and only differ from each other (or from orthodox Chess) through board size, array, and piece moves. And the latter properties have basically become freely specifiable parameters for 'engine-defined variants'. So variants like Capablanca Chess, CRC, Great Shatranj really have become redundant, and are maintained only to deal with 'legacy engines'. Because the latter would not reply to the 'variant' command that selected them with a 'setup' command for specifying the array and board size.
The concept of engine-defined variants does raise the problem of name standardization, though. Which becomes more than a cosmetic problem when we want to play engines against each other. Perhaps GUIs should already provide a work-around for cases where engines disagree on the name of a variant they both play, like a per-engine 'alias list' of variant names. Which the GUI then should apply (in either direction) on both variant names received from the engine and sent to the engine.
@Greg & HG
It seems to not work in this way either. This is probably because of what HG has explained down bellow!
![Editor](/index/editor.gif)
Yes, I've seen the bug report but haven't finished looking at that yet. My post was how you can use Fairy-Max under ChessV in the meantime.
@Greg,
I have understood what you meant. But it still does not work.
@HG
Maybe that is because I misrepresented frog chess in the fairymax file. Currently it looks like this:
Game: frog # PNBRQ.FKpnbrq.fk # fairy
10x8
6 4 5 8 7 3 8 5 4 6
6 4 5 8 7 3 8 5 4 6
p:100 -16,24 -16,6 -15,5 -17,5
p:100 16,24 16,6 15,5 17,5
k:-1 1,3034 -1,1034 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7
n:310 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7
b:350 15,3 17,3 -15,3 -17,3
R:475 1,3 16,3 -1,3 -16,3
Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3
f:275 15,7 17,7 -15,7 -17,7 3,7 -3,7 48,7 -48,7
#
# F & FH
![Editor](/index/editor.gif)
Thinking about it now, ChessV only determines the capabilities of an engine when it first sees it. If ChessV had already discovered Fariy-Max and then you add support for Frog Chess, it won't know.
Click the Engines button on the main screen. Select Fairy-Max and click Remove. This does not delete any files. If you have MaxQi and ShaMax in the list, you will need to select and remove those as well (because they are in the same folder.)
Then close ChessV and run it again. It will re-discover the engines in that folder. It should then show up. You can click Engines, select Fairy-Max, and click Properties. In the bottom-right you will see a list of the variants that it supports. Make sure the name in that screen exactly matches what you put in the XBoardEngine variable.
@Greg
Hey,
It works up to a certain point, this beeing the moment when you click fairy max in the engines list. There it shows that it can play frog, hannibal and waffle. But in the menu before starting the respective games it fails to offer the fairymax choice. I have also tried batch mode with a control file, and it did not work. Thanks for the help so far!...
Something changed maybe about 2 to 4 weeks ago. Let's say we have a game that shows legal moves. I am on the white side, and it is my turn. When I click a piece I get a gray square and blue squares that show legal moves. Great. I now move my piece. I am now ready to confirm. In the past, I could click on a black piece and see it's legal moves before I hit the confirm button. This ability has disappered. (maybe on purpose?).
Thanks for mentioning that. I had forgotten about this ability, and I inadvertently introduced a bug that got rid of it. I have now restored it.
Hi, your bug fix helped, but I am being really fussy now! A pop-up comes up in CONFIRM MODE saying "Showing Legal moves for <piece> you cannot actually move in view or preview mode Click OK to hide legal moves. In certain situations a checkbox comes up saying "Prevent this page from creating additional dialogs." If you click that checkbox - Legal moves (on your enemy pieces) appears to me to get completely disabled."
No, I do not want that.
In the past, I was able in confirm mode to click several enemy pieces and see the enemy piece moves without the pop-up.
Okay, that's now fixed. Thanks for reminding me how it was supposed to work.
25 comments displayed
Permalink to the exact comments currently displayed.

Thanks for the quick response.
I can't see anything - can one of the site's editors simply change it to the new address if I give them this?
Regards
SAE Nicholls