New map! "Traders Dream" 🏝️ (#3177)

## Description:

A redditor posted this, got quite a few upvotes

<img width="753" height="667" alt="image"
src="https://github.com/user-attachments/assets/9cd6664f-6afa-428a-b85e-4c335dbe1699"
/>


https://www.reddit.com/r/Openfront/comments/1qlrqro/these_maps_are_so_fun_i_want_more/

So I thought why not make another one, this time a bit focused on
traders (tiny islands to trademaxx)
And two big islands (about 50% of the map land tiles). So its big
islands vs small islands.

<img width="1098" height="959" alt="Screenshot 2026-02-10 231024"
src="https://github.com/user-attachments/assets/32368223-bef4-4ba1-a203-29d9afd5b762"
/>

13 nations :)
2200 × 1920

## 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:

FloPinguin
This commit is contained in:
FloPinguin
2026-02-11 01:33:09 +01:00
committed by GitHub
parent 12733900a4
commit c44130cf32
11 changed files with 165 additions and 2 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

@@ -0,0 +1,70 @@
{
"name": "Traders Dream",
"nations": [
{
"coordinates": [1010, 120],
"flag": "",
"name": "Fort Profit"
},
{
"coordinates": [900, 400],
"flag": "",
"name": "Taxhaven"
},
{
"coordinates": [1350, 370],
"flag": "",
"name": "Markup Mesa"
},
{
"coordinates": [1100, 1290],
"flag": "",
"name": "Ledgerland"
},
{
"coordinates": [850, 1550],
"flag": "",
"name": "Isle of Margins"
},
{
"coordinates": [1350, 1550],
"flag": "",
"name": "Port Folio"
},
{
"coordinates": [430, 810],
"flag": "",
"name": "Barter Bluffs"
},
{
"coordinates": [1770, 810],
"flag": "",
"name": "Dividend Shores"
},
{
"coordinates": [1210, 660],
"flag": "",
"name": "Market Peaks"
},
{
"coordinates": [1150, 1830],
"flag": "",
"name": "Cape Commerce"
},
{
"coordinates": [1890, 1390],
"flag": "",
"name": "Anchorspire"
},
{
"coordinates": [310, 1420],
"flag": "",
"name": "Inflation Island"
},
{
"coordinates": [1870, 400],
"flag": "",
"name": "Harborwick"
}
]
}
+2 -1
View File
@@ -63,11 +63,12 @@ var maps = []struct {
{Name: "world"},
{Name: "lemnos"},
{Name: "twolakes"},
{Name: "thebox"},
{Name: "thebox"},
{Name: "didier"},
{Name: "didierfrance"},
{Name: "amazonriver"},
{Name: "yenisei"},
{Name: "tradersdream"},
{Name: "big_plains", IsTest: true},
{Name: "half_land_half_ocean", IsTest: true},
{Name: "ocean_and_land", IsTest: true},
+2 -1
View File
@@ -326,7 +326,8 @@
"surrounded": "Surrounded",
"didier": "Didier",
"didierfrance": "Didier (France)",
"amazonriver": "Amazon River"
"amazonriver": "Amazon River",
"tradersdream": "Traders Dream"
},
"map_categories": {
"featured": "Featured",
+85
View File
@@ -0,0 +1,85 @@
{
"map": {
"height": 1920,
"num_land_tiles": 972041,
"width": 2200
},
"map16x": {
"height": 480,
"num_land_tiles": 58992,
"width": 550
},
"map4x": {
"height": 960,
"num_land_tiles": 240669,
"width": 1100
},
"name": "Traders Dream",
"nations": [
{
"coordinates": [1010, 120],
"flag": "",
"name": "Fort Profit"
},
{
"coordinates": [900, 400],
"flag": "",
"name": "Taxhaven"
},
{
"coordinates": [1350, 370],
"flag": "",
"name": "Markup Mesa"
},
{
"coordinates": [1100, 1290],
"flag": "",
"name": "Ledgerland"
},
{
"coordinates": [850, 1550],
"flag": "",
"name": "Isle of Margins"
},
{
"coordinates": [1350, 1550],
"flag": "",
"name": "Port Folio"
},
{
"coordinates": [430, 810],
"flag": "",
"name": "Barter Bluffs"
},
{
"coordinates": [1770, 810],
"flag": "",
"name": "Dividend Shores"
},
{
"coordinates": [1210, 660],
"flag": "",
"name": "Market Peaks"
},
{
"coordinates": [1150, 1830],
"flag": "",
"name": "Cape Commerce"
},
{
"coordinates": [1890, 1390],
"flag": "",
"name": "Anchorspire"
},
{
"coordinates": [310, 1420],
"flag": "",
"name": "Inflation Island"
},
{
"coordinates": [1870, 400],
"flag": "",
"name": "Harborwick"
}
]
}
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: 7.6 KiB

+2
View File
@@ -119,6 +119,7 @@ export enum GameMapType {
DidierFrance = "Didier France",
AmazonRiver = "Amazon River",
Yenisei = "Yenisei",
TradersDream = "Traders Dream",
}
export type GameMapName = keyof typeof GameMapType;
@@ -178,6 +179,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.FourIslands,
GameMapType.Svalmel,
GameMapType.Surrounded,
GameMapType.TradersDream,
],
arcade: [
GameMapType.TheBox,
+1
View File
@@ -67,6 +67,7 @@ const frequency: Partial<Record<GameMapName, number>> = {
Sierpinski: 10,
TheBox: 3,
Yenisei: 6,
TradersDream: 4,
};
interface MapWithMode {