added generational AI construction, but AI decisions take too long and still occasionally return null moves (not sure if related yet)