Comments by HGMuller
I should be able to make a pictogram sprites set for in the tenjiku-set-view, on short term. From looking at your sample1 it appears coloring the eyes is enough distinction for indicating non-promotability. On pieces that never promote (such as Queen and Lion in Chu Shogi) I would prefer not make that distinction. But that would work only if we also do not do it in the kanji tiles. For Tenjiku we would also have promotable Queens and Lions. In the case of the Queen I would color the dots at the tips of the crown rather than a band near the bottom; these look more like eyes. The new 2d images for the crowned pieces look better than the old, (I thought in particular the old Crowned Rook was bad), and also have an 'eye' in their crown, which can be colored.
I would not work with upside-down pieces. These cause problems in flip view, and this isn't really a mnemonic piece set. I like the General symbols I made better than those in sample1, which remind me too much on something a Jester would hold. I also think my Phoenix better fits in with the Wikipedia set than any of the possibilities shown in sample1. The two pieces just before Leopard would make very nice Kirins, though; the leftmost probably fits better with the set (but the outline would have to be fattened).The other is too detailed. The 'pumpkin' is a Fire Demon? The Lance gives too much suggestion of a diagonal move, IMO.
I very much like the symbol for Go Between, and perhaps something similar should be used for Reverse Chariot. Was this the idea of having it in two sizes? There is not much risk of confusion, as they can never leave their file. Perhaps vertical stretching would give a better distinction; the eye is more sensitive to shape than to size.
As an aside, some of these piece names are really strange; the Reverse Chariot is not really reverse but bidirectional. Non-Japanese Chu-Shogi players have shown very little imagination in making English names. They don't hesitate to replace Fragrant Chariot and Angle mover by Lance and Bishop, (no doubt western regular Shogi players must be credited for that), but then they insist in calling an obvious Queen 'Free King' instead. I would have called the Reverse Chariot a Streetcar (which is something confined to its track). And the Vertical and Side Mover a Climber and a Sweeper. (The latter as a soccer analogy, where this is the term for the last defender.)
The Ox and Boar are nice (although the latter needs some fattening), but I still wonder whether it would not be better to use pieces with mnemonic value like a narrowed Queen's crown. People need to be reminded of the move, not so much of the name. And I think in a huge game like Chu Shogi they need all the help they can get; it really overwhelms the orthodox-Chess player. For 4-fold-symmetric pieces mnemonic value does not need flipping of the symbols. Perhaps we should reserve the Ox/Bull and Boar symbols for Dai Shogi, where there are a Violent Ox and Angry Boar.
I am not sure if there is any particular way in which I should order the pieces. I have not yet studied these dual-skin examples. Is it essential that all the alternative skins use the same ordering of sprites? I don't think we already have a 'bare kanji' sprites file for Chu/Tenjiku Shogi like we have for regular Shogi. So I suppose we can use any order of the pieces in teh sprite file, as long as the tenjiku-set-view points to the correct cutouts. Problem is that I forgot how I did make this shogi-sprites file. I suppose it must have been with GIMP on Linux, as MS Paint doesn't support transparency.
OK, I pushed a new commit to pullreq, which uses tenjiku-shogi-picto-sprites.png in tenjiku-set-view.js. I limited the indication for promoted pieces to a single red dot. In case of the Queen it is perhaps better to put it in the center of the crown, like it were a ruby. I made narrow crowns by cutting away the central spike from the Queen symbol, in two orientations, and also a rotated sword.
I am reasonably happy with the representation, but some images still need some work; the white Tiger needs fatter lines in the jaw, and the Whale has to be redone completely. Perhaps the white Go Between as well.
Perhaps the Reverse Chariot could use another symbol; it now uses the pictogram that normally represents the War Machine. (Well, what can I say, it it had wheels...). We could change it to a real chariot.
As to harmonizing this with Minjiku Shogi, the problem is that the latter uses the fairy-set-view to have western-style 3d pieces, and that a horizontal Sword is not in the 2d sprites set there. So in 3d I used the War Machine. (Which is an orthogonal piece, like the Side Mover, which in Minjiku even has a two-step vertical move initially.) But I think it is much better to have the sword symbol in Chu/Tenjiku, since the Vertical mover is also a Sword, and they are identical, albeit rotated pieces. We could replace the sword sprite in the fairy-sprites file by a horizontal one, and let Minjiku use the 3d Sword that I made. There are no western variants I am aware of that use a Vertical Mover, or in fact any kind of sword.
I think the dotted circle is a new feature of CG, for highlighting locust captures. The question is why there was a locust capture.
Do you have a link to the preset? Never mind, I figured out how to use the log id.
@Fergus: Is there a way to see the result of print and printr statements in the GAME code when the move gets accepted? I only get to see those automatically when it executes die, which I can often trigger myself by playing an illegal move. But in this case I really want to know what happens on a specific move, and without any output from the prgarm debugging is hard.
While I was at it, I thought I might as well extend the tenjiku sprites with the the pieces for Tenjiku Shogi. My first attempt is here. The Wolf and Bull are good enough for Dog and Water Buffalo, the Griffon seems a logical choice for Lion Hawk. I used a Star for the Free Eagle, which moves as Queen with some close-range locust capture, in the hope that a star would cause the association with 'all directions'.
I am least happy with the various kinds of Soldiers. I represented the Chariot Soldier by a Cannon, because it is also associated with war, and has wheels. For the Vertical and Side Soldier I picked two warrior helmets, but there is no vertical or sideway aspect to those. Perhaps they should be represented by Bows in two different orientations? Then all Soldiers would be represented by shooting equipment.
I also included sprites for the not-yet-implemented Dai Shogi (the third shogi variant strongly related to Chu Shogi). The Wolf can be used there for Evil Wolf, (There is no Dog there), and I left in the Wazir, Ferz and small Bishop and Rook sprites for representing Angry Boar, Cat Sword, Flying Dragon, and Violent Ox (since the latter two are B2 and R2); it seems better to represent these by move than by name. That only leaves the Stone, General, for which there unfortunally is no logical continuation of the Generals series. So I took the Scout symbol for that. We can worry about this more when we would actually implement Dai Shogi.
[Edit] Strange thing: when I was trying it out it appeared to have lost its opening book, and I got error messages in the console about requesting Zobrist keys for invalid board squares. This turned out to be associated with this strange mode Jocly sometimes gets in, where white is at the far end of the board despite "View as player A" having been selected, but the white pieces still all look away from you, and thus have the wrong orientation w.r.t. the board. I usually solve that by firest viewing as player B, and then again as A. This then also granted it access to its book again.
Something very fishy is going on. I discovered that what GAME code prints is hidden in the header of the preset page, so I could see it by looking at the Page Source. (A bit inconvenient, as it is buried in an insane number of empty <P> tags, but I managed.)
I experimented a bit in Play mode, and the fastest way to reproduce the disappearence was 1. j3-j5 i10-i8 2. j5-j6 i18-i7 3. Nk2-j4 and i7 would disappear. In particular, the problem occurred when a Pawn was moved a single step to attack another Pawn; that Pawn would then disappear.
So I put statements in the GAME code to see what move was offered to GC for playing. This was simply "N k2-j4", no instructions to remove anything else. So I printed the board just before that move would be executed. The Pawn was already gone. So I tried printing the board earlier in the process of verifying the legality of the move, to see at which point the Pawn would disappear. But after that the Pawn on i7 did not disappear anymore!
That was weird. Printing something should not alter what the code does to the board. I commented out that extra printr statement, and later removed it alltogether, to go back to the situation where I last saw the problem, only printing the board just before the move was made. The Pawn did not disappear anymore. So I removed all print statements I had added for debugging: the Pawn stays. I played to the game position: also there no Pawns disappear.
So it seems the problem has cured itself, without making any changes to the preset. Please try again to make a move in the game, to see if you have the same experience.
I get the impression it has something to do with the state Jocly had when you left it in the previous session. But I still have not figured out what.
I decided to go for the Bows. I pushed the lot to pullreq; tenjiku-set-view should now contain all the 3d pieces for Chu and Tenjiku Shogi; only 6 pieces for Dai Shogi are still missing. The 2d sprites should already be able to handle all three shogi variants.
I saw your improved Whale, but I decided to remake it anyway in SVG, to get a properly anti-aliased image The fact that the sprites are 100x100, and usually rendered at smaller size already mimics some antialiasing, but for certain demagnifications it can still come out poorly. So I decided to take no risks.
How come a problem like this can cure itself is a real mystery for me.
To me as well; it should not be possible. Unless there was some hardware error, where a faulty memory bit was causing the program not to behave as it should, and that after some time it ended up in another area of the memory. The problem should not have existed in the first place; if the last-moved Pawn would disappear after every piece move it should have been discovered much earlier.
It is a very nice trident, which allows a good distinction between the white and the black piece. A very good mnemonic for the White Horse and Whale move. With the image of a Whale I can live (and in XBoard I tried to draw a Dolphin in a shape that resembled the move), but the use of a horse image for a piece that moves so very differently from an orthodox Knight has always bugged me. Currently I use the Nightrider, but I thinkt this trident would be much better.
In the promoChoice the pieces must optionally be separated by commas. That is, if there is a comma anywhere in the string, the string is split at the commas to get the piece IDs. If not, strange things could happen if the piece IDs are not single letters. (It then just looks if the ID occurs as a substring, while otherwise it looks whether the ID sandwidched between commas is occurs as a substring of promoOffset sandwidched between commas.)
It is on the to-do list to use the same system in individual rows of the morph and captureMatrix. So that you would not have to use commas throughout the entire matrix if you need it in just a few rows. (Usually these matrices are pretty sparse.) If you really need this I could give implementation of this priority.
A * refers to the first set in promoChoice, a 1 to the second. (Or one could imagine counting of the sets starts at 0.) This is partly historic accident, as a 0 in the captureMatrix was already defined as kamikaze capture before alternate sets were introduced and the the promotion zone was indicated by *.
There is a subtlety here that I did not foresee, and yet has to be resolved: would you promote on entering the zone, or in every case where you end the move in it. This becomes important when you can defer promotion, (which is standard in shogi variants), or in a more general case whenever you can promote to pieces that themselves can promote. It seems undesirable to have different behavior here on promotions specified by morph=* and those controlled by promoZone/maxPromote, as the main reason for introducing * in the morph boards was to handle irregular promotion zones (e.g. on diamond-shaped boards, or in diagonal variants). But I don't think this is currently the case. (The current rules for the normal zone are complex anyway, and depend on promoOffset and holdingsType, to get the desired behavior in regular Shogi, Chu Shogi and Grand Chess.)
Since 0 has no meaning yet in the morph boards (defining squares where pieces would disappear seemed pointless; no one would move there, and you might as well make them inaccessible), it could be made to refer to the first promoChoice set, but with alternative rules w.r.t. where you came from.
[Edit] It appears the comma notation was already implemented for morph. I now also implemented it in captureMatrix. (All untested, though, and only in betzaNew.js.)
I am not sure the trident should be used for both the Whale and White Horse. It would suggest that it points in the direction in which it moves, but for black this would just be the opposit. And if you pair the flipped versions for the same type, it would look all wrong when viewed from player B. I am not unhappy with the diving-Whale image; it also suggests something that goes down, without suggesting too much that 'down' would be a direction relative to the symbol. An upside-down symbol would strongly suggest the reason for displaying it in an unnatural way is that you want to indicate a direction with it.
I 'parked' the dot near the Axe for copy-pasting it onto pieces that needed it; the Axe is not used in the set. But the idea was indeed to remove it from the final set. I had not noticed the stray pixels near the Fire Demon.
Yes, another Diagram in the Comments listing it spoiling it, as it uses betza.js instead of the needed betzaNew.js. Click the 'View' link to see the Comment in isolation, then the Diagram should work.
Refresh the cache. I had to change betzaNew.js a bit for suppressing the "It seems I have already lost" message when there are no royals on the board in a game where royals do participate. (Through a kludge: with baring=-9 it always gives itself initially 0.001 royal extra.)
It must work; For me it did, and I even had it play a game against the AI of the Dagaz project, which it won.
I don't think so. Wait until the AI figures out the algorithm.
That is correct. This game isn't particularly difficult. It might need a complete retuning of the evaluation, though; normal piece values won't do. The value of a piece depends at least in part on the value of pieces it unloads. And extra absolute royals have huge negative values. Which again strongly suppresses the value of the Queen, which unloads those. An attacked Queen cannot move at all. So the piece values might very well be the reverse of the normal value.
The Dagaz bot sucks (also in Tenjiku Shogi), and that is made even worse here because it does not know extra royals are a liability. It spreads them around with great enthousiasm, and the quickly gets checkmated. This is the game the Interactive Diagram played against the Dagaz bot:
1. c4 h5 2. Nd4 g6 3. Bxg6 fxg6 4. Rc3 Nf8 5. Rb3 Bg8 6. Ra3 Rh8 7. Rxa7 Qh6 8. Ra8 Qg5
9. h4 Qxh4 10. Qe3+ Qf4 11. Qxf4#
(Unfortunately you cannot paste it in the ID, as it doesn't know how to make good move notation in this variant.)
Oops! It was I who had to refresh the cache.
After making this Diagram, I worked on betzaNew.js for allowing comma-separation in the captureMatrix rows. And that patch contained a syntax error that cause rejection of the entire script, so that no Diagram using it would work anymore. I now fixed that syntax error, and uploaded betzNew.js again. After refresh it should work now.
The rightmost chariot mightbe good for the Reverse Chariot. I admit it is more remaniscent of the name than of the move, but in this case that is not so important. Lance and Reverse Chariot are practically useless people, and players will quickly learn to simply ignore what is in the edge files, without paying much attention to how it looks. It is mostly the location on the board that identifies it.
In Modern Tenjiku Shogi it slides vertically. This is another contested rule issue. The first western publication was by George Hodge's TSA ("The Shogi Association") and gave a vertical slide. IIRC it seems that only two historic sources are known that describe Tenjiku Shogi, and that one of those contains an inconsistency between the text and the accompanying image. (The text says vertical, the image and the other source consistenly say horizontal.) So it is 3 vs 1, as well as that it seems more likely to err in a text than in a picture. The best argument for a vertical move seems to be that "there could be yet undiscovered sources that also state it moves vertically".
But the modern rules do not claim to be the historic rules. I used the modern rules for the Jocly implementation so it could participate in the correspondence championship.
tenjiku-set-view.js should probably use :
res/shogi/tenjiku-shogi-picto-sprites.png
instead of
/res/fairy/tenjiku-shogi-picto-sprites.png
?
Well, it already worked for Chu Shogi, didn't it? So how could it be wrong?
Indeed, that doesn't seem correct. I moved the file to */res/shogi/tenjiku-shogi-picto-sprites.png, and the tenjiku-set-view.js should have used the new link. I guess it worked in my tests because the old file was still there.
I don't think the Slip sliders are lame. The page where this term was defined said that their partners, the Skip sliders, where the same as riders. (E.g. Slip Rook = Panda = Dabbabarider.) So the conventional Slip sliders would be [F?AA], [W?DD] and [K?SS]. (Hurrah for the new Alibaba symbol!)
I meant in XBetza. We now use S (from 'second') for AD and T (from 'third') for GH.
The Interactive Diagram can enforce a limit of one Tsarevna at the time by initially puting one Tsarevna in hand, letting captured pieces go to the hand of the owner, and specifying the Tsarevna must come from the hand in promoChoice. It could enforce maximally three times promotion to Tsarevna by having it come from the hand, and putting three of them initially there, without returning them on capture. But it cannot enforce both at once.
The thee times rule seems completely pointless, though. I understand you want to create a possibility that one has to checkmate with two Frogs, but this rule is very unlikely to do it. The Tsarevna is a strong piece, and promotion to it will have a large probability of being decisive. The probability that a game would not yet been decided after three such promotions is vanishingly small. To have any effect, the limit on promotion to Tsarevna should be lowered to one. Otherwise you might as well not have any limit at all.
You can move pieces from the table to occupied squares, to replace what was there. If there are too many pieces in total, you could capture the surplus. But only through legal moves on the board.
I have alo seen that message, but only in the state where the view is upside-down. It then also couldn't read its book. Fixing the view made the problem disappear.
25 comments displayed
Permalink to the exact comments currently displayed.
Tenjiku Shogi is basically an extension of Chu Shogi. Some pieces that in Chu Shogi are only available as promoted pieces, already are present in the initial setup, and promote further. There are also many new pieces in the initial setup, most with their own, entirely new promotions. But all Chu Shogi pieces participate except the Go Between.
This is why I called the kanji piece set tenjiku-set-view rather than chu-set-view; the idea was that it would at some point be extended with all remaining Tenjiku pieces. The kanji tiles only differ in diffusemap anyway, and the diffusemaps for all Tenjiku kanji tiles already exist, used in the Jocly Tenjiku implementation here on CVP. (But under different names from how we would want them.) They would just have to be committed (in a directory chessbase/res/shogi/tenjiku-diffusemaps, using the naming system also used for the chu-diffusemaps).
I added the Duck as a quasi-mnemonic representation for a diagonal hook mover (Long-Nosed Goblin or Capricorn) from the large Shogi variants, and in particular my shrunken version Macadamia Shogi. But I also used in for the Half Duck in Chess with Different Armies.