For the past several days I've literally been running an experiment with Pokemon GO, trying to hatch eggs while running through Brooklyn and Manhattan. I ran enough that I should have hatched the 10km egg I was incubating in the game, but I did not. For nearly 20km, its shell remained intact. This defies the conventional wisdom you'll find online about how egg-hatching works in the world's current favourite video game. You'll find confident assertions that Pokemon GO will track your movement unless you're moving as fast as a car. Some estimate that you just need to be moving less than 32km/h, or perhaps it's less than 24km/h.
After a few sweaty runs at something slower than the game's alleged cut-off speed, I have found that Pokemon GO may be able to detect a runner's movement, but it does a poor job of it. The game miscalculated how far I ran so severely that it's got me wondering how well the game tracks player movement at all.
Here's a run I did on Sunday. It's a 11km loop from Brooklyn to Manhattan and back that I ran in 1:00:13. That's a pretty good distance at a sub-car speed. It should have hatched an egg, right?
My three eggs, before my 12km run.
When I went on that run, I was incubating three Pokemon GO eggs. I had two 5km eggs and one 10km egg. The eggs are supposed to hatch once you've moved the designated distance while the game is operating. This system should be a source of certainty in a game full of surprise Pokemon appearances. It seems simple and, happily, it's even an enticement to exercise.
I assumed that my run would hatch at least one egg. The measurements were stacked in my favour. Prior to my run, two of the eggs had logged some distance. The 10km egg was at 6.1km. One of my 5km eggs was at 2.6km. The other 5km was new.
I went running. I ran to Williamsburg, over the Williamsburg bridge, down through Manhattan's Chinatown, over Manhattan Bridge as trains rumbled by and then back into Brooklyn to close my loop. I had a strong mobile phone signal all the way. Nothing hatched.
At the end of the run, I checked my three eggs. Not only hadn't they hatched, but they barely seemed to register the journey. Each had logged just 2.2km more distance.
My three eggs, post-run.
You have to experiment to figure out how most things work in Pokemon GO. There's no instruction manual and the game's developers at Niantic are keeping quiet about most of the game's systems. I asked them about all this egg-hatching stuff a few days ago. No reply yet. So we tinker and test and deduce.
When I did that Sunday run, I wasn't even sure if the distance the game thought I'd moved had been divided across all three of my eggs or shared into each one. I conferred with a British video game tester named Davyd Atkins who has been posting smart stuff about egg-hatching distances on Reddit. A few days later, I walked an experiment from Kotaku's NYC offices near Manhattan's Union Square to Madison Square Garden. In my walk to MSG, Runkeeper thought I moved 2km. Pokemon GO credited me with 1.7 km of movement for two of my eggs. That's proof enough for me. The game takes the distance it thinks you moved and applies to to each egg.
But the data in front of me after that Sunday run indicated that the game thought that I'd only moved 2.2 km in a 12km run. What could have gone wrong?
A lot of things about this game are vague. But people like me and Atkins are piecing parts of it together.
I know that the game doesn't track your movement if you don't have it maximised on your phone. I learned this by going on a run with Pokemon GO running in the background. My eggs saw no progress.
During my Sunday run, though, the game was active nearly the entire time. At one point, while I was on Manhattan Bridge, I accidentally activated the camera and snapped a photo of my knee. I shut the camera down and went right back to the game.
I know that Pokemon GO doesn't track steps based on the physical jostling of a walker or runner's body movement, the way many pedometers do. There's enough proof of this on Twitter and Reddit, where disappointed people write about getting off treadmills and seeing that the game has tracked no distance.
Pokemon GO sometimes thinks you're moving even when you're not, a sign that it checks distance based on GPS data, but not always correctly. On Reddit, Atkins reported that a GPS glitch caused an egg to hatch while his phone wasn't moving. While I was writing this article, a colleague experienced the same thing. Her game hatched an egg while her phone rested on her desk. She checked the game's map and, sure enough, some sort of GPS weirdness was causing her character to pace back and forth, gaining distance even though the phone wasn't moving.
During my run, the game definitely knew I was moving. As I was closing the loop, it even gave me a medal for distance travelled.
Atkins believes that the game checks your location from time to time and measures the straight-line distance from where it last saw you. If correct, that means it would undercount the distance travelled by a player moving along a curved road. If nothing else, it would miss counting the twists and turns of a looping path, which a running app like Runkeeper is able to track.
He's been doing tests by walking straight lines and seeing how often the egg-hatching counter updates. He uses Runkeeper as a control to measure his distance and then sees what the game reports. His straight-line walks have yielded accurate results, though he stresses that this is just his research. He doesn't work on the game. He's just a curious, smart guy trying to measure stuff.
The frequency of the game's GPS checks has been harder for Atkins to deduce. "With regards to the detection interval, I checked one batch of eggs and they were all at 0.1km," he told me over email. "The next time they updated, they were at 0.6m. Based on my pace and that distance increment, 13.3 minutes had elapsed with me just holding the app open."
If the app is really only checking about once every quarter of an hour, then it would have only checked my position during my one-hour run four or five times and shaved off a lot of the contours of my path. Still, chopping a 12km run to 2km seems a bit much.
Could I have been going too fast? The game encourages players to "walk". It doesn't mention running. Your avatar in the game never runs, just walks faster. Atkins said that the distances the game has tracked while he walks have been accurate, so speed may be the factor here. My walk to Madison Square Garden was slightly undercounted, but far less so than my runs.
An article from an official Runkeeper blogger echoed my experience that running gets undercounted — "my 5k run credited only 1.5k for the 2k egg!" Its author speculates that using Runkeeper in the background might itself contribute to Pokemon GO undercounting steps. Atkins told me he uses Runkeeper in his experiments and has been able to get pretty accurate results from his walks. Go figure.
Some people haven't tried to hatch Pokemon GO eggs by running or by walking. They're busy strapping their phones to turntables and electric trains. They're trying to trick the system. That's what people do, and I can't say that my desire to hatch some eggs while running was borne from a nobler goal than to bend the rules my way. It's human nature.
Many video games are comprised of systems. We learn their rules as we play and we can't help but try to master those systems, exploit flaws in those rules and get the most of what we're doing. We crave a recognition of order, even as we then try to defy it. Attaining understanding is fun; exploiting that knowledge is a devious thrill.
The logic of a well-structured game promises the predictability that regular life doesn't have. If we understand how a game works and input something into its system, we assume we'll get a fair output. Players of Diablo know this as they kill enemies and pick up loot. Players of Candy Crush know this as they plot their moves. Players of Super Mario Bros. know this as they time their jumps. Know the system, then take advantage of it.
Much of Pokemon GO doesn't obey a predictable system. Players can't predict where in their neighbourhood the next Pokemon will appear, nor whether it will be a Zubat or Doduo. We know that the game's PokeStop locations were selected by users of other Niantic or Google products but we can't hope to understand the system of human psychology that led to some locations being selected and some not.
What we can hope for, though, is that a system that tracks the distance we've travelled is predictable. We can hope that this part of Pokemon GO, at least, is knowable and logical, such is our faith in numbers, technology and the big brother tech that is supposedly so good at tracking us.
Those of us hammering away at the egg-hatching thing, whether we're tying our phones to ceiling fans, measuring straight-line walks on our way to work or sweating our way through the park are all trying to figure out how true the system is and what we can do with it. We're looking for the logic. We're trying to understand the rules and exploit them. That doesn't make us bad people. It's actually pretty normal.
It just doesn't always work, because sometimes, as they say, the system appears to be rigged. Or, more likely, just doesn't work as well as it should.
I went for another egg-hatching run on Tuesday morning. I ran a loop in Brooklyn's Prospect Park and the game badly under-counted my movement again.
Runkeeper tracked my route at 7.92km.
I started the run with three eggs incubating. My 10km egg was nearly ready at 8.3km and one of my 5km was at 4.8km. So close! Another 5km was a little less than halfway there.
It took a full 10 minutes of running before any of those eggs hatched. I saw the screen change out of the corner of my eye. The egg went big, then shattered. A Nidoran popped out.
I'd run more than 1.6km by then. That's more than 1.6km to hatch an egg that was .2km from hatching when I started. If you check my route, most of my run by that point was in a pretty straight line. I wasn't going all that fast, either.
After the Nidoran hatched, and without breaking my stride, I started incubating a fresh 5km egg. I finished my run about a half hour later. No other eggs hatched.
End of run tally: The 10km egg which had been with me on two runs totaling 19.97km was showing 9.4km of movement tracked. The 5km egg that was already incubating when I started? It was at 3.3km. The new 5km egg that I began about a quarter of my way into my run? It's showing a mere .7 km.
Pokemon GO tracked me moving 3.1km even though I ran 7.92km.
My eggs (including one new one) after my second run. That 10km one just doesn't want to hatch!
It's possible that running is what ruined this and that the game can't keep up. It's possible that only walking with correctly hatch eggs and that running remains its own lunatic pursuit: Good for clearing your mind, but bad for your knees and bad for hatching Pokemon eggs.
It's possible we can figure this out or that we live in a world that is just too chaotic, too unstructured and tied together by technology that is just too imperfect. Or it's possible some of us just run too damn fast. That last one makes me feel the best. I'm going with that.