The site has moved to a new server, and there are now some issues to fix. Please report anything needing fixing with a comment to the homepage.



The Chess Variant Pages




[ 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

Later Reverse Order EarlierEarliest
Jumping Chess. Pieces capture by jumping. Board has extra edge squares making it 10x10. (10x10, Cells: 100) [All Comments] [Add Comment or Rating]
H. G. Muller wrote on 2020-12-12 UTC

Ah yes, I did not pay any attention to that since Fergus responded to my question. Everything should work, except that the highlingting doesn't suppress moves of pieces when there is an edge-capture to make. My idea for that was to add some Post-Game code to post-edit the list of legal moves by throwing away all moves that are not edge captures. If the list is empty, thenthe original list was OK, if it is not, the cleansed list becomes the new list.

There still is one other thing I don't like in the code, though. The include code now calls a routine BadZone to vet the pseudo-legal moves it generates, when 'zonal' is set to 1. This routine gets all squares of the move passed (origin, destination, locust square, drop square, and even dropped type). Currently it is blind to any 'hop squares', though. While there also exist variants (Janggi!) where a hopper cannot hop over some piece types. The hop square is not part of the move description, though. For that reason the code can handle moves with arbitrarily many hops (while the number of locust victims is limited to 1).

If I ever change the inteface between BadZone and the rest of the code, it would break all presets that relied on this interface. (Because the BadZone definitions are in the presets, and the change would be in the included file.) So perhaps I should better fix this first.


Greg Strong wrote on 2020-12-11 UTC

I forgot about the preset H.G. made:

https://www.chessvariants.com/play/pbm/play.php?game%3DJumping+Chess%26settings%3Djumping&submit=Edit

Is this ready for me to post?  It looks like everything is correct except for highlighting moves that wouldn't be allowed when a mandatory edge capture is available.  (It still doesn't let you actually make the illegal move, so that's good enough.)


Fergus Duniho wrote on 2020-10-10 UTC

@Fergus - What would be the best way to manipulate the $legalmoves array, if I want to remove some moves that in hindsight must not be highlighted after all? Would the following code work?

set tmp $legalmoves;
setsytem legalmoves array; // clear the legal list
for m #tmp:
 if fn SomeTest #m:
   setlegal m;
 endif;
next;

You made a typo. setsytem should be setsystem. With that fixed, it looks like it would work. Since the documentation did not mention that it would work, I updated the documentation. But it will work only for legal moves described as arrays of coordinates for $legalmoves. It will not work for legal moves entered as strings.


H. G. Muller wrote on 2020-10-10 UTC

Zone confinement now also works for the highlighting, with the aid of the 'user-supplied' BadZone function. And I have implemented non-final-leg e.p. capture in the betza.txt include file now, so that works too.

Only remaining imperfection is that when an edge capture is mandatory it still highlights other moves.


H. G. Muller wrote on 2020-10-10 UTC

OK, that should simplify highlighting of legal moves. But the rule that (some) captures are mandatory actually is another global rule that creates a difference between legal and pseudo-legal. In Losers Chess this rule has lower priority than the checking rule, here it seems to have higher priority, even when the checking rule would be employed. Pseudo-legal highlighting will be easy here. It will still require me to put a 'hook' into the general code with which a user can interface his own code for the zone confinement; I will make this a function call that passes the full move (fromSqr, toSqr, locustSqr, dropSqr and droppedPiece), which returns whether the move is pseudo-legal, but for efficiency will only be called when a global flag 'zonal' is set.) Besides confinement, such a user-supplied function can also be used for enforcing restrictions what peiec types can capture each other.

It has been useful to attempt this, because it made me discover that the Diagram code had suffered a regression: the Betza compiler used to flag which pieces are inversion-symmetric, so that the GAME-code generator in the wizard page could draw on this to decide whether separate table entries should be made for white and black pieces. This code had disappeared!

