On Geoguessr, Search Algorithms, & Information Seeking
By Benjamin Kraco
I’ve been playing Geoguessr, the Google Street View-based geographic discovery game, for the last 6 years. I haven’t always played consistently, taking months-long breaks when life got busy or when traveling for an extended period of time. In the last two years though, I average at least a game a day. It’s become a daily routine. Compulsively, I navigate to the website every time I fire up a web browser on my desktop.
The last year has been tough for most. You don’t need a reminder of this toughness. You can get a stagnant take on current strife from any news source publishing opinion columns by writers who normally pen sponsored pieces on behalf of companies currently under human rights investigation. But it has to be said that a huge source of stability for me has been this simple game where you get dropped from the sky onto a random street and have to figure out where you’ve been dropped using only the street view navigation tools and context clues. Scored out of 5,000 points a round, you get instant feedback about how close (or how dismally, embarrassingly far) your guess was. Streamers like Michael of ChapoFYM or StandplaatsKrakow (now mostly inactive) demonstrate how much care, patience, and attention to detail becoming simply passable at the game requires. To satiate Geoguessr urges during the day, I’d watch these streams in the mornings on a second monitor while working, at least until I moved to the west coast and the stream start times got too early to catch.
The crux of this piece isn’t explaining whether or not you should be playing Geoguessr (you should) or why I play so much (obsession with geo-specific infrastructural detail) but an attempt at finding out what makes a particular search within a particular round of Geoguessr so successful, at least heuristically. Why are the streamers mentioned above so good at what they do? Are there natural search algorithms at play that help explain the success of a given round? In hundreds, if not thousands, of hours of play and countless hours spent watching successful Geoguessr streamers, I’d like to posit that two basic search algorithms and one computational biology concept generally govern a successful round’s search methodology: best-first searches, depth-first searches, and spatial gradient climbing. This may not be the only way to explain a successful search in a round of Geoguessr, but these are generally three principles I’ve used without realizing to guide my best Geoguessr games.
Best-First Search
Best-first search is a generalized group of search algorithms that function with one basic tenet: choosing the most promising step at each point of the search using some specified rule. This rule or rules can be built from either past experience, information gathered from the current search already, or information about the goal. To visualize this for our purposes, we have to think about what the starting position in a round of Geoguessr would look like as a decision tree. In the example below, we’re dropped in the middle of a road with no intersection at the start point. We’re left with a binary set of decisions, go “left” a couple meters or go “right” a couple meters. Left and right are relative here, depending on which way we’re facing, but ultimately we’re left with two choices.
All successful Geoguessr players start by surveying the immediate environment around the drop location. This is a way to posit any initial guesses about the general area of the world they may be in. Using this information, a player may make a guess about where they are or determine their first move “left” or “right.” Now, imagine in our situation, we look to the left and see open road surrounded by forest. We look right and see forest as well, but what appears to be a house about 40 meters up the road. Which path are we probably going to take, as Geoguessr’s “best”-first search players? Most likely, we’ll be heading right. Since the main goal in Geoguessr is “find out where you started,” our best-first search rule is often governed by that goal. We’re far more likely to gather some new information in the direction of guaranteed human settlement than with a dubious gamble on the open road leading anywhere that both:
Won’t cause repetitive stress injury in our index fingers from clicking so much
Will give us any information about where we are
A good example of this was in a game on a “Train Stations of the UK” map (unfortunately no longer indexed by Twitch’s video on demand) that Michael from ChapoFYM played. When dropped on a binary point where the immediate environment contained an unreadable sign, Michael had two options: go “left” up a winding, narrow, Welsh farm path, or go “right” down a straight, wider road that appeared to connect to an intersection point. Michael chose the “right” path, eventually figuring out which unpronounceable railway station used by three passengers a week the game dropped him at. In this case, he exhibited some crucial elements of an internal best-first search algorithm. Knowing the goal was to figure out which train station he started at implied he was not far away from a population center. He also knew that, from the context of playing Geoguessr for a substantial amount of time, the intersection was a near-guarantee of usable information. These two halves informed the rule he followed for that particular round, ultimately netting success in a timely manner. The best-first search is a common initial reaction for many of the best Geoguessr players.
But when that fails to provide good, fruitful information, we often see the…
Depth-First Search
What can we do when there’s no clear “best” path to follow, either at a step or at the start of a round? Lay down on the street like a lizard in the sun, resigned to sit motionless all day? Appealing as that may be, decent Geoguessr players often start to follow a different search algorithm intrinsically: a depth-first search. A depth-first search algorithm starts with a root point. In our case, we’ll consider that root our drop point, or where we’re trying to figure out our location from. Then, a depth-first search will go down a path until there’s nowhere left to transverse down that path before backtracking.
Think about doing a corn maze. You may be unsure about your position relative to the goal, so you choose a direction and follow it until you can’t go farther. Depth-first search algorithms are actually great maze-solvers, speaking of. In Geoguessr, we see this maze-like design frequently in central or eastern European countries. Streets that lead into dead-ends or abrupt stops in street view coverage naturally have successful Geoguessr players drifting toward some version of a depth-first search for information. We can visualize this search for our purposes with a drop at an unlabeled three-way intersection. No path upon initial inspection looks promising, so we’re entering our depth-first search pattern.
Eventually, our first path returns a dead end and we get no info other than maybe we think we’re in Poland or Lithuania or Latvia. So we backtrack, and choose another path until we find the information we need. Perhaps this seems obvious, but this algorithm fundamentally describes what Geoguessr is: a maze, with bounded walls and traversable paths, where the end of the maze is some set of information that allows us to make a confident guess.
An excellent demonstration of depth-first search patterns in Geoguessr was from last year, when StandplaatsKrakow attempted to gold medal (22,500+ points in a five-round game) all available countries on Geoguessr. One of the best players online, he medaled most countries with ease, and the list whittled down to nations that are objectively harder due to a lack of visual information or increased maze-like constraints. In a particular quest for gold medaling Cambodia, Standplaats spent 45 minutes on stream clicking eastbound on a monotonous jungle road for 25 of us, only to be blocked as he approached a village by the sudden end of street view coverage on this particular path. With no other options, he stepped away for a few minutes, came back and chose a different path, eventually to medal Cambodia.
Spatial Gradient Climbing
To step away from search algorithms, I touched earlier on how successful Geoguessr players try to gather information from their immediate drop point when possible. How do we know what constitutes useful information? How do we actually gather that information? A fascinating way to envision the utility of an investigation at a specific point in Geoguessr is what some computational biologists term “spatial gradient climbing.”
In the wild, a spatial gradient might be the interaction between a defined geographic space and a smell’s strength. A given animal will naturally, after picking up the scent, climb the gradient by following its nose toward the source. In Geoguessr, we cannot smell the locations we’re in. Our spatial gradients are based around visual cues. The spatial gradient along our path might be the distance at which we begin to see a road sign listing the distances to certain cities. If we drop within the gradient’s range, we’ll naturally navigate toward the sign in our search for usable information.
In a publication for the National Academy of Sciences from 2016, Hein, Carrara, Brumley, Stocker, and Levin suggest that “At larger scales, organisms combine responses to spatial gradients with other behavioral modules [e.g., periods of exploration, memory-based homing to known locations] to generate flexible sequences of search behavior.” I’d argue that even in a game as inconsequential as Geoguessr, we’re still using this combination of responses to determine a successful round. A combination of the two search algorithms above define the paths we take, and gradient climbing defines how we look for our information at the points along those paths. They also published this figure in the paper, which is both a delight to look at and indicative of how Geoguessr information searches actually function.
So what?
Some of you may be thinking “you absolute dolt, you’ve wasted my time, describing how to look for something!” Exactly! Mastery of Geoguessr is being able to identify how to look for, or more importantly how to find something that’ll help you figure out where you are standing. The streamers mentioned here, plus many more casual Geoguessr players, exhibit these natural search patterns every time they play, whether or not they consciously think about it.
There are outstandingly detailed guides on how to familiarize yourself with context about the world when playing Geoguessr. These guides are useful, but only to a certain extent if you cannot identify successful search patterns or determine which information signals are relevant. And when you can identify a successful search pattern, you can often apply it to other games that require searching for information. Or apply it to your professional work, but it’s usually more rewarding to take it to other games. Here are also some of my favorite screenshots I’ve taken from Geoguessr, a nice dessert after all the search theory: