One cool random variant that could be created for computer games.
1-Program choose a random board starting Setups (that has all pieces on the
board)
2-If this board position allows the white user to put the other player in
check or mate on the first turn or the black one put then the white player
in check or mate in their first turn. Another board position is choosed at
random.
3-If the same thing could happen with black starting first, the board is
also choosed randomly again.
4-2 games are played simultaneously with players on separated board (that
have the same random starting setup) and then alternate the board they will
be making their movements on.
5-If a player win on both board he win. If each players wins on one board,
its a draw and you need to choose a new random board starting setup and
play again.