I am now thinking how the general GAME-code in the include file could be enhanced in order to interface with variant-specific code. Rule enforcing is in general easy, as when there are extra global rules that outlaw some pseudo-legal moves, you can just test for compliance to these independently of the normal code (e.g. before you call the latter), and 'die' if they are violated. But legal-move highlighting requires such a compliance test to be called from somewhere deep inside the standard code, after the MakeMove of of every pseudo-legal move. Normally the code only does a check test there, and pushes the moves to the legal list when it doesn't expose the King.

The problem with mandatory capture is that you have to know in advance whether such a capture is possible to judge whether a non-capture (or in this case also a non-mandatory capture). An obvious way to do that would be to first make a list of all moves that are legal ignoring the rule, and then test whether there is a mandatory one amongst these. If there is, all non-mandatory moves should be purged from the list. This could be done entirely after the standard code. If I would know how to revoke a previous setlegal command.

@Fergus - What would be the best way to manipulate the $legalmoves array, if I want to remove some moves that in hindsight must not be highlighted after all? Would the following code work?

set tmp $legalmoves;
setsytem legalmoves array; // clear the legal list
for m #tmp:
  if fn SomeTest #m:
    setlegal m;
  endif;
next;

I have another question about GAME-code syntax. In

if fn F X or B:

would this be read as if( B || F(X) ) or as if( F(B || X) )?


Greg Strong wrote on 2020-10-09 UTC

Very nice!

The goal is definitely to capture the king because subvariant 6 is to play for checkmate rather than king capture, but that seems needlessly complex.


H. G. Muller wrote on 2020-10-09 UTC

This is a quick approximation:

https://www.chessvariants.com/play/pbm/play.php?game%3DJumping+Chess%26settings%3Djumping&submit=Edit

It enforces the rules (except that e.p. capture does not work, but this would have to be solved in the included library file). It doesn't properly highlight legal moves, though.

It is not clear to me whether this variants employs the check rule; the explanation of mandatory capture suggests it has not, as it talks about capturing the King. An alternative would be to consider the position a checkmate, as you only can do the capture with the edge piece, and it does not resolve the check.

The betza.txt library should have some feature similar to the BadZone hook for the Interactive Diagram, where the user can define a function to enforce confinement of pieces to zones. When such a function is defined each generated move should call it to check whether the move obeys the confinement rules.


H. G. Muller wrote on 2020-10-09 UTC

Well, the idea was of course to let the GAME-code wizard do most of the work, starting from an Interactive Diagram made through the Play-Test Applet. It took a few minutes to create this with the Applet:

files=10 ranks=10 promoZone=2 promoChoice=QNBR graphicsDir=/graphics.dir/alfaeriePNG/ squareSize=50 graphicsType=png pawn:P:ifmnDfmWfceamfF:pawn:b3,c3,d3,e3,f3,g3,h3,i3,,b8,c8,d8,e8,f8,g8,h8,i8 knight:N:mNcafsmK:knight:c2,h2,,c9,h9 bishop:B:mBcafmB:bishop:d2,g2,,d9,g9 rook:R:mRcafmR:rook:b2,i2,,b9,i9 queen:Q:mQcafmQ:queen:e2,,e9 king:K:mKcafmKisjO2:king:f2,,f9

which does take care of the piece moves. (But not of the zonal confinement / mandatory capture.) Which has one defect, though: the e.p. capture does not work when specified on a non-final leg. At least in the move generator used for highlighting, the AI could be more accurate. I recall encountering this issue many times during programming the stuff, and each time I thought "a locust e.p. capture? Nah, that will never be needed." Obviously I was wrong. So I might have to shape up the move generator here and there, also the one I wrote in GAME code. The move tables the Betza compiler generates for this are OK, but the code that interprets them unjustly assumes an e.p. leg always is the last leg of the move.

