Warmer Globe · Food for Thought
The engine turns geography into heat, translating the space between places into a glow that guides each guess toward the hidden country.
At the heart of the game sits a simple loop that repeats with each turn of play. A country waits hidden, and the player names another. The engine reads the latitude and longitude of that guess, measures how far it sits from the hidden country, and returns a glow that tells the player whether to move north or south, east or west. This cycle continues until the hidden country is found, or until the expedition ends. Each guess feeds into the next, and the heat becomes the only signal the player has to guide their thinking.3
The engine treats every country as a pair of numbers. Latitude marks how far a place sits from the equator, and longitude marks how far it sits from the prime meridian. These two coordinates define a single point on the surface of the Earth. The engine stores each country this way, and every comparison between two countries becomes a comparison between two pairs of numbers. The distance between them is calculated mathematically, and that distance becomes the heat the player sees.1
What the player names is not just a word, but a location with precise coordinates. The engine does not care about the name itself. It cares about where that name points. The heat that appears is not about the guess being right or wrong in any cultural sense. It is about a single measurement: how many kilometres separate two points on a sphere. This measurement is what drives every decision the player makes.3
Every round begins with a country that the player does not know. This country is selected from a set of all countries, and it is held by the engine in secret. The player has no way to see it directly. The only way to learn about it is through the heat that appears after each guess. The engine stores the hidden country as a latitude and a longitude, just like every other country in the game.2
The hidden country is not chosen at random in the sense of being unpredictable. It is drawn from a seed, a number that determines which country appears. This means the same seed always produces the same hidden country. The daily game uses a seed based on the date, so everyone playing on the same day works with the same hidden country. This makes the game reproducible and consistent across all players.3
Because the hidden country is stored as coordinates, the engine can compare it to any other country using the same method. There is no special treatment for the hidden country. It is just another set of latitude and longitude values. The only difference is that it is not revealed until the player guesses it, or until the expedition ends. The player must infer its position from the heat of their guesses.3
When the player types a country name, the engine looks up that name in its list of all countries. Each country has a fixed latitude and longitude stored with it. The engine retrieves these numbers for the guessed country. It now has two pairs of coordinates: one for the guess, and one for the hidden country. The engine can now measure the distance between them.3
The latitude of a country tells how far it sits from the equator. This value ranges from zero at the equator to ninety at the poles. The longitude tells how far it sits from the prime meridian, which passes through Greenwich. This value ranges from zero to one hundred and eighty degrees east or west. Together, these two numbers pinpoint a single location on the Earth's surface. The engine uses these numbers for every comparison.2
What the player names becomes a pair of numbers the engine can use. The name itself is irrelevant to the calculation. Whether the player guesses a country near the equator or near the poles, the engine treats it the same way. It retrieves the latitude and longitude, and measures the distance to the hidden country. The heat that appears is purely a function of that distance.3
The distance between two countries is measured along the surface of the Earth. The Earth is treated as a sphere with a mean radius of about six thousand three hundred seventy-one kilometres. The distance is the shortest path between two points on the surface of this sphere. This path lies along a great circle, which is a circle whose centre is the centre of the sphere. The distance equals the central angle between the two points, measured in radians, multiplied by the radius of the sphere.1
To compute this distance from latitude and longitude, the engine uses the haversine formula. This formula is numerically accurate even for small distances where simpler methods would lose precision. The haversine formula takes the latitude and longitude of both points, and returns the distance between them. This distance is measured in kilometres, because the radius of the Earth is given in kilometres. The greatest possible distance between two points on a sphere is the distance between antipodes, which is about twenty thousand kilometres.1
Great-circle distance is the standard method for measuring distances on a sphere. It is widely used in navigation for exactly this reason. Treating the Earth as a sphere keeps the result accurate to within about half a percent of the true distance. This level of accuracy is sufficient for the game's purposes. The heat that appears reflects this distance, scaled to a range the player can read.1
The engine maps the distance to a heat value that the player sees. This mapping is smooth and continuous. When the distance is zero, the heat reads as boiling. As the distance increases, the heat falls off smoothly. The heat never levels out completely, even at the far side of the world. This means that two distant guesses can still be distinguished from each other by their heat values.3
The heat scale is designed so that closer guesses always read hotter. A guess that is nearer to the hidden country will always glow more intensely than a guess that is farther away. This creates a gradient that the player can follow. Moving toward the hidden country increases the heat. Moving away decreases it. The player uses this gradient to adjust their next guess.3
The mapping is strictly monotonic. There are no plateaus or flat regions. Every distance corresponds to a unique heat value. This ensures that the heat always provides useful information. Even when a guess is on the opposite side of the world, its heat value is distinct from any other distant guess. The player can still learn from each attempt.3
Besides the distance, the engine also computes the initial bearing from the guess toward the hidden country. This bearing is a compass direction that points from the guessed location toward the hidden location. It is measured in degrees, with north as zero, east as ninety, south as one hundred and eighty, and west as two hundred and seventy. The bearing tells the player which general direction to move to get closer.3
The bearing is computed from the latitude and longitude of both points. It gives the direction one would travel along the great circle from the guess to the hidden country. This direction is not necessarily constant along the entire path, but it is the direction at the starting point. The bearing provides additional guidance beyond the heat alone.3
Not every display shows the bearing to the player. The bearing is computed by the engine and can be used by the interface to provide hints. The player may see a compass arrow, or a directional indicator, or no directional hint at all. The bearing exists as a computed value regardless of whether it is shown. It is part of the engine's full calculation for each guess.3
Each round of the game is structured as a five-stop expedition. The seed draws five distinct hidden countries in a fixed order, and the player works through them one at a time. There is no cap on guesses at a stop; the player keeps naming countries, learning from the heat of each attempt, until the hidden country is found.3
The expedition structure gives the game a beginning and an end. Solving a stop reveals the next hidden country, and the expedition ends when all five have been found. The cost of the journey is counted in guesses: a stop is worth a thousand points when its country is found on the first guess, a hundred less for every extra guess it takes, and never less than a hundred, so a country found in one guess is worth ten times one found in ten.3
This structure is part of the daily game's design. Every day, a new seed produces a new chain of five hidden countries, and every player starts the same fresh expedition. The seed ensures that all players on the same day face the same five countries in the same order. This creates a shared experience across all participants.3
The hidden country and the order of play are determined by a seed. A seed is a number that controls the random selection of the hidden country. The same seed always produces the same hidden country. This makes the game deterministic and reproducible. When the daily game uses a date-based seed, all players on that date receive the same hidden country.3
Seeded determinism is a standard technique in game design. It allows the game to be consistent across different runs and different players. The seed can be shared, and anyone with the seed can reproduce the exact same game. This is useful for sharing games, for verifying results, and for creating challenges that have a single correct answer.
The seed does not affect how the engine calculates distance or heat. Those calculations are purely mathematical and depend only on the latitude and longitude of the countries. The seed only determines which country is hidden. Once the hidden country is selected, the rest of the game proceeds according to the rules of distance and heat.3
haversine formula, taking the Earth's radius as about six thousand three hundred seventy-one kilometres and the greatest possible separation, at the antipode, as about twenty thousand kilometres. It also computes the initial bearing from a guess toward the target, a compass direction to point the way. A round is a five-stop expedition, and the hidden country and the order are drawn from a seed, so the daily game is the same for everyone.