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 ]

Ratings & Comments

EarliestEarlier Reverse Order Later
About jokers in large Board Games[Subject Thread] [Add Response]
Bn Em wrote on Sat, Apr 27 04:06 PM UTC in reply to Aurelian Florea from Fri Apr 26 05:29 AM:

I'm thinking that this is because there is not a lot of experience in games with jokers.

At least in my case that's very much the reason; in principle the dicussion is very interesting (especially since a game I've been thinking about would involve a closely‐related, if potentially even more powerful (though less apparently‐random) piece)

My impression is that jokers are a bit like Querquisites and Smess/Ivory‐Tower pieces, in that they depart substantially enough from normal Chess dynamics that they'd take a good bit of learning to handle. And in their particular case, the art of dealing with them is in part (principally?) the fact that they reduce the value of strong pieces, especially if well placed: you can't freely move the queen if there's a joker ready to copy its move while still being worth (on average, presumed — though of course this ‘chilling’ effect increases its value correspondingly to the powerful pieces on the board) less.

I'd be interested to see how Jokers handle in games with (a small number of) really powerful pieces. I'd almost predict that capturing the jokers to free the power pieces (with maybe some judicious moves by the latter in between either while the J is still hidden in the setup position, or to give check) would be an important middle‐game theme.

But in any case for now you're probably one of the people here with most experience with the J :‌)


Bob Greenwade wrote on Sat, Apr 27 04:54 PM UTC in reply to Bn Em from 04:06 PM:

And of course, the big question: Why don't I have at least one Imitator piece in Unnecessarily Complicated Chess?

I need to go fix that.


Aurelian Florea wrote on Sat, Apr 27 05:01 PM UTC in reply to Bob Greenwade from 04:54 PM:

:)


Question on viewing past games[Subject Thread] [Add Response]
wdtr2 wrote on Sat, May 18 04:35 PM UTC:

@Fergus OK, I wanted to review a past game of Xhess. I picked Wed dec 13 2017. 23 moves, the last move was a resgin. so far so good. I click orentation 2nd palyer on the drop down list box. I click go back to starting position. OK so far so good. Now the view buttons contain a ">" go to next move button. I click that. next move. good. I click again next move. good. I do this four times and one of the viewing button becomes a "@". There is an info message: "Lacking data to view this position. To view whole game, load in last move.". From that point on viewing moves becomes difficult. Can you view a prior past game of xhess and see if the view functionality is working as you like? thanks. Jim.


🕸Fergus Duniho wrote on Sat, May 18 09:25 PM UTC in reply to wdtr2 from 04:35 PM:

one of the viewing button becomes a "@". There is an info message: "Lacking data to view this position. To view whole game, load in last move.".

This means you loaded the game from an earlier position instead of from the latest position. You might have done this accidentally by clicking the View button, which used to be the only way to navigate through the moves of a game. You should follow the instructions and load it from the latest position. Click on the >| button, then click on the View button. This will load the game at the last move, making all past moves accessible without the need to reload any of them.


possible problem with other games[Subject Thread] [Add Response]
wdtr2 wrote on Tue, Jul 9 12:04 AM UTC:

@fergus I am playing a copper pocket shogi game, and when you play against another person there is a preview button and a confirm button. It seems to me that when you press the confirm button I am getting error messages in the "post move section of the code". If I had to guess the variable dollar moved is either not getting populated or it is getting populated in a different way. If I had to guess, when you get to the confirm button the variable dollar moved contains the previous move, and not the preview move. If you want we could play a shogi game so that you can see what I mean. Jim.

*** you fixed it thank you.


Secret intelligence chess[Subject Thread] [Add Response]
wdtr2 wrote on Tue, Jul 9 01:24 AM UTC:

@fergus, one of our games is stuck. The error message is:

Syntax Error on line 396

MOVE: @ f2-f1 is not a valid expression, because @ is not a recognized piece, coordinate, command, or subroutine.


🕸Fergus Duniho wrote on Tue, Jul 9 01:47 AM UTC in reply to wdtr2 from 01:24 AM:

I just fixed that. I think a bug (which I hope I got rid of) introduced an almost duplicate move in the movelist without any encryption of the piece label. Removing that line fixed it.


how do you program a non-capture move[Subject Thread] [Add Response]
wdtr2 wrote on Sat, Jul 20 09:48 AM UTC:
This message is mostly for @fergus The elephant to me is a diagonal mover. It may leap 1 or two squares. I want to make a variant of the elephant that has the ability to change its diagonal color (checkered board). The changing of color is a special move. This special move is 1 leap backward in the South direction only and it can only be done as a non-capture move. I attempted to program this move, but I can't figure out how to do it. I am hoping someone can help me out. This is my elephant move right now:

def White_Elephant checkleap #0 #1 2 2 or checkleap #0 #1 1 1 ; def White_Elephant-Range mergeall leaps #0 2 2 leaps #0 1 1 leap #0 0 1;

set White_Elephant-Desc "The %s may leap two spaces in any diagonal direction, or go backwards 1 space if the space is empty.";

def Black_Elephant checkleap #0 #1 2 2 or checkleap #0 #1 1 1; def Black_Elephant-Range merge leaps #0 2 2 leaps #0 1 1; set Black_Elephant-Desc "The Elephant may leap two spaces in any diagonal direction, and may move one space backward if the square is empty.";

*** What do I need to do to make a non-capture move that is 1 square south?


🕸Fergus Duniho wrote on Sat, Jul 20 01:35 PM UTC in reply to wdtr2 from 09:48 AM:

For potential moves, you need to check whether the space is empty, and for actual moves you need to check whether a capture has been made. See my code for the Cannon for an example of how to do this.


Daniel Zacharias wrote on Sat, Jul 20 02:55 PM UTC in reply to wdtr2 from 09:48 AM:

Does this work?

def White_Elephant checkleap #0 #1 2 2 or and checkaleap #0 #1 0 -1 empty where #0 0 -1; 
def White_Elephant-Range mergeall leaps #0 2 2 where #0 0 -1;

def Black_Elephant checkleap #0 #1 2 2 or and checkaleap #0 #1 0 1 empty where #0 0 1; 
def Black_Elephant-Range mergeall leaps #0 2 2 where #0 0 1;

🕸Fergus Duniho wrote on Sat, Jul 20 05:14 PM UTC in reply to Daniel Zacharias from 02:55 PM:

No, this may work for potential moves, but it will not work for actual moves. I believe you should replace "empty where #0 0 -1" with "cond empty #0 capture empty #1". Also, the function would be better optimized for most legal moves, as well as for testing for check on the King, if you reversed its two parts. This will also allow you to use breaking logic all the way through.

def White_Elephant checkaleap #0 #1 0 -1 and cond empty #0 capture empty #1 or checkleap #0 #1 2 2;

def Black_Elephant checkaleap #0 #1 0 1 and cond empty #0 capture empty #1 or checkleap #0 #1 2 2;

Possible Movement Problem in Skica[Subject Thread] [Add Response]
wdtr2 wrote on Fri, Aug 16 12:35 AM UTC:Excellent ★★★★★

I think @arx is the owner of Skica. I am playing a game right now. When the other player did a castle move, the king disappeared. So I think the code needs a tweak to fix that. Also, can you add "pass" as a valid move? This way it is possible for people to communicate without making moves.


how do you program a non-capture move[Subject Thread] [Add Response]
wdtr2 wrote on Fri, Aug 16 12:38 AM UTC in reply to Daniel Zacharias from Sat Jul 20 02:55 PM:

@arx, I think I tried that, and it did not work. I'm putting the code down for a while, so I don't get frustrated.


🕸Fergus Duniho wrote on Fri, Aug 16 04:03 PM UTC in reply to wdtr2 from Sat Jul 20 09:48 AM:

The elephant to me is a diagonal mover. It may leap 1 or two squares. I want to make a variant of the elephant that has the ability to change its diagonal color (checkered board). The changing of color is a special move.

I think the original suggestions I gave were mistaken.

def White_Elephant checkaleap #0 #1 0 -1 and cond empty #0 capture empty #1 or checkleap #0 #1 2 2;

def White_Elephant checkaleap #0 #1 0 -1 and cond empty #0 not capture empty #1 or checkleap #0 #1 2 2 or checkleap #0 #1 1 1;

def Black_Elephant checkaleap #0 #1 0 1 and cond empty #0 capture empty #1 or checkleap #0 #1 2 2;

def Black_Elephant checkaleap #0 #1 0 1 and cond empty #0 not capture empty #1 or checkleap #0 #1 2 2 or checkleap #0 #1 1 1;

