Well, when you put it that way, not muchhgm wrote:Well, what can you expect of a game that was not designed, but instead has rules dictated by the accidental implementation of the check test on a server?
Too bad, because its an interesting idea
Moderators: hgm, Rebel, chrisw
Well, when you put it that way, not muchhgm wrote:Well, what can you expect of a game that was not designed, but instead has rules dictated by the accidental implementation of the check test on a server?
Ok, did a quick test. Capablanca chess, SjaakII playing black (human white, playing f4.) The version where it seems to break is 1.3.1a. 1.3.0 works fine, from 1.3.1a on, it doesn't.Evert wrote:You and me both; a few people have reported problems with SjaakII, but it seems to work fine for others. I haven't been able to reproduce the problem myself (under Wine), or, in cases where I did run into issues, I could fix them for myself but then it didn't do anything under actual Windows.Greg Strong wrote: I'm also surprised that SjaakII was working for you. The older versions used to work perfectly, but I couldn't get the new version to work correctly. It was ignoring 'force' moves and playing the wrong side and such. It was very strange. That's something I really want to get figured out because I want to distribute SjaakII along with ChessV.
You say the older versions worked, but the new one doesn't. If you have the time, could you verify that 1.3.1 works and 1.4.1 does not (the download links for the older versions are still available if you need them)? Thanks!
Code: Select all
>Sjaak II 1.3.1a(8): xboard
>Sjaak II 1.3.1a(8): protover 2
<Sjaak II 1.3.1a(8): Sjaak II version 1.3.1a (x86_64)
<Sjaak II 1.3.1a(8): Type 'help' for a list of commands and help topics
<Sjaak II 1.3.1a(8): 8r n b q k b n r
<Sjaak II 1.3.1a(8): 7p p p p p p p p
<Sjaak II 1.3.1a(8): 6
<Sjaak II 1.3.1a(8): 5
<Sjaak II 1.3.1a(8): 4
<Sjaak II 1.3.1a(8): 3
<Sjaak II 1.3.1a(8): 2P P P P P P P P
<Sjaak II 1.3.1a(8): 1R N B Q K B N R *
<Sjaak II 1.3.1a(8): a b c d e f g h
<Sjaak II 1.3.1a(8): #[Chess] 0w>
<Sjaak II 1.3.1a(8): feature setboard=1 time=1 sigint=0 colors=0 highlight=1 ping=1 memory=1 analyze=1 pause=1 nps=1 myname="Sjaak II 1.3.1a" myversion="[1.3.1a (x86_64)]" variants="fide_chess,wolves_and_sheep,maharaja,...,normal"
>Sjaak II 1.3.1a(8): accepted setboard
>Sjaak II 1.3.1a(8): accepted time
>Sjaak II 1.3.1a(8): rejected sigint
>Sjaak II 1.3.1a(8): rejected colors
>Sjaak II 1.3.1a(8): rejected highlight
>Sjaak II 1.3.1a(8): accepted ping
>Sjaak II 1.3.1a(8): accepted memory
>Sjaak II 1.3.1a(8): rejected analyze
>Sjaak II 1.3.1a(8): rejected pause
>Sjaak II 1.3.1a(8): accepted nps
>Sjaak II 1.3.1a(8): accepted myname
>Sjaak II 1.3.1a(8): rejected myversion
>Sjaak II 1.3.1a(8): accepted variants
<Sjaak II 1.3.1a(8): feature option="Variant fairy selects -combo chess (8x8+0) /// seirawan (8x8+0) /// shatar (8x8+0) /// makruk (8x8+0) /// shatranj (8x8+0) ... [Moderated away to not spoil thread layout]
<Sjaak II 1.3.1a(8): feature option="Mate search -combo Disabled /// *Enabled for drop games /// Enabled"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Level -combo Clueless /// Random /// Static /// *Normal"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="MultiPV -spin 1 1 256"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Draw offer threshold -spin 0 0 1000"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Moves before draw offer (0 to disable) -spin 0 0 1000"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Resign threshold -spin 500 100 16000"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Moves before resigning (0 to disable) -spin 0 0 1000"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Randomise opening moves -spin 10 0 40"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Random amplitude (0 to disable) -spin 20 0 100"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Send 'piece' descriptions -check 1"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Mark holes in board -check 1"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="List user-defined variants before buildin variants -check 1"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Report fail low -check 0"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Report fail high -check 0"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Claim repetitions -check 1"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Send O-O/O-O-O for castling -check 1"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Variant 'normal' is -string chess"
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Set variant alias -string "
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature option="Variant configuration file -file "
>Sjaak II 1.3.1a(8): accepted option
<Sjaak II 1.3.1a(8): feature done=1
>Sjaak II 1.3.1a(8): accepted done
>Sjaak II 1.3.1a(8): new
>Sjaak II 1.3.1a(8): variant capablanca
>Sjaak II 1.3.1a(8): level 0 1 0
>Sjaak II 1.3.1a(8): post
>Sjaak II 1.3.1a(8): easy
>Sjaak II 1.3.1a(8): force
>Sjaak II 1.3.1a(8): f2f4
>Sjaak II 1.3.1a(8): ping 5
<Sjaak II 1.3.1a(8): pong 5
>Sjaak II 1.3.1a(8): time 6000
>Sjaak II 1.3.1a(8): otim 5420
>Sjaak II 1.3.1a(8): go
Ok, thank you! This is useful (the version information perhaps more so than the log). There are a number of changes between 1.3.0 and 1.3.1 related to either input or Windows, the latter to make things compile using MSVS 2015.Greg Strong wrote: Ok, did a quick test. Capablanca chess, SjaakII playing black (human white, playing f4.) The version where it seems to break is 1.3.1a. 1.3.0 works fine, from 1.3.1a on, it doesn't.
Here's the log. It never responds to "go":
Is it standardized what the notation of the pieces is? Most importantly, when an engine is announcing a pawn promotion, should it be Q for Queen or M for Met?Ferdy wrote: I created a site dedicated to engines that can play makruk here.
https://sites.google.com/view/makruks/home
From winboard:Greg Strong wrote: Is it standardized what the notation of the pieces is? Most importantly, when an engine is announcing a pawn promotion, should it be Q for Queen or M for Met?
Code: Select all
62. h6=M {+0.07/32 0.9}
Code: Select all
[Event "?"]
[Site "kurnik"]
[Date "2017.03.14"]
[Round "-"]
[White "WW"]
[Black "BB"]
[Result "1-0"]
[Time "16:18:39"]
[TimeControl "600"]
[WhiteElo "2181"]
[BlackElo "1645"]
1. Qd2 c5 2. e4 d5 3. Qe3 Nc6 4. Ne2 Qc7 5. exd5 exd5 6. Nd2 Nge7 7. d4 Qd6 8.
Bf2 Na5 9. h4 c4 10. bxc4 dxc4 11. Ne4 Qe5 12. dxe5 fxe5 13. h5 g5 14. f4 gxf4
15. gxf4 exf4 16. Nxf4 Bc7 17. Ng6 Nxg6 18. hxg6=P Be7 19. Ke2 Kd7 20. Bc2 Bcd6
21. Rad1 Raf8 22. Bf3 Kc7 23. Rh5 Nc6 24. Pf5 Bf6 25. Nxd6 1-0
Code: Select all
A Reverse Chariot
B Bishop B' (Free) Boar (+M) B! Bishop General
C Copper (General) C! Chariot Soldier
D Dragon(-King) D' Dog D! Fire Demon
E (Drunk) Elephant E! Free Eagle
F (Ferocious) Leopard F' (Flying) Stag (+T) F! (Horned) Falcon
G Gold (General) G' <Go Between> G! Great General
H (Dragon-)Horse H' White Horse (+L) H! Lion Hawk
I Iron (General)
J
K King K' <Kirin>
L Lance L! Lion
M Side Mover M' Multi-General (+D')
N Knight
O Kirin O' Flying Ox (+V)
P Pawn P' <Go Between> P! <Prince> (+E, K)
Q Queen Q! <Great General> ('Flying Queen')
R Rook R' <Reverse Chariot> R! Rook General
S Silver (General) S' Side Soldier S! (Soaring) Eagle
T (Blind) Tiger T! (Heavenly) Tetrarch (+C!)
U
V Vertical Mover V' Vertical Soldier V! Vice General
W W' Whale (+A) W! (Water) Buffalo
X Phoenix
Y <Kirin>
Z
Thanks for explaining the thinking behind this. Yeah, there are no really good answers. If we're using S for the Kohn, I think I will use "Silver General" for the display name. Then I guess the Met is "Met". That will look a little odd being the only piece with a funny name, but whatever. You're right, Ferz would probably look just as odd to most people. Although it would be an opportunity to begin their educationhgm wrote:Because Thai uses a different script there did not seem to be an official notation in Latin characters that could be used. In the related ASEAN Chess they just use KRBNQP. It seemed best to just keep the Chess IDs for the pieces that Makruk and Chess have in common. So that left Met and Kohn. To westerners the Thai names would be meaningless, and the litteral translations were not very inspiring ('Nobleman' and 'Seed'). So I picked S for Kohn because it moves like the Silver general in Shogi, and Silver did not seem a bad western name for it. (Note that names of Chess pieces in different languages are hardly ever literal translations of each other; e.g. a Bishop is indicated by words that mean Runner (German), Fool (French), Elephant (Russian)...) For the Met I stuck with 'M'. Perhaps 'F' for Ferz would have been a better choice, but to most orthodox Chess players the word Ferz is just as meaningless as Met. So perhaps I should have used 'A' for Adviser, to stay in line with Xiagqi (the most popular Chess variant using this piece). But I associate Advisers so much with Palace confinement.
ChessV supports two-letter notations. It knows all the notations used in a given game so it doesn't create any ambiguity so long as there is no single-character notation that is also the first character of a two-letter notation. And if there is an ambiguity, you can still use it, but you must put an underscore before the two-letter notation. The underscore is always removed before displaying to the user, but is still a little cheesy, though, so I avoid it as much as possible. In fact, I believe the only place I'm using ambiguous notations requiring an underscore is in Chess with Different Armies, which is very messy anyway. But for games where using two letters intuitive and not ambiguous, I like that better than grabbing an unused characters from the middle of names.hgm wrote:BTW, considering notation, how do you handle cases where the alphabet is not large enough to indicate all piece types? Arbitrary multi-letter piece IDs are not compatible with FEN. In the latest XBoard I implemented the system of 'dressed -letter' IDs, where a piece is indicated by a single letter (optionally) followed by a narrow punctuation character like ' or !. That causes no ambiguity in FEN, and actually keeps them quite readable, as the eye tends to group the ' or ! automatically with the preceding letter. And it triples the number of available IDs, so that you can assign them in amuch more intuitive way.
WinBoard uses E for the Alfil (depicting it as Elephant), M for the Man, F for the Queen, W for the Sleich and B for the Couriers:Greg Strong wrote:What the heck do we do about Courier? They have a piece called a Bishop (or "Bischof") but it moves as an elephant. But they also have a piece that moves as a bishop, but is called a Courier. The guard is "Mann" and the wazir is a "Schleich" (sneak? fool?). And the Queen moves as a ferz
The problem is that is Shogi variants there usually is such ambiguity. (E.g. in Chu: P vs Ph, K vs Kn, S vs SM, R vs RC, B vs BT, L vs Ln, G vs GB.) I also experimented with disambiguation prefixes, but it made FENs thoroughly unreadable (at least for me). I also considered an alterative for FEN, which would put white and black pieces in different board (separated by a #), so that you don't have to distinguish the pieces by type case, and can adopt the convention that capitals are used only for the first letter of a piece name. This was still not very readable. But the separation idea is of course a good solution for many-player games.It knows all the notations used in a given game so it doesn't create any ambiguity so long as there is no single-character notation that is also the first character of a two-letter notation.