Check out Glinski's Hexagonal Chess, our featured variant for May, 2024.


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

Comments/Ratings for a Single Item

LatestLater Reverse Order EarlierEarliest
Vanguard Chess. Game on 16x16 board, with 48 pieces per player. (16x16, Cells: 256) [All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sat, Nov 18, 2023 01:12 AM UTC in reply to Bob Greenwade from 12:38 AM:

On my Kindle Scribe, which displays red as white, all the spaces are white, making the board appear completely uncheckered. I do see the pieces on it, though, even though I don't see them on my desktop.


🕸Fergus Duniho wrote on Sat, Nov 18, 2023 01:10 AM UTC in reply to Bob Greenwade from 12:38 AM:

On my Kindle Scribe, which displays red as white, all the spaces are white, making the board appear completely uncheckered. I do see the pieces on it, though, even though I don't see them on my desktop.


💡📝Bob Greenwade wrote on Sat, Nov 18, 2023 12:38 AM UTC in reply to Fergus Duniho from Fri Nov 17 11:56 PM:

I switched around to another color option (which is also easier on my eye). Hopefully it doesn't make it worse on your other devices.


🕸Fergus Duniho wrote on Fri, Nov 17, 2023 11:56 PM UTC in reply to Bob Greenwade from 10:27 PM:

On my Likebook Mars, which displays red as black, the shades, while distinguishable, are close together, particularly in A2 mode. So, I would recommend another color for the light squares.

I'll also mention for H. G. that the text with a red background appears all black on my Likebook Mars, making it unreadable.


💡📝Bob Greenwade wrote on Fri, Nov 17, 2023 10:27 PM UTC:
When everything appears on this diagram, it'll be ready to be moved into the main article. (Unless it needs to be recolored, which it very well might.)
files=16 ranks=16 maxPromote=0 promoZone=1 promoChoice= holdingsType=1 graphicsDir=/play/pbm/showpiece.php?white=F9F9F9%26black=666666%26image=/graphics.dir/svg/Greenwade/ squareSize=50 graphicsType=svg lightShade=#D2D2D2 darkShade=#9825FF royal=10 royal=21 pawn:P:fmWfcFifmR4:pawn:a3,b3,c3,d3,m3,n3,o3,p3,,a14,b14,c14,d14,m14,n14,o14,p14 morph=N knight:N:WNC:knight:b2,o2,,b15,o15 bishop:B:B:bishop:e1,l1,,e16,l16 rook:R:R:rook:a2,p2,,a15,p15 queen:Q:Q:queen:h1,,h16 princess:Pc:BN:princess:g1,,g16 chancellor:C:RN:chancellor:k1,,k16 falconer:F:FADCG:falcon:d1,m1,,d16,m16 nightrider:Nr:NN:nightrider:b1,o1,,b16,o16 prince:Pr:FN:prince:j1,,j16 soldier:Sl:fsmWfcFifmR4:soldier:e3,f3,g3,j3,k3,l3,,e14,f14,g14,j14,k14,l14 morph=H wizard:W:FafsFafsafFudFudNudC:wizard:f1,,f16 berserker:Br:KANDcaKmcabK:berserker:c2,n2,,c15 ,n15 archer:A:mF3cabN:archer:e2,f2,k2,l2,,e15,f15,k15,l15 bowman:Bo:nNafsafmpafzcabmpafzK:archer--knight:g2,j2,,g15,j15 lancer:L:N2ncDncH:lancer:d2,m2,,d15,m15 helepolis:H:RcamfRidaufmRsb(caf)14R:dabbabah--yaf:a1,p1,,a16,p16 general:Gn:BnDD:general:h2,i2,,h15,i15 sergeant:Sg:fFfW3smW:sergeantpawn:h3,i3,,h14,i14 morph=L spy:SP:W2N:questionmark--man:c1,n1,,c16,n16 king:K:K:king:i1,,i16

💡📝Bob Greenwade wrote on Thu, Oct 12, 2023 03:52 PM UTC in reply to Fergus Duniho from 03:25 PM:

Thanks, Fergus! It turns out that I'll have to wait until some of my waiting variants are approved, but now at least I know how to do it.


🕸Fergus Duniho wrote on Thu, Oct 12, 2023 03:25 PM UTC in reply to Bob Greenwade from Wed Oct 11 06:15 PM:

You make a page with a link to it. When you're signed in, goto the menu with your name at the top and select the menu item "Post Your Own Game". It will give you an option for submitting a Game Courier Preset. Choose that, fill in information about, and on the next form, enter the content of your page.


💡📝Bob Greenwade wrote on Wed, Oct 11, 2023 06:15 PM UTC:

I think the Game Courier Preset for this game is ready to go. I'm not clear on how to get it listed on the Index or anything, though.


💡📝Bob Greenwade wrote on Sat, Oct 7, 2023 03:29 PM UTC in reply to Jean-Louis Cazaux from 03:26 PM:

As for availability, not yet, but they will be once I upload them and Dealer's Chess gets approved.

As for SVG, sorry, no. I wish I could, but I'm stretching myself enough already making them as PNGs.


Jean-Louis Cazaux wrote on Sat, Oct 7, 2023 03:26 PM UTC in reply to Bob Greenwade from 02:55 PM:

Are those Alfaerie icons you have created available for other people? Have you drawn them as .SVG?


💡📝Bob Greenwade wrote on Sat, Oct 7, 2023 02:55 PM UTC in reply to H. G. Muller from 07:54 AM:

I've already downloaded the entire Alfaerie set from the applet, plus a few dozen icons from the "Alfaerie Expansion Sets" mass-converted from gif to png, and put them into the same network drive directory along with all of the pieces I've created, using names I'm satisfied with (almost two dozen of them, including a few that I'm not using right away but think should be available).

