Check out Modern Chess, our featured variant for January, 2025.

Enter Your Reply

The Comment You're Replying To
H. G. Muller wrote on Fri, Dec 15, 2023 01:04 PM UTC in reply to François Houdebert from 07:32 AM:

Well, life is turning back to normal, and working on Jocly was the first thing I took up again (as it was also what I was doing just before I left to Stockholm, with several open ends left).

I build locally on a Linux virtual machine (Ubuntu 18.10 running under VirtualBox), using the command

gulp build --prod

That takes about 2 min to build the entire project. I am not really an expert on building; I never succeeded in building under Windows, despite the fact that Michel was advising me. And I forgot what packages I had to install to make it work; this was many years ago, and then I got stuck on the repetition-hash problem.

I run 'http-server' in the jocly root directory from another terminal window. After a successful build I can then go to http://localhost/examples/browser/control.html to test things. (It does not work if you open that directly on FireFox as a file.) An annoyance is that FireFox appears to cache .js files, and that the normal way to bypass the cache (pressing the Shift key during refresh) does not work, most likely because Jocly loads most of the .js files on demand later, when all is forgotten about the Shift. So what I do is open the .js files that I changed in other browser tabs, and do a Shift+reload of these after the build, before restarting Jocly. That then has forced the most recent version into the browser cache. When developing a game usually only /dist/browser/games/chessbase/GAME-chess-model.js changes; first time you add the game /dist/browser/jocly-allgames.js must be refreshed too for the game to become selectable.

I had achieved the stage where Chu Shogi worked well through fairy-move-model.js, but this was not an exhaustive test. So now I am working on implementing Makromachy (one of my own designs), and encountered many more bugs. (Zebra moves were crazy, I had swapped the moves of Griffon and Rhino, the AdvancerGraph, which did pass a test before, got somehow broken...) I also needed some new features for Makromachy, in particular asymmetric anti-trading rules, 'flying' pieces, custom-generated escape moves for hit & run capture, and the customGen function for programming 'airlift' moves.

I will shortly push everything I have; most of it tests OK now. But I am still working on the flying captures. These were so close to what the existing code in base-model.js already did for 'screen captures', that I decided to implement it there. As far as generating moves this already works, but I still must adapt cbGetAttackers so that it can see flying pieces amongst the attackers. As it is, it happily moves his king onto squares attacked by a flying piece when more than one piece blocks the line of sight.


Edit Form

Comment on the page Zanzibar-S

Conduct Guidelines
This is a Chess variants website, not a general forum.
Please limit your comments to Chess variants or the operation of this site.
Keep this website a safe space for Chess variant hobbyists of all stripes.
Because we want people to feel comfortable here no matter what their political or religious beliefs might be, we ask you to avoid discussing politics, religion, or other controversial subjects here. No matter how passionately you feel about any of these subjects, just take it someplace else.
Avoid Inflammatory Comments
If you are feeling anger, keep it to yourself until you calm down. Avoid insulting, blaming, or attacking someone you are angry with. Focus criticisms on ideas rather than people, and understand that criticisms of your ideas are not personal attacks and do not justify an inflammatory response.
Quick Markdown Guide

By default, new comments may be entered as Markdown, simple markup syntax designed to be readable and not look like markup. Comments stored as Markdown will be converted to HTML by Parsedown before displaying them. This follows the Github Flavored Markdown Spec with support for Markdown Extra. For a good overview of Markdown in general, check out the Markdown Guide. Here is a quick comparison of some commonly used Markdown with the rendered result:

Top level header: <H1>

Block quote

Second paragraph in block quote

First Paragraph of response. Italics, bold, and bold italics.

Second Paragraph after blank line. Here is some HTML code mixed in with the Markdown, and here is the same <U>HTML code</U> enclosed by backticks.

Secondary Header: <H2>

  • Unordered list item
  • Second unordered list item
  • New unordered list
    • Nested list item

Third Level header <H3>

  1. An ordered list item.
  2. A second ordered list item with the same number.
  3. A third ordered list item.
Here is some preformatted text.
  This line begins with some indentation.
    This begins with even more indentation.
And this line has no indentation.

Alt text for a graphic image

A definition list
A list of terms, each with one or more definitions following it.
An HTML construct using the tags <DL>, <DT> and <DD>.
A term
Its definition after a colon.
A second definition.
A third definition.
Another term following a blank line
The definition of that term.