Here is what I'm thinking of for the Spy. It would move like a Queen or a Knight, but it wouldn't be able to move to an attacked space, and it wouldn't be able to capture a piece with its own powers of capture.
In the strict and literal sense, this second restriction would stop a Spy from being able to capture another one. While the inspiration for this version of the piece was the Chameleon from Ultima, and Chameleons cannot capture each other, I wasn't satisfied with this, and I've been thinking of ways that a Spy might capture another Spy while remaining within the spirit of this rule.
One thought was that a Spy normally moves to capture on a space where it is not attacked. So if a Spy could capture a Spy only on a space on which it is attacked, that would be a manner of capturing different from how the Spy normally captures. But I worried that this could lead to endless recursion, as one Spy function calls another, and they each keep calling each other back and forth. This kind of thing already seems to have been a problem in developing this game, as my code has sometimes generated infinite loops.
There wouldn't be an infinite loop if I gave a specific power for capturing another Spy, but if they were the same, the first restriction might keep them from being able to come in range to capture each other. Yet it would be arbitrary to give each one a different power for capturing the other. So what would work is something that is the same but asymmetrical. I recalled a game in which the inventor allowed one King to attack another by having them move the same as Chinese Chess Knights.
What I came up with is that a Spy may capture another by hopping over another piece on the same side. This easily works for radial moves, because the piece can be conceived as capturing like a Cannon or Vao. For Knight moves, I thought of the restriction that the Knight must jump over another piece belonging to the same player. These restrictions have the effect of making the Spy's ability to capture another piece appear as though the threat of capture is coming from another piece, which fits with the kind of sneaky, underhanded manner that I had conceived the Spy to be capturing in.
However, what I thought of for the Knight move is not completely assymetrical. There could be a position in which each side has a piece it could jump over to capture the other, and this could arise through moving the other pieces into position. One alternative would be to let it capture the other Spy with a Grasshopper version of a Nao move, in which it hops over an intervening piece like a Nao but can go no further past it than a single Knight leap. This would make it look like a Knight attack from the intervening piece, as it would be on the same side.
One further thought was to just make the Spy some kind of Cannon/Vao/Nao compound, but I think this would reduce its checking power enough to make it incapable of checkmating the King without assistance from a piece other than its own King, and I had conceived of it as a Queen-class major piece.
In the strict and literal sense, this second restriction would stop a Spy from being able to capture another one. While the inspiration for this version of the piece was the Chameleon from Ultima, and Chameleons cannot capture each other, I wasn't satisfied with this, and I've been thinking of ways that a Spy might capture another Spy while remaining within the spirit of this rule.
One thought was that a Spy normally moves to capture on a space where it is not attacked. So if a Spy could capture a Spy only on a space on which it is attacked, that would be a manner of capturing different from how the Spy normally captures. But I worried that this could lead to endless recursion, as one Spy function calls another, and they each keep calling each other back and forth. This kind of thing already seems to have been a problem in developing this game, as my code has sometimes generated infinite loops.
There wouldn't be an infinite loop if I gave a specific power for capturing another Spy, but if they were the same, the first restriction might keep them from being able to come in range to capture each other. Yet it would be arbitrary to give each one a different power for capturing the other. So what would work is something that is the same but asymmetrical. I recalled a game in which the inventor allowed one King to attack another by having them move the same as Chinese Chess Knights.
What I came up with is that a Spy may capture another by hopping over another piece on the same side. This easily works for radial moves, because the piece can be conceived as capturing like a Cannon or Vao. For Knight moves, I thought of the restriction that the Knight must jump over another piece belonging to the same player. These restrictions have the effect of making the Spy's ability to capture another piece appear as though the threat of capture is coming from another piece, which fits with the kind of sneaky, underhanded manner that I had conceived the Spy to be capturing in.
However, what I thought of for the Knight move is not completely assymetrical. There could be a position in which each side has a piece it could jump over to capture the other, and this could arise through moving the other pieces into position. One alternative would be to let it capture the other Spy with a Grasshopper version of a Nao move, in which it hops over an intervening piece like a Nao but can go no further past it than a single Knight leap. This would make it look like a Knight attack from the intervening piece, as it would be on the same side.
One further thought was to just make the Spy some kind of Cannon/Vao/Nao compound, but I think this would reduce its checking power enough to make it incapable of checkmating the King without assistance from a piece other than its own King, and I had conceived of it as a Queen-class major piece.