Expertly beaten by my own AI.
Right now it's a bit slow implementation-wise, but algorithmically I think it's good. The game tree is searched using NegaScout
, with the moves reordered by inserting them into a balanced BST (Andersson tree
). There's a lot I can optimize, like all the extra information getting passed around every negascout recursion.
It can do a full search to depth 2 in in 0.5 to 2.5 seconds, which is perfectly adequate for opponents like me. I'd like to have a full depth 3 search, but the middle game search times can get over 60 seconds per move. I doubt I'll be able to optimize away that much time. Also, it TROUNCES me looking three moves ahead. Way more embarrassing than the previous screenshot: