SjaakII 1.0.0

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

SjaakII 1.0.0

Post by Evert »

I figured I'd make a separate threat for this: I've uploaded version 1.0.0 of my general variant engine SjaakII!

What's New?
Compared to 1.0 RC7, this version has the following improvements:
  • Fix uninitialised variables in SEE cache
  • Fix a bug that made only the first 16 piece types be considered for promotion options.
  • Fix a bug in chase detection in Xiangqi.
  • Piece IDs in FEN strings can be any length (it's the user's responsibility that ambiguous situations cannot arise).
  • SjaakII would hang in ponder-on games in UCI mode. This is now fixed.
  • Push pawns more aggressively in Shogi and other drop variants.
  • New property 'Demote: "P"' to demote pieces on capture.
  • Allow promotions on drop moves (set the "promote drop" rule flag).
Features planned for the next (major?) version include:
  • Double move/multiple capture (Lion moves).
  • New piece properties and effects
  • Polyglot opening books
  • Improved evaluation
  • Describe piece moves in standard Betza notation
  • Even larger boards?
Features
If you haven't kept up with the feature-list in the rather long 1.0RCxx thread, here's a quick overview:
  • Plays all major chess variants: FIDE Chess, Fischer Chess (Chess960), Seirawan Chess (S-Chess), Capablanca Chess (and variants), Grand Chess
  • Plays many historical chess variants: Shatranj, Courier Chess
  • Plays many traditional regional variants: Xiangqi (China), Makruk (Thailand), Sittuyin (Myanmar), ASEAN (Makruk variant), Shatar (Mongolia) and in particular Shogi (Japan) and Shogi variants.
  • Modern variations with new pieces, such as Spartan Chess or Omega Chess.
  • Various "minor" variations, including Legan's Chess, Troitzky Chess, King of the Hill, Knightmate, Berolina Chess or Pocket Knight.
  • Can be configured to play many new variants of your choice or design through a configuration file (description here)
  • Supports U*I (UCI, USI and UCCI) and CECP protocols.
I've set up a wiki to document the variants it supports (CVWiki), for now most articles are based on SjaakII's human-readable description of rules.

For obvious reasons, you'll get most out of the engine by running it under X/WinBoard, version 4.8 or (better) one of H.G. Müller's development versions.

Get it
at http://www.eglebbk.dds.nl/program/chess-download.html
Source, Linux binaries and OS X binary are up, Windows binaries will follow.
Dann Corbit
Posts: 12540
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: SjaakII 1.0.0

Post by Dann Corbit »

For the absurdly impatient, Windows binaries in here:
https://www.dropbox.com/s/zlctmbf9m8gpm ... II.7z?dl=0

Of course, these will be superseded by the official release.
tmokonen
Posts: 1296
Joined: Sun Mar 12, 2006 6:46 pm
Location: Kelowna
Full name: Tony Mokonen

Re: SjaakII 1.0.0

Post by tmokonen »

Thank you for putting in all the hard work in creating SjaakII, Evert.
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: SjaakII 1.0.0

Post by gbtami »

I like this engine more and more. Don't you think about pushing the code to Bitbucket/Github? Btw. congrats to the release :)
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: SjaakII 1.0.0

Post by Evert »

Dann Corbit wrote:For the absurdly impatient, Windows binaries in here:
https://www.dropbox.com/s/zlctmbf9m8gpm ... II.7z?dl=0

Of course, these will be superseded by the official release.
Thanks! I've put these up for the time being. :)
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: SjaakII 1.0.0

Post by Evert »

gbtami wrote:I like this engine more and more. Don't you think about pushing the code to Bitbucket/Github? Btw. congrats to the release :)
Thank you!

Yes, I'll put the code in a public repository at some point. Not sure when yet though. :)
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: SjaakII 1.0.0

Post by Evert »

Forgot to say: I'm also open in feature requests. :)

If you have interesting variants to share, or have suggestions for interesting variants, feel free to share those too!
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: SjaakII 1.0.0

Post by gbtami »

Evert wrote:Forgot to say: I'm also open in feature requests. :)

If you have interesting variants to share, or have suggestions for interesting variants, feel free to share those too!
To cover all main asian regional variants it would be cool to add Cambodian makruk version Ouk Chatrang.
http://en.wikipedia.org/wiki/Makruk#Cambodian_chess
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: SjaakII 1.0.0

Post by Evert »

gbtami wrote:
Evert wrote:Forgot to say: I'm also open in feature requests. :)

If you have interesting variants to share, or have suggestions for interesting variants, feel free to share those too!
To cover all main asian regional variants it would be cool to add Cambodian makruk version Ouk Chatrang.
http://en.wikipedia.org/wiki/Makruk#Cambodian_chess
There's a difficulty with the pre-condition for the special moves as listed on Wikipedia. It says
only if no pieces have been captured
but this rule is not mentioned on http://history.chess.free.fr/cambodian/ ... 0Games.htm , which is the supposed source for the rules on Wikipedia. So perhaps that restriction can be ignored (I suppose Fairy-Max does this as well, but haven't checked to make sure). The only other issue is that the move is not valid as an evasion, so it is like castling in that sense. That doesn't work as-is, but I can add that in fairly easily.

So I'll include that for the next update.

To really be complete, I would like to include Janggi (Korean Chess) as well, but sadly the move of the Elephant seems too complicated for now...

EDIT: I'm also going to see if I can make this playable. It seems to me that either moving the pawns back one rank, or giving them the Shatranj/Western style capture move should fix the defect mentioned at the bottom of the page.
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: SjaakII 1.0.0

Post by gbtami »

Evert wrote:
gbtami wrote:
Evert wrote:Forgot to say: I'm also open in feature requests. :)

If you have interesting variants to share, or have suggestions for interesting variants, feel free to share those too!
To cover all main asian regional variants it would be cool to add Cambodian makruk version Ouk Chatrang.
http://en.wikipedia.org/wiki/Makruk#Cambodian_chess
There's a difficulty with the pre-condition for the special moves as listed on Wikipedia. It says
only if no pieces have been captured
but this rule is not mentioned on http://history.chess.free.fr/cambodian/ ... 0Games.htm , which is the supposed source for the rules on Wikipedia. So perhaps that restriction can be ignored (I suppose Fairy-Max does this as well, but haven't checked to make sure). The only other issue is that the move is not valid as an evasion, so it is like castling in that sense. That doesn't work as-is, but I can add that in fairly easily.
The wikipedia article references another page http://www.khmerinstitute.org/culture/ok.html (If the link redirects to the mainpage of the Khmer Institute, click on the "culture" link, then the "chess" link) which seems more authentic (at least for me). This page restricts the extra first king move to b2/f2 (not to c3/e3!) and the queen extra first move to e3 only if that "space is unoccupied" (so can't be a capture move). This two rule may be indication that these extra moves are similar to western chess extra double pawn move and king's castling move. Both can't be capture moves, just introduced to speed up of development of some piece(s) and to help moving the king into safer place.