Check out Atomic Chess, our featured variant for November, 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

Zanzibar-S. A game in between Metamachy and Zanzibar-XL with 36 pieces per side. Preferred by some to the -XL version.[All Comments] [Add Comment or Rating]
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.