I was recently working on a UCT bot for Arimaa by trying to generate
a random move directly, instead of generating all moves and selecting
a random one. This general method sped up the random playout rate by
a factor of 5, which seemed wonderful.
Unfortunately, the new faster random bot
If you use bitboards, you can generate all the moves without making an
explicit list of them: You simply have four 64-bit numbers that
indicate the pieces that can be moved in each direction. Population
count is very fast, so you can figure out how many moves you have,
then you pick a random index