Yes, predictable is the goal here. That is, "reproducibly random".
The problem with rolling my own solution here is that this will be called often. When the hard AI is playing, it will be called at least once for every possibly move, and then once again for every possible move after that, for every AI turn.
Also, BrightScript doesn't support left/right shift operators, we ended up implementing some ourselves for a CRC function in KidPaint (in librokudev now), so I figure most algorithm implementations would be fairly slow...
As for calling out to our server, that's undesirable for a few reasons. First, as mentioned above, it will called very often. Second, this would place an external requirement on an an app that has no other external requirement.
-- GandK Labs
Check out Reversi! in the channel store!