Polytopia Wiki
Advertisement

This page describes the map generation process in The Battle of Polytopia. Every game occurs on a unique, randomly generated square map. Maps come in six sizes and five water amounts. Terrain is spawned in proportions that vary by tribe. Each tribe has a unique set of spawn rates and unique aesthetics for terrain and resources. During the initial map generation, the land is distributed roughly equally between all tribes in the game.

Map Size[]

There are six map sizes in Polytopia:

  • Tiny: 121 tiles, 11x11
  • Small: 196 tiles, 14x14
  • Normal: 256 tiles, 16x16
  • Large: 324 tiles, 18x18
  • Huge: 400 tiles, 20x20
  • Massive: 900 tiles, 30x30

Map size changes based on the game mode. Perfection games use a normal map. In Domination, the map size changes depending on the number of opponents: Games with one opponent are on a tiny map, two opponents on a 196-tile (14x14) map, three opponents on a normal map, and four or more on a large map.

In multiplayer, map size is set by the host when creating a new game. Tiny maps support a maximum of nine players, while other maps support up to 15.

Water Amount[]

  • Drylands: Entirely land. (Kickoo and Aquarion terrain will include water tiles.)
  • Lakes: A border of land bridges will always generate on the edges of the map. Every player is guaranteed to spawn with land connections to at least two villages.
  • Continents: Large but discrete landmasses. Most similar to pre-Moonrise maps. Every player is guaranteed to spawn with land connections to at least two villages.
  • Archipelago: Misshapen and discontinuous landmasses. Almost every city is coastal.
  • Water World: Small landmasses of one or two villages.

Spawn Rates[]

The standard spawn rates for land tiles are listed in the table below. "Inner city" refers to tiles that are adjacent to a city or village, while "outer city" refers to those that are not.

Since update 2.0.58 (Balance Pass 2), terrain will always be generated in accordance with the percentage rates - for example, Luxidoor will always have 46% of their biome (or as close as possible) as field tiles.

Inner City Outer City
Field (Total) 46% 46%
Fruit 20% 6%
Crop 20% 6%
Empty Field 8% 34%
Forest (Total) 34% 34%
Animal 17% 6%
Empty Forest 17% 28%
Mountain (Total) 20% 20%
Metal 17% 3%
Empty Mountain 3% 17%

The standard spawn rate for fish is 50% among shallow water tiles. The spawn rate for whales is 33% among ocean tiles; this rate does not vary by tribe, unlike those of other resources.

All resources spawn only within two tiles of cities or villages. This fact can be used to locate villages and enemy cities.

Spawn Rate Modifiers by Tribe[]

Modifiers by tribe are direct multipliers on the base rates. For example, Xin-xi has 1.5 times, or 50% more mountains compared to the base rate (Luxidoor). This can also have indirect effects, e.g. reducing the forest rate will also increase the rate of every other type of tile proportionally. If the base rate was 25% forest, 25% mountain, and 50% field, and a tribe had 0.5x forest rate, the final rate would be 12.5% forest, 58.33% field, and 29.17% mountain.

  1. Reductions to the amount of water are found in the source code but are not translated into the world generation and do not impact water rates.
  2. 2.0 2.1 On continents, Kickoo and Aquarion have 40% and 30%, respectively, of their tiles replaced with water after the initial map generation.
  3. Polaris is unique in that it has neither its own specific resource spawn rates nor any terrain allotted to it during world generation. Instead, other tribes in the wild animal determine the land and resources, and Polaris simply freezes its territory in the same way as the Freeze Area unit ability. (When a Polaris city is captured, the city's terrain will be converted to the capturing tribe's terrain.) If all players play Polaris, Imperius land and the default spawn rate for all resources are used.

Spawning Rules[]

Spawning rules can be used to predict the locations of ruins, villages, and cities.

  • Villages do not spawn on the edges of the map, and no more than one village will spawn in any 3x3 area. Resources spawn only within a two tile radius from villages.
  • Ruins do not spawn next to a capital city or next to another ruin.
  • Any water tile that shares an edge with a land tile is a shallow water tile. Other water tiles, including those diagonal from land tiles, are Ocean tiles.
  • Crop, metal, and whales are not visible until Organization (or Farming), Climbing, or Fishing are researched, respectively.
  • Bardur, Imperius, Kickoo, Zebasi, ∑∫ỹriȱŋ, and Cymanti are guaranteed to have at least two of the resources they can immediately use in their capital. Resources are force-spawned by replacing tiles with a tile containing the resource if the initial world generation does not provide at least two of the resources. Because of this, Kickoo's capital will always contain at least two water tiles with fish, even on drylands. In the latter case, only the two tiles with force-spawned fish will be water tiles.[1]
  • Whales do not spawn next to a city or next to another whale.[2]

Map Generation Process[]

GrowForest.png
This page is currently under construction. It may be incomplete or inaccurate. Please help Polytopia Wiki by editing it.

In AIR, all cities were generated after the terrain generation, right? Now we generate a few cities before starting terrain generation. First capitals of course. Randomly within each player's domain. Then, on all map types except waterland, we generate 1-2 suburbs per capital. Those are villages as close as possible to the capital that are force connected to the capital by land mass. In situations where it's simply impossible to add another suburb for a capital, that capital is instead connected to someone elses's suburb or capital. In order to make sure we never get deserted islands. Then, we randomly place out about a third of the villages. The amount varies a bit per map type. Also before terrain generation, so the only thing we need to take into account when placing these is to make sure they're at least two tiles away from any other city. After this we generated terrain from smoothed noise (where the city tiles are forced to land values, and are thereby likely to spread land around them through the smoothing). This is also random, we find all the locations a city could go (no water or mountains, and at least 2 tiles away from other cities). We randomly place cities on such locations as long as there are any left or until we reach or number of max cities (e.g. on dryland we set max city count to a little bit lower than the potential max so that the map isn't a completely predictable pattern of villages) https://discord.com/channels/283436219780825088/561211722296197120/780824395504943124 main server seems to be quoted by Yakmilk

number of domains depend on number of players. 1-4 players -> 4 domains, 5-9 players, 9 domains, 10-16 players 16 domains. max villages is not deterministic, and is different depending on map. most map configs generate 30% of theoretical max villages before generating terrain, then attempt to assign 60% after terrain has been generated. Dryland does not make villages before terrain, but creates 80% of max after terrain gen. water world only assigns 10% before terrain gen, (Midjifawr on beta server https://discord.com/channels/274660262873661442/736249160591998987/796666971365572618)

Domains are not the same as climate. Domains are equal-sized squares, andt here can be empty domains. (previous continued)

yeah they're as big as they can be. so in a 11x11 map the domains are 5x5, in 14x14 maps they're 7x7, etc. (previous continued)https://discord.com/channels/274660262873661442/736249160591998987/797025879452155935

domains don't need to be perfectly aligned with each other; in that case we distribute no mans land between the domains as evenly as possible.

References[]

  1. Verified experimentally in version 2.0.49.
  2. Update 2.0.49 notes
Advertisement