Released: updated version of WinBoard Shogi-Variants package

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

Moderator: Ras

User avatar
hgm
Posts: 28399
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Released: updated version of WinBoard Shogi-Variants package

Post by hgm »

The WinBoard Shogi-Variants package has been updated. It now includes the engine CrazyWa, to offer Wa Shogi.

It now supports the following variants:

with drops, through Shokidoki, and the somewhat weaker CrazyWa:
* mini-Shogi (5x5)
* Judkin's Shogi (6x6)
* Tori Shogi (7x7)
* Euro-Shogi (8x8, Shokidoki only)
* regular Shogi (9x9)
* Wa Shogi (11x11, CrazyWa only)

without drops, through HaChu:
* Heian Shogi (9x9)
* Sho Shogi (9x9)
* Chu Shogi (12x12)
* Dai Shogi (15x15)

without drops, no engine available, but supported in WinBoard
* Tenjiku Shogi (16x16)
* Dai Dai Shogi (17x17)
* Maka Dai Dai Shogi (19x19)
* Tai Shogi (25x25)

More info: http://hgm.nubati.net/ShogiVars.html
Direct download link http://hgm.nubati.net/WinBoard-Chu.zip
Drunken-Elephant
Posts: 1
Joined: Wed Oct 29, 2025 10:46 am
Full name: Ramapi Mener

Re: Released: updated version of WinBoard Shogi-Variants package

Post by Drunken-Elephant »

Hi there,

I was wondering if you had gotten HaChu to work with Taikyoku Shogi. It's mentioned on http://hgm.nubati.net/HaChu.html that it's designed for large variants such as Taikyoku but I haven't been able to find a download link for a version that supports it.

I love the work you're doing, keep it up!
User avatar
hgm
Posts: 28399
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Released: updated version of WinBoard Shogi-Variants package

Post by hgm »

I never got to the point of implementing Taikyoku Shogi. Last things I did with HaChu was implement shrunken versions (on 13x13) of Dai Dai and Maka Dai Dai Shogi. I also started implementing on Tenjiku Shogi in HaChu, but I never got that to work.

HaChu is in fact only a partially finished project. The original idea was to develop an engine based on an incrementally updated attack map. The work to update such a map doesn't increase with board size, and geatly accelerates the generation of captures in Queiescence Search. So it is ideal for handling very large games. I never got to actually program the incremental update, though. So currently it generates the attack map from which the other parts of the engine works from scratch in each node, which sort of defeats the purpose. This has the consequence that it would become very slow for a game as large as Taikyoku Shogi.

I haven't worked on HaChu for a long time. The problem is that during that time my ideas for how to best organize and update an attack map have evolved quite a lot. When I failed in making HaChu play Tenjiku Shogi in a stable way (while having it registered for the yearly correspondence championship), I created a new dedicated engine (called Inferno) for that, using these new ideas. And they work like a charm: Inferno is able to reach 500-700 knps (single-threaded), which for a game on 16x16 with 78 pieces per player is spectacular. But even that is a long time ago, now. The engine was never released, though.

Rather than resuming development of the old HaChu code, I would be inclined to make a new engine for the variants it plays, and that I intended it to play, based on the Inferno code. In principle shrinking the board to 12x12 (by making part of the internal 16x16 board inaccessible) should already enable it to play Chu Shogi, as the latter is just a subset of Tenjiku. But it would be better to take out all the weirdness that is unique to Tenjiku (burning and flying pieces, ski-sliders), because it would just cause slowdown in all other variants. I would have to devise new ways to efficiently (incrementally) handle hook movers if I wanted to implement the larger Shogi variants, though.

I might still do that one day. But currently I am very busy with other stuff (bought a new home...), and don''t have any time for Chess programming.