Magic bitboards are a relatively recent development used in most modern chess engines. They are a bit difficult to understand though. Bitboards use an integer (usually a 64-bit unsigned) to store 64 individual boolean values. For chess they are perfect, because a single integer can story information about the entire board. For example, an integer could store information about which squares contain a white piece. Read more
We’ve started working on the ataxx engine. For the board representation we’ll be using bitboards implemented in Java. Using C with the NDK would probably be faster, but staying in Java we can target more devices. The older Android API’s only support ARM processors. Using a higher Android API would target tablets with Intel processors, but with plain Java our app will run on almost all Android versions.