Add Arctic map (#3341)

## Description:

Adds Arctic map, a map centered about the Geographical North Pole using
an azimuthal equidistant projection. Features Cold War themed countries
and subdivisions as nations. Square map with 1.6M land tiles. Terrain
data from Opentopography and Arctic SDI real relief data

<img width="1830" height="1830" alt="image"
src="https://github.com/user-attachments/assets/0b8b1e42-f477-4ebf-a256-c07536db87d9"
/>

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

tri.star1011
This commit is contained in:
RickD004
2026-03-05 22:43:34 -06:00
committed by GitHub
parent 0dc520b1c8
commit 6254cc0598
12 changed files with 523 additions and 1 deletions
+5
View File
@@ -54,6 +54,11 @@ Licensed under [CC BY-SA 3.0 DE](https://creativecommons.org/licenses/by-sa/3.0/
[Niledelta 33](https://commons.wikimedia.org/wiki/File:Niledelta_33.svg) by John187
Licensed under [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)
### Arctic Map
[Arctic SDI](https://catalogue.arctic-sdi.org/geonetwork/srv/spa/catalog.search#/metadata/8b4f2b34-2d0d-4744-ae0f-d7989b9f7a02)
Licensed under [CC0 1.0.](https://creativecommons.org/publicdomain/zero/1.0/legalcode.en)
## Icons
### [The Noun Project](https://thenounproject.com/)
Binary file not shown.

After

Width:  |  Height:  |  Size: 719 KiB

+225
View File
@@ -0,0 +1,225 @@
{
"name": "Arctic",
"nations": [
{
"coordinates": [622, 1171],
"name": "Greenland",
"flag": "gl"
},
{
"coordinates": [632, 1438],
"name": "Iceland",
"flag": "is"
},
{
"coordinates": [90, 1046],
"name": "Quebec",
"flag": "Quebec"
},
{
"coordinates": [747, 336],
"name": "Alaska",
"flag": "Alaska"
},
{
"coordinates": [485, 927],
"name": "Nunavut",
"flag": "ca"
},
{
"coordinates": [432, 550],
"name": "Northwest Territories",
"flag": "ca"
},
{
"coordinates": [608, 447],
"name": "Yukon",
"flag": "ca"
},
{
"coordinates": [344, 320],
"name": "British Columbia",
"flag": "ca"
},
{
"coordinates": [64, 601],
"name": "Manitoba",
"flag": "ca"
},
{
"coordinates": [247, 571],
"name": "Saskatchewan",
"flag": "ca"
},
{
"coordinates": [136, 401],
"name": "Alberta",
"flag": "ca"
},
{
"coordinates": [67, 795],
"name": "Ontario",
"flag": "ca"
},
{
"coordinates": [49, 1313],
"name": "Newfoundland and Labrador",
"flag": "ca"
},
{
"coordinates": [74, 226],
"name": "United States of America",
"flag": "us"
},
{
"coordinates": [1457, 1381],
"name": "Soviet Union",
"flag": "Communist flag"
},
{
"coordinates": [1683, 1414],
"name": "Kazakh SSR",
"flag": "Communist flag"
},
{
"coordinates": [1709, 1603],
"name": "Uzbek SSR",
"flag": "Communist flag"
},
{
"coordinates": [1784, 1744],
"name": "Turkmen SSR",
"flag": "Communist flag"
},
{
"coordinates": [1803, 1265],
"name": "Kirghiz SSR",
"flag": "Communist flag"
},
{
"coordinates": [745, 1736],
"name": "United Kingdom",
"flag": "gb"
},
{
"coordinates": [893, 1773],
"name": "West Germany",
"flag": "west_germany"
},
{
"coordinates": [987, 1792],
"name": "East Germany",
"flag": "east_germany"
},
{
"coordinates": [1333, 1774],
"name": "Ukrainian SSR",
"flag": "Communist flag"
},
{
"coordinates": [1194, 1814],
"name": "Moldovan SSR",
"flag": "Communist flag"
},
{
"coordinates": [1197, 1626],
"name": "Belorussian SSR",
"flag": "Communist flag"
},
{
"coordinates": [1091, 1744],
"name": "Poland",
"flag": "pl"
},
{
"coordinates": [1805, 1486],
"name": "Tajik SSR",
"flag": "Communist flag"
},
{
"coordinates": [1442, 1807],
"name": "Georgian SSR",
"flag": "Communist flag"
},
{
"coordinates": [1573, 1790],
"name": "Azerbaijan SSR",
"flag": "Communist flag"
},
{
"coordinates": [1089, 1519],
"name": "Finland",
"flag": "fi"
},
{
"coordinates": [987, 1538],
"name": "Sweden",
"flag": "se"
},
{
"coordinates": [889, 1587],
"name": "Norway",
"flag": "no"
},
{
"coordinates": [1793, 156],
"name": "Japan",
"flag": "jp"
},
{
"coordinates": [1776, 517],
"name": "China",
"flag": "cn"
},
{
"coordinates": [1792, 774],
"name": "Mongolia",
"flag": "mn"
},
{
"coordinates": [1773, 961],
"name": "Tannu Tuva",
"flag": "Communist flag"
},
{
"coordinates": [1142, 382],
"name": "Far East",
"flag": "Communist flag"
},
{
"coordinates": [1410, 625],
"name": "Yakut ASSR",
"flag": "Communist flag"
},
{
"coordinates": [1817, 364],
"name": "North Korea",
"flag": "kp"
},
{
"coordinates": [1664, 689],
"name": "Buryat ASSR",
"flag": "Communist flag"
},
{
"coordinates": [1440, 1170],
"name": "Komi ASSR",
"flag": "Communist flag"
},
{
"coordinates": [1383, 875],
"name": "Siberia",
"flag": "Siberia"
},
{
"coordinates": [950, 1174],
"name": "Svalbard",
"flag": "sj"
},
{
"coordinates": [789, 1823],
"name": "France",
"flag": "fr"
}
]
}
+1
View File
@@ -75,6 +75,7 @@ var maps = []struct {
{Name: "tradersdream"},
{Name: "hawaii"},
{Name: "niledelta"},
{Name: "arctic"},
{Name: "big_plains", IsTest: true},
{Name: "half_land_half_ocean", IsTest: true},
{Name: "ocean_and_land", IsTest: true},
+2 -1
View File
@@ -336,7 +336,8 @@
"tradersdream": "Traders Dream",
"hawaii": "Hawaii",
"alps": "Alps",
"niledelta": "Nile Delta"
"niledelta": "Nile Delta",
"arctic": "Arctic"
},
"map_categories": {
"featured": "Featured",
+284
View File
@@ -0,0 +1,284 @@
{
"map": {
"height": 1828,
"num_land_tiles": 1678775,
"width": 1828
},
"map16x": {
"height": 457,
"num_land_tiles": 97927,
"width": 457
},
"map4x": {
"height": 914,
"num_land_tiles": 409832,
"width": 914
},
"name": "arctic_circle",
"nations": [
{
"coordinates": [622, 1171],
"flag": "gl",
"name": "Greenland",
"strength": 2
},
{
"coordinates": [632, 1438],
"flag": "is",
"name": "Iceland",
"strength": 1
},
{
"coordinates": [90, 1046],
"flag": "Quebec",
"name": "Quebec",
"strength": 1
},
{
"coordinates": [747, 336],
"flag": "Alaska",
"name": "Alaska",
"strength": 2
},
{
"coordinates": [485, 927],
"flag": "ca",
"name": "Nunavut",
"strength": 1
},
{
"coordinates": [432, 550],
"flag": "ca",
"name": "Northwest Territories",
"strength": 1
},
{
"coordinates": [608, 447],
"flag": "ca",
"name": "Yukon",
"strength": 1
},
{
"coordinates": [344, 320],
"flag": "ca",
"name": "British Columbia",
"strength": 1
},
{
"coordinates": [64, 601],
"flag": "ca",
"name": "Manitoba",
"strength": 1
},
{
"coordinates": [247, 571],
"flag": "ca",
"name": "Saskatchewan",
"strength": 1
},
{
"coordinates": [136, 401],
"flag": "ca",
"name": "Alberta",
"strength": 1
},
{
"coordinates": [67, 795],
"flag": "ca",
"name": "Ontario",
"strength": 2
},
{
"coordinates": [49, 1313],
"flag": "ca",
"name": "Newfoundland and Labrador",
"strength": 1
},
{
"coordinates": [74, 226],
"flag": "us",
"name": "United States of America",
"strength": 3
},
{
"coordinates": [1457, 1381],
"flag": "Communist flag",
"name": "Soviet Union",
"strength": 3
},
{
"coordinates": [1683, 1414],
"flag": "Communist flag",
"name": "Kazakh SSR",
"strength": 2
},
{
"coordinates": [1709, 1603],
"flag": "Communist flag",
"name": "Uzbek SSR",
"strength": 1
},
{
"coordinates": [1784, 1744],
"flag": "Communist flag",
"name": "Turkmen SSR",
"strength": 2
},
{
"coordinates": [1803, 1265],
"flag": "Communist flag",
"name": "Kirghiz SSR",
"strength": 1
},
{
"coordinates": [745, 1736],
"flag": "gb",
"name": "United Kingdom",
"strength": 3
},
{
"coordinates": [893, 1773],
"flag": "west_germany",
"name": "West Germany",
"strength": 1
},
{
"coordinates": [987, 1792],
"flag": "east_germany",
"name": "East Germany",
"strength": 2
},
{
"coordinates": [1333, 1774],
"flag": "Communist flag",
"name": "Ukrainian SSR",
"strength": 2
},
{
"coordinates": [1194, 1814],
"flag": "Communist flag",
"name": "Moldovan SSR",
"strength": 1
},
{
"coordinates": [1197, 1626],
"flag": "Communist flag",
"name": "Belorussian SSR",
"strength": 1
},
{
"coordinates": [1091, 1744],
"flag": "pl",
"name": "Poland",
"strength": 2
},
{
"coordinates": [1805, 1486],
"flag": "Communist flag",
"name": "Tajik SSR",
"strength": 1
},
{
"coordinates": [1442, 1807],
"flag": "Communist flag",
"name": "Georgian SSR",
"strength": 1
},
{
"coordinates": [1573, 1790],
"flag": "Communist flag",
"name": "Azerbaijan SSR",
"strength": 1
},
{
"coordinates": [1089, 1519],
"flag": "fi",
"name": "Finland",
"strength": 2
},
{
"coordinates": [987, 1538],
"flag": "se",
"name": "Sweden",
"strength": 1
},
{
"coordinates": [889, 1587],
"flag": "no",
"name": "Norway",
"strength": 1
},
{
"coordinates": [1793, 156],
"flag": "jp",
"name": "Japan",
"strength": 2
},
{
"coordinates": [1776, 517],
"flag": "cn",
"name": "China",
"strength": 3
},
{
"coordinates": [1792, 774],
"flag": "mn",
"name": "Mongolia",
"strength": 1
},
{
"coordinates": [1773, 961],
"flag": "Communist flag",
"name": "Tannu Tuva",
"strength": 2
},
{
"coordinates": [1142, 382],
"flag": "Communist flag",
"name": "Far East",
"strength": 1
},
{
"coordinates": [1410, 625],
"flag": "Communist flag",
"name": "Yakut ASSR",
"strength": 1
},
{
"coordinates": [1817, 364],
"flag": "kp",
"name": "North Korea",
"strength": 2
},
{
"coordinates": [1664, 689],
"flag": "Communist flag",
"name": "Buryat ASSR",
"strength": 1
},
{
"coordinates": [1440, 1170],
"flag": "Communist flag",
"name": "Komi ASSR",
"strength": 1
},
{
"coordinates": [1383, 875],
"flag": "Siberia",
"name": "Siberia",
"strength": 2
},
{
"coordinates": [950, 1174],
"flag": "sj",
"name": "Svalbard",
"strength": 1
},
{
"coordinates": [789, 1823],
"flag": "fr",
"name": "France",
"strength": 1
}
]
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

+2
View File
@@ -136,6 +136,7 @@ export enum GameMapType {
Hawaii = "Hawaii",
Alps = "Alps",
NileDelta = "Nile Delta",
Arctic = "Arctic",
}
export type GameMapName = keyof typeof GameMapType;
@@ -184,6 +185,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.Hawaii,
GameMapType.Alps,
GameMapType.NileDelta,
GameMapType.Arctic,
],
fantasy: [
GameMapType.Pangaea,
+1
View File
@@ -79,6 +79,7 @@ const frequency: Partial<Record<GameMapName, number>> = {
Hawaii: 4,
Alps: 4,
NileDelta: 4,
Arctic: 6,
};
const TEAM_WEIGHTS: { config: TeamCountConfig; weight: number }[] = [