What is the best software for developing chess variants?

Sort:
Dartko

From what I have been researching zillions of games seems to be the most versatile, but I am still not entirely sure if there is something better out there. The game I want to develop involves a mechanic in which a piece can move to a square occupied by a friendly piece, but you then have to move the piece that was there somewhere else, I suspect this would rule out a lot of variant design software out there. I would also like to be able to implement custom AI to test balance since the starting position will be asymmetric.

TheEnigmaPiece

Best software will be your brain. *just a joke* 😄

HGMuller

You could try the Chess Variant Play-Test Applet. What you describe is not entirely standard there, but it was possible to achieve something similar with for Paco Shako with a modest amount of programming. There you can move into a pair of pieces sharing a square, and move one of those out of that square in the same turn.

Note that Zillions of Games claims to be able of doing anything, but this is only because the method for configuring it for a new variant is in fact a proggramming language in itself, and almost impossible to do without programming skills. In the Interactive Diagram on which the Play-Test Applet is based it is also possible to link to user-supplied JavaScript code.

But it depends a lot on your goals. Do you want super-GM-like playing strength that would crush any human, or do you want it to be an entertaining sparring partner? The Interactive Diagram's AI is not very strong.

Dartko

Thank you for your response. 

I am not opposed to options that involve programing. As for the AI since I want to use it to analyse the balance of the game, especially the possible starting positions, I think I need something closer to GM level. I was thinking of using fairy-max.

HGMuller

Well, Fairy-Max would be a bit hard to modify, because of its extreme simplicity and cryptic code. The non-standard feature you want is actually a major modification on the principle of chess. One turn can move multiple pieces, and the move of the second piece is not implied by the move of the first (as it is for castling). So apart from altering the AI you will also have to alter the way it communicates moves to the GUI: you have to communicate more than 2 squares per turn, and make sure the GUI understand what this means.

Now there exists a WinBoard fork (the 'Alien Edition') that can handle multi-move variants, where a comma behind a move as a special 'promotion suffix' would suppress turn change, and waits for another move of the same player to follow. I don't know how far this 'chaining of moves' can go in your variant; can the piece that is displaced again displace another piece in the same turn?

If you want to modify an existing engine, KingSlayer would be a good starting point. If an 8x8 board is satisfactory, that is.

Dartko

Thank you for your insight. Yes a piece that is displaced can displace another piece, the board is 8x8 but it wraps arround on all edges (the a and h files are connected and the 1st and 8th ranks are connected).

Kaushiktheminster

Can anyone please send me how do you program the chess variants?