trying to use pickle, next steps: eliminate recursive references in the objects by having tile.neighbor_tiles point to indexes, not the tiles themselves, etc.