Check out Omega Chess, our featured variant for September, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

Chu Shogi. Play this large Japanese Shogi variant on Jocly.[All Comments] [Add Comment or Rating]
📝H. G. Muller wrote on Fri, Mar 24, 2023 08:52 AM UTC in reply to Fergus Duniho from Thu Mar 23 09:21 PM:

That is correct. Some years ago I programmed some chess variants for Jocly for which the standard support for chess variants (the 'chessbase' module) was not sufficient. E.g. because these involved multiple royalty (Spartan Chess), multiple capture (Chu Shogi, Tenjiku Shogi, Elven Chess), move induction (Scirocco), piece drops (Shogi, mini-Shogi, Tori Shogi), contageon (Werewolf Chess).

This was all done by hacking the Jocly 'library' files, inserting new, decently looking source code into the 'uglified' files that resulted from compilation, as at that time I did not manage to compile Jocly myself. (I never managed to do that on Windows, and the Linux version I was running was too old.) Because of this procedure, I never payed any attention to source files that did not seem to affect the final product (i.e. when embedding Jocly through the control.html applet). Such as credits.html.

After I learned how to compile Jocly (which required setting up a VM with a newer Linux version) I started a project to 'back port' the games I had implemented to regular source code. And push that to my on-line source code repository, in the 'hgm' branch. This stagnated, because it turned out that the official Jocly version has a faulty implementation of repetition detection (it considers different pieces of the same type as distinguishable), which doesn't hurt much in the variants it implemented so far, but manifested itself frequently in the variants with piece drops I wanted to implement. But it turned out that fixing that bug invalidated all existing opening books. (In particular those for orthodox Chess and Xiangqi, which seemed pretty important.) And the code that was originally used to create those books was never released, and the Jocly developer could not find it anymore.

So I was not sure how to proceed. Incorporating two versions of the base-model.js file in the official source, to preserve one with faulty repetition detection for use with orthodox Chess and Xiangqi did not seem an acceptable solution. The logical solution is to find a way for the variant-specific *-model.js files to bypass the general book-probing code, and contain their own. And then provide such an alternative in the model files for Chess and Xiangqi, to probe their own books according to the old position-key system. But I never got to doing that.