Enforcing the rule that non-captures cannot go to an edge in the GAME code is pretty trivial; the mandatory capture is more tricky, though. In particular in combination with legal-move highlighting. I guess it would be useful to extend the move generator in the GAME-code include file with a task that would test whether there exists a legal or a pseudo-legal capture, very similar to how it checks whether there exists a legal move. Perhaps the existing code can be used for that, by introduction of a global flag that tells it to ignore non-captures. The Post-Move code for the latest move of the game could then start calling the move generator for this task for all pieces on the edge, if the move in question was a non-capture or did not start from the edge. Existence of a capture from the edge would then make the move illegal. In other cases the mandatory-capture requirement is fulfilled, and the standard procedure (which doesn't take it into account) can be called.

BTW, the Diagram's AI does think the Knight is worth more than a Bishop. For each capture target the Knight also has two possible final squares.


Greg Strong wrote on 2020-10-08 UTC

As far as I got it, the only unusual aspects of this variant is the piece confinement and the mandatory capture. So it should not be that difficult. The only special-purpose code that is needed would be for rejecting moves that end on an edge square and do not specify a locust victim (which could be added as the end of the Post-Move sections), and for apparently pseudo-legal moves with non-edge pieces or non-captures with edge pieces, a test whether any of the edge pieces has a capture.

Ok, perhaps I should have said it would be very difficult for me...

I have added full support to ChessV though.  This required a couple of special rules, but I added support for basic capture-by-overtake to the internal move generator.  My quandry now is what the pieces should be worth...  The Rook, Bishop, and Queen are modified in the same way so I assume their relative value should be similar to Chess... The board is enlarged, but use of the outer ring is limited and landing on it hurts your options on the following move significantly, so I think the values should probably not change much from 8x8 values.  The Knight is interesting - he has a choice of captures, so maybe his value is augmented.  The Pawn, when capturing, moves forward two spaces instead of one, getting it to the other side faster, so maybe it should be worth more as well.  But these are just guesses.

EDIT: Upon further consideration ... the Knight has a choice of captures, but no choice where he lands.  The Bishop, Rook, and Queen, though, unlike in Chess, can capture and still choose which square to land on (if there is space.)  So maybe the Knight is not more powerful.


H. G. Muller wrote on 2020-10-03 UTC

A rule-enforcing preset would be nice, but that would probably be pretty difficult.

As far as I got it, the only unusual aspects of this variant is the piece confinement and the mandatory capture. So it should not be that difficult. The only special-purpose code that is needed would be for rejecting moves that end on an edge square and do not specify a locust victim (which could be added as the end of the Post-Move sections), and for apparently pseudo-legal moves with non-edge pieces or non-captures with edge pieces, a test whether any of the edge pieces has a capture.


Greg Strong wrote on 2020-10-02 UTC

The page for this contest-winning game hadn't been updated in twenty years, so I thought it was about time. I've upgraded the graphics to be anti-aliased. All images are now dynamically generated by the diagram designer. A navigation menu has been added. ASCII diagrams have been removed. Made a few minor edits, such as removing the request to vote in the contest and adding a note that this game was the winning submission.

A rule-enforcing preset would be nice, but that would probably be pretty difficult.


George Duke wrote on 2018-06-27 UTCExcellent ★★★★★

Jumping Chess originates the edge squares that Rococo uses two years later. Bishop captures like International Draughts diagonally and Rook like Turkish/Israeli draughts orthogonally. Except no plural captures, and in JC the line pieces slide any distance beforehand. But no displacement capture at all here. Jumping concepts are bandied about in 'ECV' a few times, but credit this improvement for the rim accessible only capturing.

JC may create too many defensive positions for most aesthetics.

JC year-2000 date of invention harkens to V. R. Parton's booklet 'My Games for 2000 a.d. and After' published 1972. There the CV "2000 AD" sources pieces for 30 years later great Rococo. Firsthand, Rococo is basically a derivative Ultima (1962).

( Contrariwise, Robert Abbott himself weighed in early Rococo comment that no need for border squares, just get rid of them. ) See next how Rococo draws on both Abbott and Parton. 20th century the chief variantists were Boyer, Parton, Betza and Dawson, but Dawson didn't bother with designing actual CVs.

The Rococo pieces straight out of Abbott's Ultima are Withdrawer, Immobilizer, Long Leaper, Chameleon. And the Rococo pieces straight out of 2000 A. D. are Ximaera and Swapper. Ximaera gets re-named Advancer. Finally, Rococo takes its own inventor's border squares from JC and adds that great novelty Cannon Pawn.

Perimeter-squared JC has little play, but Rococo, when adding its subvariants Push-Pull and Mirror, has the same number 10 rank approximately of near-form Ultima at Game Courier. And several ahead of them are a standard Chess form around hundred(s) years. Or combine play numbers of Ultima and Rococo and they are number 3. So arguably derived-form Rococo is a topmost world-class CV. Thanks to contribution of porous out-migration squares from selfsame JC.


(zzo38) A. Black wrote on 2012-10-24 UTC
Other possible subvariant: Piece moved onto edge square may make another capturing move on the same turn (it is optional).

David Paulowich wrote on 2007-05-22 UTCExcellent ★★★★★
After seven years, I am ready to concede that JUMPING CHESS was the best idea presented in the 100 Squares Chess Variant Contest. Not comfortable with the 'capture the King' victory condition, so I finally did something about it. Also replaced Knights with Nightriders and added some short range leapers.

George Duke wrote on 2005-03-14 UTC
'JKL,LargeCV': The pieces tend to just clog in mass of defense. Rook and Queen are different from Xiangqi Cannon, as Bishop and Queen are different from 'Canon'. I.e., Cannon/Canon replace the one they capture after a leap, whereas Jumping.Q/R/B capture the one they leap and move on. T.R. Dawson's older Grasshopper has modified jump along radial lines, leaping one piece one step along the Queen-lines and staying put either in move or replacement capture. These examples show the trouble with hopping along B and R paths; there is no absolute saddle point as to the best modality. Extension to multiple captures turns this Queen into excellent Rococo's Long Leaper. These jumping pieces mimic in varying degree the other 64-sq.(and also 100-) game's one (convertible) piece-type's jump-captures, and must have been re-invented(and discarded) from time to time. Some primary school teacher surely has had occasion to say: 'Wrong game, Roger. That's Checkers. This year we learn Chess.'

Roberto Lavieri wrote on 2005-01-24 UTCGood ★★★★
Jumping Chess is not a bad game, the game play is very interesting, although it is undoubtely biased to defensive schemes if you want to have good chances of winning, but it is very strategic, perhaps much more than FIDE-Chess. If a player tries to play it using Michael Tal´s or Bobby Fischer´s styles, it is very possible it is going to be in disadvantage quickly. This game must be played a-la- Tigran Petrossian, for better possibilities.

Greg Strong wrote on 2005-01-24 UTC
You make a good point that because of the ring-board, the corners will still be vulnerable to capture. However, the opponent will have to move his pieces onto your side of the board to do it, and enter the ring-board, which brings its own (somewhat scarry) must-capture restrictions. I look at it like this: since two adjacent pieces can't be captured, adjacent friendly pieces are stronger than pieces which are split up. In order to attack, I have to split off pieces. Or, alternatively, I could just wait for my opponent to attack and then pick on those pieces of his which straggle onto my side of the board. As you point out, I can't ignore the attack entirely; I must respond. But I will surely wait for him to initiate it, because I believe any significant attack of his will give me the upper hand. Perhaps I'm wrong in this assumption; my first game is still ongoing (against Carlos Carlos.) Perhaps he will lash out in attack and prove me wrong ... If I am correct, however, than neither player should ever attack.

Peter Aronson wrote on 2005-01-24 UTC
Since you can't jump over two adjacent pieces, all you need to do is make a mass of pieces in the middle, and they can't really be captured. In order to attack, you need to split up your mass of pieces, and I think that's a big mistake. Unless someone gets too aggressive, I think it's a sure stalemate.

Err, no. That's what the ringboard is for. If you form all of your pieces into a block, then the corners are vulnerable to capture, and since you can't enter the ringboard except by capture, you can't extend the block there.

Now, if you wanted to argue that Jumping Chess is more a defensive game than FIDE Chess, I'd say you're likely right, as leap capture is generally weaker than replacement capture, but simply blocking up isn't enough to prevent capture.


Greg Strong wrote on 2005-01-23 UTC
I think Jumping Chess is flawed in favor of defense. Since you can't jump over two adjacent pieces, all you need to do is make a mass of pieces in the middle, and they can't really be captured. In order to attack, you need to split up your mass of pieces, and I think that's a big mistake. Unless someone gets too aggressive, I think it's a sure stalemate.

Tony Quintanilla wrote on 2005-01-23 UTCExcellent ★★★★★
Well, I can't agree with the 'poor' rating. I played a couple of games of Jumping Chess with Peter. One of these is posted as a Game Courier Log and the other is posted as a Zillions Saved Game (See also). I enjoyed the games. I found that the jumping feature added an entirely new dimension to both capture and checkmate. The restricted outside ranks and files provided both opportunity and danger (which I found out the hard way). <p>As far as uniqueness, that does not determine whether a game is good or not. As far as the Knight's character being somehow degraded, I'm not sure I understand the logic there: all the pieces have different capture properties. As far as any 'veredict' from the number of Game Courier Logs, that does not say much, except for the most popular games, Shogi and Fisher Random Chess. Jumping Chess is No. 8 in the 2nd Game Courier Tournament Preference Poll -- not too bad; it'll probably enter. <p>Jumping Chess also inspired me to invent Takeover Chess, which also won a contest. Again, I don't claim any special chess prowess, however, I did enjoy the game very much. Isn't that the point?

George Duke wrote on 2005-01-22 UTCPoor ★
Jumping Chess is another contest winner (Aronson won several contests). This one is not recommended, mostly because generalized jumping eliminates the uniqueness Knight has. There are only two Game Courier log-scores the last one a year ago, indicating an apparent verdict. Besides, somewhere Aronson himself says jumping-chess concepts, or jumping pieces generally, were invented before. I did not bother to look that comment up, or jumping predecessors in Pritchard's 'Encyclopedia Chess Variants'. This set of rules is just one from a potentially infinite set of sets of game rules featuring jumping pieces. All that said, the board is important towards development of later Rococo. Also, jumping Pawn was a work-in-progress to its Cannon Pawn. With David Howe's contribution, they hit a home run with Rococo! Jumping Chess is a strike out.

Peter Aronson wrote on 2003-10-02 UTC
I don't know Antoine -- toroidal capture could be rather confusing. Though it would deal with the edge problem somewhat. <hr> I'm wondering if using the jump capture rule from Amphibian Chess for Knights would work in Jumping Chess: Knights make a Zebra's move to an empty square to capture a piece a Knight's move away. They would probably be weaker than the current Knights, and likely weaker than the game's Bishops, if that matters.

Antoine Fourrière wrote on 2003-10-02 UTC
Another idea might be to allow toroidal jump, that is, once a piece is jumped over, its overtaker could reappear at the other end of the board. (Thus a Bishop on b5 could overtake a piece on d7 by landing on e8, f1... and probably even b5 or c6 (d7?) if the 'toroidal' diagonal were empty. However, the game wouldn't be purely toroidal, because that same Bishop on b5 wouldn't be allowed to travel over c6, d7, e8... to capture a piece on, say, f1 and land on g2, h3 or a4. I have no idea whether a Pawn on the seventh line would promote before landing on the first line.)

Tony Paletta wrote on 2003-09-29 UTC
A somewhat different, but related idea might be 'Amphibian Chess' (not
previously published; name chosen in comparison to 'Mermaid Chess' and a
tendency, in the problem lit, to use sea creature names for
vault-to-capture pieces).  Play is on an 8x8 board, and units must jump
over to capture if there is a next square beyond the opposing unit, but
capture by displacement if there is not.

Charles Gilman wrote on 2003-06-28 UTCGood ★★★★
Sorry, I should have been clearer. Subject to my April comment I think that the game is a good one, for being close to both Chess (as you say) and Draughts. My later suggestions were for additional variants alongside it. A further example of this would be for pieces jumped over to change sides instead of being removed, which would lose a little of the Chess and Draughts character but add something of Shogi and just a touch (in terms of immediacy) of Othello/Reversi.

25 comments displayed

Later Reverse Order EarlierEarliest

Permalink to the exact comments currently displayed.