heuristic player update