So each one first checks whether the move is a diagonal leap of one or two spaces. If it is not, it checks the condition "cond empty #0 not capture empty #1". If the origin space is empty, it is checking an actual move. So it checks whether a capture has already been made. If the origin space is not empty, it is checking a potential move. So it checks whether the destination space is still empty. If it turns out to be a capturing move, the function immediately returns false. Otherwise, it evaluates whether it is a one-space move vertically backwards.


Possible Movement Problem in Skica[Subject Thread] [Add Response]
Daniel Zacharias wrote on Fri, Aug 16 06:10 PM UTC in reply to wdtr2 from 12:35 AM:

This looks like a problem with betza.txt, so you'll have to wait till H G Muller looks at it


Tactorius / Arcane Chess[Subject Thread] [Add Response]
Ryan Deyo wrote on Sat, Sep 7 10:28 PM UTC:

Hi all, I have a site I just released a web app that combines new pieces (royalty family, ghost family, equus family), spells (arcana - badges that are specific to a player that allow you to bend rules of the game like castling through check, alternate piece move patterns, and square conditions to name a few) - the engine validates and evaluates these rules as well. It also features a campaign that takes you through a story with technical and philosophical lessons, challenges and custom matches. Happy to discuss feedback or answer questions and share a link if it's allowed.


H. G. Muller wrote on Sun, Sep 8 06:41 AM UTC in reply to Ryan Deyo from Sat Sep 7 10:28 PM:

I would say a single link to a functional chessvariants-related content is always allowed, especially in a Comment. We even have article pages especially for external links.


Ryan Deyo wrote on Sun, Sep 8 05:24 PM UTC in reply to H. G. Muller from 06:41 AM:

Thanks, I didn't want to be to advertise-y but it's open source anyway. It's tactorius.org.


CWDA & Joker[Subject Thread] [Add Response]
Aurelian Florea wrote on Thu, Sep 19 04:31 PM UTC:

One of my long term goals is to create a CWDA game that has jokers. It seems to me weird to have the joker imitate a piece from the enemy army. So I had thought at a transferrer. A piece that transfers the power from the enemy piece to it's counterpart from my army. So if such a piece should exist in the classic Betza's CWDA for example if the opponent moves a BEDE I get to move a charging rook (in a NN versus a CC). One trouble is that no programs implements this yet, firstly because that has not crossed anyone's mind. I can make my own program (I am progressing at my work for an apothecary chess program by the way) but this takes a bit of time. I'd like to try some basics. Anyone, any Idea how. Maybe the ID HG? It seems difficult to me though.

Anyway is the transferrer an interesting concept, or the joker should be enough even in this context?


H. G. Muller wrote on Thu, Sep 19 05:19 PM UTC in reply to Aurelian Florea from 04:31 PM:

Anyway is the transferrer an interesting concept, or the joker should be enough even in this context?

Well, I dislike Jokers to begin with, so perhaps I am not the right person to comment on this. In principle you can make this as complex as you want: not imitate the piece that was moved, but for each possible type define the type the Joker should move as independently. This way you could also define partical imitation: e.g. if you want to disallowe.p. capture and double push when imitating Pawns, you could define a (no-participating) Pawn without these moves, and ilet the Joker imitate that when a Pawn is moves.

This could be implented by having the user define an array to map (moved) piece types onto (imitated) piece types. In the code you would then simply replace "imitated = movedPiece" by "imitated = transfer[movedPiece]". By default the transfer array would map every type on itself.


Aurelian Florea wrote on Thu, Sep 19 05:23 PM UTC in reply to H. G. Muller from 05:19 PM:

You mean, this can be done in the ID? I mean without you putting in extra work.


H. G. Muller wrote on Thu, Sep 19 06:29 PM UTC in reply to Aurelian Florea from 05:23 PM:

No, it would require some extra programming. But not very much.


Aurelian Florea wrote on Thu, Sep 19 06:35 PM UTC in reply to H. G. Muller from 06:29 PM:

As you wish. Thanks for your input, though!


Tactorius / Arcane Chess[Subject Thread] [Add Response]
Ryan Deyo wrote on Sat, Nov 23 03:59 PM UTC:

Tactorius V2.0.0 has been released. Come check out the new spells like dyads (move twice, no captures), offerings, and new modifications. New pieces: Valkyrie and Herring (must be captured if legal). Explore the spells in quickplay or challenge yourself in the campaign. tactorius.org


25 comments displayed

EarliestEarlier Reverse Order Later

Permalink to the exact comments currently displayed.