(And looking at the original crocodile, gryphon, and dragon from that set does make me feel a little better about my dolphin and turtle.)


H. G. Muller wrote on Sat, Oct 7, 2023 07:54 AM UTC in reply to Bob Greenwade from Fri Oct 6 07:49 PM:

That sounds right; in principle this method for assigning images in Game Courier needs all images in one directory, and it doesn't matter which. It doesn't have a special facility like the ID to look for images in other directories.

I am not sure the following trick would work, though. Path names can be absolute (when they start with slash) or relative, and it is possible to specify a path to another directory that is not a sub-directory of the current one by using .. for indicating the parent directory. So if the specified piece directory is /graphics.dir/alfaeriePNG, and you specify an image filename as ../../membergraphics/MSdealers-chess/mypiece.png it could indicate a piece elsewhere. I am not sure whether the browser or server would not block the use of .. for security reasons, though.

(In the ID this trick would not work, because the image names must be specified without the color prefix, which would no longer be prefixes, but have to go somewhere in the middle if you would try to use a path name, so I had to make a special provision there for the use of 'guest piece'.)


💡📝Bob Greenwade wrote on Fri, Oct 6, 2023 08:21 PM UTC:

A couple of considerably improved Spy icons:

I think I'll keep the other one, though, in case I ever need a Courier.


💡📝Bob Greenwade wrote on Fri, Oct 6, 2023 07:49 PM UTC in reply to H. G. Muller from 04:36 PM:

OK, then, so if everything else is OK (as I mentioned before), it's mainly just a matter of getting the graphics set to match the ID, which I think is just a matter of putting them all in one place. (If nothing else, I can collect all the "official" graphics and the usable ones of my own creation/modification into the Dealer's Chess graphics directory, and direct everything there.)

Is it all good, as far as you can tell from your vantage?


H. G. Muller wrote on Fri, Oct 6, 2023 04:36 PM UTC in reply to Bob Greenwade from 04:00 PM:

Two captures per turn is OK, as long as one of those is the normal replacement capture. The restriction is on the number of locust captures; there can only be one of those. This because the GAME code in the betza.txt include file represents a move as 3 squares plus one piece type to drop; the 3rd square specifies where to drop it, and if the dropped type is an empty square the piece that was sitting on it would be locust captured.


💡📝Bob Greenwade wrote on Fri, Oct 6, 2023 04:00 PM UTC:

I just realized that the Berserker, being merely a renaming of the Japanese Lion from Chu Shogi, is another piece here that can make more than one capture per turn. Argh....


💡📝Bob Greenwade wrote on Thu, Oct 5, 2023 03:26 PM UTC:

I've edited in the text portion (as well as fixed some of the text on this page), so if the Post-Move sections are OK, all that's left is getting the graphics to match those used in the Interactive Diagram.


💡📝Bob Greenwade wrote on Wed, Oct 4, 2023 10:30 PM UTC in reply to H. G. Muller from 08:04 PM:

I had the wrong ones capitalized before; this is that section now in Post-Move 2:

if == h #mover:
  set p path #ori #desti;
  set k count #p;
  do while #k:
    dec k;
    set sqr elem #k #p;
    set v space #sqr;
    if isupper #v:
      break;
    endif;
    empty #sqr;
    if == K #v:
      set victim K;
    elsif == Q #v;
      set vic2 Q;
    endif;
  loop;
endif;

In Post-Move 1, the h at the top is capitalized, and the K and Q at the bottom are not.

If that's correct, then all that's really left (except for the text part, which I'm pretty sure I have a handle on) is getting the four piece graphics I made for this game (for Berserker, Bowman, Soldier, and Spy) to appear in the GCP as they do in the ID. For that, unless I'm misunderstanding something, I can just upload the existing graphics for the Alfaerie set that are used in this to /membergraphics/MSvanguardchess/ (where the new ones are already located) and change setsystem dir "/graphics.dir/alfaeriePNG/" to look there.


H. G. Muller wrote on Wed, Oct 4, 2023 08:04 PM UTC in reply to Bob Greenwade from 06:47 PM:

Yes, you can remove all of those, since I now made the default of promotables the empty array. If no piece can ever be found in promotables, it would not use supply or promotab.

You are right; in dec k and set k ... k is a variable.

But you capitalized the wrong ones: when the white Helepolis moves, you have to test for capture of black K and Q, or vice versa.


💡📝Bob Greenwade wrote on Wed, Oct 4, 2023 06:47 PM UTC in reply to H. G. Muller from 06:05 PM:

Run button: Ah, OK, so it wasn't my fault this time. That's a relief.

Capitalizing K & Q: I capitalized them in the Pre-Move 1, instead of the Pre-Move 2. I'm not sure whether I need to capitalize the K other than in the "if" section; I left it lower-case, because it looks like the k in the preceding lines is a variable..

Promotables: Should I just remove the promotables, supply, and promotab parts then? (And yes, that was while I had maxPromote=0.)


H. G. Muller wrote on Wed, Oct 4, 2023 06:05 PM UTC in reply to Bob Greenwade from 03:29 PM:

when I press the Run button, I get a text list of legal moves for White, one per line, before the board.

Ah, sorry about that. I had been debugging the other day, and had accidentally left in one of the print statements I had added for that purpose in the betza.txt file. In the mode where I tested it ('Move' from the menu) this output does not show up at the start of the game, but only after the GAME code crashes (which after debugging it did not do anymore). So I had not noticed this. I removed that print statement now.

You forgot to capitalize K and Q in the h part.

I don't think the 'promotables' belong in the Pre-Game code. This would indicate which pieces promote with the choice that is specified in the promotab (which is N, H or L on last rank). But you don't want any choice; you just want them to promote automatically as specified in the morphers/morphs arrays. Did the Play-Test Applet generate that 'set promotables' line? And was that while you had maxPromote=0 in the ID?


💡📝Bob Greenwade wrote on Wed, Oct 4, 2023 03:29 PM UTC in reply to H. G. Muller from 09:26 AM:

OK, so currently Post-Move 1:

gosub HandleMove false;
set vic2 #victim;
if == H #mover:
  set p path #ori #desti;
  set k count #p;
  do while #k:
    dec k;
    set sqr elem #k #p;
    set v space #sqr;
    if isupper #v:
      break;
    endif;
    empty #sqr;
    if == K #v:
      set victim K;
    elsif == Q #v;
      set vic2 Q;
    endif;
  loop;
endif;
if == k #victim:
  set brd $space;
  set p search pr #brd;
  if #p:
    add k #p;
  endif;
endif;
if == q #vic2:
  set brd $space;
  set p search pc #brd;
  if #p:
    add q #p;
  endif;
endif;

And Post-Move 2:

gosub HandleMove true;
set vic2 #victim;
if == h #mover:
  set p path #ori #desti;
  set k count #p;
  do while #k:
    dec k;
    set sqr elem #k #p;
    set v space #sqr;
    if isupper #v:
      break;
    endif;
    empty #sqr;
    if == k #v:
      set victim k;
    elsif == q #v;
      set vic2 q;
    endif;
  loop;
endif;
if == K #victim:
  set brd $space;
  set p search PR #brd;
  if #p:
    add K #p;
  endif;
endif;
if == Q #vic2:
  set brd $space;
  set p search PC #brd;
  if #p:
    add Q #p;
  endif;
endif;

Hopefully I have all of the capitalizations and instruction order correct.

I do think I have something screwy in the Pre-Game, though; when I press the Run button, I get a text list of legal moves for White, one per line, before the board. The Pre-Game looks like this:

include /membergraphics/MSgame-code-generation/betza.txt;
set legdefs


(I'll skip the move definitions for now)

def P cond #0 1 0;
def p cond #0 22 0;
def N cond #0 43 0;
def n cond #0 43 0;
def B cond #0 144 0;
def b cond #0 144 0;
def R cond #0 165 0;
def r cond #0 165 0;
def Q cond #0 186 0;
def q cond #0 186 0;
def PC cond #0 227 0;
def pc cond #0 227 0;
def C cond #0 288 0;
def c cond #0 288 0;
def F cond #0 349 0;
def f cond #0 349 0;
def NR cond #0 470 0;
def nr cond #0 470 0;
def PR cond #0 511 0;
def pr cond #0 511 0;
def SL cond #0 572 0;
def sl cond #0 603 0;
def W cond #0 634 0;
def w cond #0 634 0;
def BR cond #0 931 0;
def br cond #0 931 0;
def A cond #0 1700 0;
def a cond #0 1700 0;
def BO cond #0 1793 0;
def bo cond #0 1793 0;
def L cond #0 2338 0;
def l cond #0 2338 0;
def H cond #0 2419 0;
def h cond #0 3997 0;
def GN cond #0 5575 0;
def gn cond #0 5575 0;
def SG cond #0 5616 0;
def sg cond #0 5616 0;
def SP cond #0 5642 0;
def sp cond #0 5642 0;
def K cond #0 5703 0;
def k cond #0 5703 0;

set wroyal (Pr K);
set broyal (pr k);
set morphers (P p SL sl SG sg);
set morphs assoc
  P ((All N))
  p ((All n))
  SL ((All H))
  sl ((All h))
  SG ((All L))
  sg ((All l))
;
set extinction 1; // must capture all royals to win
set promotables (P p Sl sl Sg sg); // pieces that can promote
set supply array; // in infinite supply
set promotab (         // allowed choices per rank
  (n l h)
  0
  0
  0
  0
  0
  0
  0
  0
  0
  0
  0
  0
  0
  0
  (N L H)
);

// Additional Pre-Game code (only needed with non-standard piece set):

set mypieces assoc
  P "wpawn.png" p "bpawn.png"
  N "wknight.png" n "bknight.png"
  B "wbishop.png" b "bbishop.png"
  R "wrook.png" r "brook.png"
  Q "wqueen.png" q "bqueen.png"
  PC "wfalcon.png" pc "bfalcon.png"
  C "wchancellor1.png" c "bchancellor1.png"
  F "wbird.png" f "bbird.png"
  NR "wnightrider.png" nr "bnightrider.png"
  PR "wduke.png" pr "bduke.png"
  SL "wchampion.png" sl "bchampion.png"
  W "wmoon.png" w "bmoon.png"
  BR "wman.png" br "bman.png"
  A "warcher.png" a "barcher.png"
  BO "wcannon.png" bo "bcannon.png"
  L "wlance.png" l "blance.png"
  H "wbenthero.png" h "bbenthero.png"
  GN "wgeneral.png" gn "bgeneral.png"
  SG "wsergeant.png" sg "bsergeant.png"
  SP "wthief.png" sp "bthief.png"
  K "wking.png" k "bking.png";
setsystem dir "/graphics.dir/alfaeriePNG/";
setsystem pieces #mypieces;

Once this is sorted, I can start in on the text, and probably working with you and/or Fergus on getting the graphics icons I created for this game into the preset.


💡📝Bob Greenwade wrote on Wed, Oct 4, 2023 01:07 PM UTC in reply to H. G. Muller from 09:26 AM:

OK, I'll work on replacing all of those 16's with 4194306, and then insert that code. But there's a possible snag: the Helepolis's juggernaut move should be stopped by the presence of a friendly piece. Is this accounted for there?

Edit: Never mind the question. Upon re-reading, I see that it's accounted for.


H. G. Muller wrote on Wed, Oct 4, 2023 09:26 AM UTC in reply to Bob Greenwade from Tue Oct 3 10:04 PM:

The moves with mode 4198464 are not juggernaut moves. After converting that number to hexadecimal (401040) I can see that they are marked as initial moves.

I think (unless my brain is glitching something) all that's left is getting the code in to clear out the juggernaut's path, and mark whether the victims include the King and/or Queen.

Sort of. The 2 -> 16 replacment changed the c mode of these legs to p mode. But that would allow enemy as well as friendly hopping, and this is not what you want; firendly pieces in the path should not be destroyed or jumped over. This would have been achieved by (cafu)14R, not (paf)14R, using the capture+unload kludge. So I am afraid we realy should have needed to replace by 4194306 instead of 16. Which is hexadecimal for 400002, the 2 standing for capture, and the 400000 for 'but unload on the next leg'. Sorry about that.

For clearing the Helepolis juggernaut path you can use something like this:

if == H #mover:
  set p path #ori #desti;
  set k count #p;
  do while #k:
    dec k;
    set sqr elem #k #p;
    set v space #sqr;
    if isupper #v:
      break;
    endif;
    empty #sqr;
    if == k #v:
      set victim k;
    elsif == q #v;
      set vic2 q;
    endif;
  loop;
endif;

The conditional break is needed to prevent removal of the friendly piece when the initial moves hops over one; the way the table now defines the Helepolis other moves can only have hopped over a number of enemies


💡📝Bob Greenwade wrote on Wed, Oct 4, 2023 04:47 AM UTC in reply to Bob Greenwade from Tue Oct 3 10:38 PM:

I adjusted the ID to include the graphics below, and I think it looks good.


25 comments displayed

LatestLater Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.