Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(1 edit) (+1)

As a separate thing to note, I would like to see the "threefold repetition" rule implemented. In one game, I was stuck in a back-and-forth sequence of checks where I could only move my king to the one available safe square in one direction, only to be checked again by the enemy's queen; this circumstance applied in both directions—one safe square (the only legal move I could do), and the AI determinedly checking me, with no variation. I was hoping the programming would at some point consider the game to be a draw, or allow me to declare a draw, but the AI refused my offer of a draw, despite the impossibility of a checkmate with the AI's chosen strategy, given the endless repetition of our moves on our respective turns. The "50-move rule" and the "75-move rule" should apply here too. I tested to see if maybe either of those was implemented, but I instead could only resign to end the game, despite multiple draw conditions.

I referenced this article for a list of draw conditions in chess: 7 Ways a Chess Game Can End in a Draw (With Examples).

(+1)

Wow thanks for the very detailed feedback, I'll have to look into these

The official rules for threefold repetition indicate that the same position can't happen three times in a game. (https://en.wikipedia.org/wiki/Threefold_repetition) I don't have enough memory on the NES to keep track of all the positions that have been played through the game so I decided to scrap that rule.

I think it could be a good compromise to check that the same 2 moves aren't repeated over and over, I'm just wary of adding unofficial rules to my version of the game.

The 50-move rule is on my todo list and shouldn't be too hard to implement.

(4 edits) (+1)

I would consider the compromise you described to be a partial implementation of the official threefold-repetition rule, and in this case, I think it would be better than not having it at all. I suspect that back-and-forth successively repeated moves are the most common way of threefold repetition happening in a game. Since threefold repetition allows a player to declare a draw, and fivefold repetition causes an automatic draw, according to the article you linked, it would be great if you implemented both of those rules in the form that you described, with the compromise.

If you're planning to implement the 50-move rule but not the 75-move rule, then I suppose it will be an automatic draw, since your game allows the player to offer a draw at any time already; is this the plan?

Edit: I suppose there isn't a need to implement both the threefold-repetition and the fivefold-repetition rules if the player can offer a draw anytime, but if the other player were forced to accept an offered draw after a threefold repetition, that's one way it could work. And since fivefold repetition causes an automatic draw, they could be differentiated that way.