Bottleneck: n**2 part of constructing player state strings.  Change to avoid join.