Forums

Reveal Chess -Chinese chess variant

Sort:
ebillgo

In one  Chinese Chess variant called Reveal Chess, the two-dimensional pieces are shuffled and then put randomly in 15 of the 16 starting points for pieces  on the board. The remaining point , occupied by the General- roughly equivalent to the king in chess, is unchanged. As a result of this shuffling, there are 340540200 possible starting positions for each side alone. Squaring this,the number of possible starting positions is a figure with 18 digits. 

 Each chess piece , except the General, remains bottom up and  its true identity is revealed  only when a player turns it over during his turn to move. Once turned over, the pieces move according to their original identities.

 If we transfer the above said  hide/reveal feature to Chess960, there  will  be 921600 starting positions ! 

mouldybear
[COMMENT DELETED]
ebillgo

Mouldybear:

It is not on the internet . It is played in a lot of places in China. Someone's got to write a computer programme to make it really popular. Maybe I'll send you a photo of it soon .

HGMuller

To get this clear:

During a turn you first flip the piece, and then have to move that piece? Or does the flipping the only thing that can be done during a turn?

I have written a computer program that plays regular Chinese Chess (HaQiKi D). I wonder if it could be easily adapted to play this reveal variant.

ebillgo

Good question. When it is your turn to move, you are free to move a piece already flipped over OR turn over a piece.

HGMuller

This should be comparitively easy to implement in an engine. Each 'move' with an unrevealed piece expands to appearance of each of the yet unrevealed piece types (at most 6), which is on average not really more than the number of moves a revealed piece has. The only difference is that you would not be able to choose what you get, like you would be able to choose where you move a chosen revealed piece. That means you have to average the score of all possible outcomes of a reveal, rather than take the highest score. I guess you should do the same when capturing an unrevealed piece. Btw, do both players get to see what was captured in that case?

A practical problem seems that Elephants and Advisers now can be revealed in places where they normally could not venture (e.g. Advisers outside the Palace!) My engine HaQiKi D could not handle that at all. I also have written a minimalsitic Xiangqi engine MaxQi, though, for which this would not be a problem. So perhaps I can try to convert that.

One rule detail still needs to be cleared up, however. Normally Advisers are not allowed to leave the Palace. What if they are revealed outside the Palace? Are they now not allowed to enter it? Or when they could enter it, would they be allowed to leave again?

Another matter of course would be how to display this game. I guess there should be introduced an 8th 'piece type', to represent unrevealed pieces. The not-yet-revealed pieces could be displayed next to the board, like in Crazyhouse. Moving an unrevealed piece should make the GUI decide randomly what to replace it by (removing that piece from the 'hand'). This does require a feedback to the engine not present in other Chess variants, however: the engine can only say which piece it wants to reveal, but it must then be informed by the GUI what piece this actually became.

I guess one could get around this by letting the engine decide randomly which piece was revealed or captured, so it could be handled as a 'promotion choice'. (Direct reveals could be notated as drop moves, e.g. C@a3 if revealing a3 would produce a Cannon.) This does heavily rely on the honesty of the engine, though, and would open the door to cheater engines, who do not decide randomly, but bias the outcome of a reveal to what suits them best (e.g. when capturing an unrevealed piece, they could always say it is a Rook if both Rooks weren't revealed yet). As long as there is only a single engine, however, this would not be a problem. The GUI would then only have to decide on reveals for moves entered by the user, and communicate these to the engine with the move.

ebillgo

HGMuller:

  In Reveal Chess, the Elephants and Advisers are not tied to defensive roles. They are allowed to cross the river to join in the attack. So, there is no need to think about ways of getting them back to the palace.

  One more thing, before a piece is turned over, its first move is determined by its initial position. For example, if you want to flip over a piece in one of the two Horse positions, you make a Horse move first and then flip over that piece.

HGMuller

OK, so it is really like there are 6 different new piece types, which after their move would sort of randomly change into an orthodox Xiangqi piece type. The best way to handle that in the GUI seems like this: just represent a piece that starts in a Rook position by a Rook-like symbol, to remind the players that it currently moves like a Rook, but will morph into another piece after its move.

XBoard already supports such piece symbols for Crazyhouse, where it is necessary to distinguish primordial pieces from promoted Pawns, because the latter revert to Pawns on capture. Of course for playing with traditional oriental pieces, one would have to think of some other distinguishing feature.

If revealing always goes accompanied with a move, this complicates notation. It could be that two pieces are revealed in the same move! You could start with moving a C'b2xb9, i.e. the unrevealed piece at b2, allowed to move as a Cannon, captured the unrevealed piece at b9, revealing itself, and indirectly revealing b9.

mouldybear
[COMMENT DELETED]
ebillgo

I have uploaded the basics of Reveal Chess in the "Other" section of Download. Please download to take a closer look .