Indeed that seems reasonable. I can imagine it would be really detrimental if I didWhat I do is this: I always extend all checks by one ply. A side is considered to be in check iff all of its royal pieces are under attack. That seemed to be the easiest way to implement the Spartan rules and it seems to work well in practice. One of the side attacks is that attacks on a Spartan king are treated like any other type of attack.
full ply extensions for every check on one king. I have ofcourse an all_kings_attacked
function that I use for move legality testing. But somehow I thought all checks should be
extended and wrote an is_king_attacked function just for that purpose. The fact that I was
not extending full plies might have helped but this sounds like one thing to remove after testing.
I use MVV instead of SEE, as I wanted to have something that works for all alien games f.i checkers.The only deviation from this is in SEE, where I always sort the royal piece to the end of the list, which may not be correct for the Spartans but makes the code simpler. I don't think it makes a big difference in practice.
Before that I had big tree explosions but I think difference between MVV and SEE is not much.
SEE is an in accurate localized queiscence search that should be very fast to compute.
Anyway this two kings also mess up eval. For example how to evaluate king safety for spartans,
king-pawn endgames etc.. Also all of them change when there is only one spartan king.
A similar situation I found is in Jetan (martian chess) is that to win the game you have to either mate
the queen, or capture the king with your king. If you catpure the king with any other piece it is a draw!
This later rule made the game very drawish and they modified the capture to be considred like any other.
This was "chessic" modification only this time you would have to mate the queen instead of the king.
It was considered an improvement but IMO lost the essence of the game in some way.
Admittedly it is a good modification as I never saw a win in jetan in my self-play games with that rule on.