Tessellation on the World Map

Although it’s visually obvious, tessellation isn’t the sort of thing that’s easily described with words. The basic building block for the World Map is a staggered 3x9 parallelogram that contains:

  • 9 Cities: The top left city is located at (0,0). (r,q) is Positive Right, Positive Down

  • 9 Resources, each listed twice, stacked Column by Column: Basic, Refined, Precious

  • The block is staggered and repeated over and over and over again

The rings are used for Immigration, Relocation, Scouting Costs, Provincial Difficulty, and Tournament sequencing, so it’s important, but fortunately there are a lot of well designed popups that do a nice job of guiding your attention, so a vague awareness of the structural details is all that you really need.

In the World Map widget on the Desktop version of Elvenar, there’s a very handy list of your Neighbors. If you go total geek, you can use the Browser Developer tools to trace the list of Neighbors, and you’ll find that the sequence exactly matches the sketch of the Manhattan Distance rings.

Beware that the Google Chrome Developer Tools are fine for small cities, but you’ll need to use the Microsoft Edge Developer Tools if the city has reached Chapter 12 or so.

Beware that json, by convention, suppresses zero value attributes, so (0,0) will have NEITHER “r”:0, NOR “q”:0,

The Elvenar Wiki discusses the World map at https://en.wiki.elvenar.com/index.php?title=World_Map#The_World_Map, but the information that’s presented is handwavish. While concentric rings are easy to explain, the devil is in the details. The world map actually uses Manhattan Distances (Taxicab distance) = ( |r|+|q| ). The basic idea is that you have to use the streets. You can’t ignore the terrain.

Nope, Nope, and Nope

[

{

"__class__": "ServerResponseVO",

"requestClass": "OtherPlayerService",

"requestMethod": "visitPlayer",

"requestId": 144,

"responseData": {

"__class__": "OtherPlayerCityVO",

"other_player": {

"__class__": "OtherPlayerVO",

"player_id": 850566352,

"name": "xxxxxxx",

"avatar": "portraitIdPaladin",

"race": "humans",

"rank": 16344,

"city_name": "xxxxxxx's City",

"location": {

"__class__": "ProvinceLocationVO",

"r": 1,

"q": 4

}

When you’re using the Browser to look at your World Map, use Ctrl+Shift+i to open the Developers Tools. Now click on a City, and the Network Response will be similar to the above code, with the (r,q) about a dozen lines from the top. Positive Right, Positive Down.

A mouseover will tell you the type of Relic. The relic coordinates are loaded along with the map, but digging out those coordinates isn’t worth the bother when it’s so easy to surmise them from the city coordinates.

(0,0) City1

(1,0) Crystal

(0,1) Planks (2,1) Magic Dust

(1,1) City4

(0,2) Steel (2,2) (Elixir

(1,2) Silk

(0,3) City 2 (2,3) City 7

(1,3) Scrolls

(0,4) Marble (2,4) Gems

(1,4) City 5

(0,5) Planks (2,5) Magic Dust

(1,5) Crystal

(0,6) City 3 (2,6) City 8

(1,6) Silk

(0,7) Steel (2,7) Elixir

(1,7) City 6

(0,8) Marble (2,8) Gems

(1,8) Scrolls

(2,9) City 9

Manufacturing Boosts are entirely predictable:

  • Standard boosts are defined by the Relics to the lower left, above, and to the lower right of each City

  • Sentient boosts are taken from the Standard boosts for the City below your city

  • Ascended boosts are taken from the Standard boosts for the City above your city

  • The Relic sectors immediately below each city are only used for Province and Tournament encounters

Wholesale Trades are restricted

  • Unboosted Standard Goods may be obtained using Coins, Supplies, or Boosted Standard Goods

  • Unboosted Sentient Goods may be obtained using Boosted Sentient Goods, although it’s a one-star trade until you get some AW buffs

  • Ascended Goods use a Merchant, rather than the normal Trader. Only fair trades are allowed, but the quantity per week is quite limited.

  • Both Sentient and Ascended Goods decay 10% every night, which you can mitigate by getting some AW buffs.