In order to implement #34 it may help to first optimize the ValidMoveGraphs. Currently the ValidMoveGraphs include moves that would put the overseer into check and those moves get pruned out at a later game state. Having these moves included in the valid move graph could make development of the AI player more difficult. The ValidMoveGraphs should contain logic to remove moves that put the player into check.
In order to implement #34 it may help to first optimize the ValidMoveGraphs. Currently the ValidMoveGraphs include moves that would put the overseer into check and those moves get pruned out at a later game state. Having these moves included in the valid move graph could make development of the AI player more difficult. The ValidMoveGraphs should contain logic to remove moves that put the player into check.