That would still make 10 if you count the opponent's pieces (whose moves you would need for SEE, f.e.). And you would still have to do the lookups for the 22 others, intersect them with targets...bob wrote:No, just for 5 pieces. The rest are just direct lookups that are computed before the game starts. Only sliders use the magic stuff.
Does that mean it was included in the 10%, or that it takes another 10%?My mobility is as cheap as the magic stuff. I pre-compute mobility per square, then use the same magic math, but instead of looking up a 64 bit attack set for the piece, I look up a 1 byte mobility score for the piece, since this includes just squares the piece can reach anyway.
When the bits naturally extract in the order you want to play them, (MVV/LVA) you can defer that to when you actually play them (so don't do it at all after a cutoff), and there is no need for further sorting. SEE can be done by feeding the word in the attack map for the target square to a sinmpel table lookup.Don't follow you there. When I was using incremental update, all I got were attack bitmaps just as I do with magic. With either approach I had to "unroll" the bitmap into a set of from/to/etc actual moves.
