Adds Map of the Yellow Sea (#4026)

## Description:

"A high-stakes naval theater where empires clash over narrow corridors,
bottleneck straits, and heavily fortified shorelines."

Modeled to the exact strategic proportions of the classic Black Sea map,
Yellow Sea shifts the focus of global conflict to East Asia. The map is
defined by its massive central body of water, making naval dominance
absolutely essential for survival. However, unlike wide-open oceans,
control of the Yellow Sea is entirely dictated by its unique coastal
geography.
The Shandong And Liaoning Peninsulas are The definitive feature of the
map. Two massive, opposing peninsulas project deep into the sea, acting
as natural, heavily contestable daggers. They create tight naval choke
points in the central waters while forcing land-based players into
brutal, linear frontlines where every pixel of territory is bought with
blood.
The Continental Rim: A sprawling mainland coast wraps around the
northern and western edges of the map, offering expansive land routes
for players who prefer sweeping land invasions over amphibious assaults.

Scale Class: Medium

Gameplay Style: Naval/Land Hybrid, Tactical Choke Points, Frontline
Bottlenecks

Nations: 8
North Korea South Korea Liaoning Shandong Beijing Hebei Tianjin Jilin



description mostly generated by google gemini ai

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

DISCORD_USERNAME crunchybbbbb

<img width="1660" height="1266" alt="Screenshot 2026-05-24 220103"
src="https://github.com/user-attachments/assets/800c6732-677d-44f1-ba5c-c60da5f199e0"
/>


<img width="1500" height="1152" alt="yellow_sea2"
src="https://github.com/user-attachments/assets/9b3ba34a-3f9c-4485-9235-f953fd07be4c"
/>

Game play video https://youtu.be/IcRPTM0rHM0

---------

Co-authored-by: RickD004 <realtacoco@gmail.com>
This commit is contained in:
crunchybbb
2026-05-28 15:30:47 -07:00
committed by GitHub
parent 10bf2be102
commit 2cb5244ad4
11 changed files with 115 additions and 2 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 767 KiB

@@ -0,0 +1,45 @@
{
"name": "Yellow Sea",
"nations": [
{
"coordinates": [1350, 575],
"flag": "kp",
"name": "North Korea"
},
{
"coordinates": [1469, 935],
"flag": "kr",
"name": "South Korea"
},
{
"coordinates": [1003, 220],
"flag": "cn",
"name": "Liaoning"
},
{
"coordinates": [490, 924],
"flag": "cn",
"name": "Shandong"
},
{
"coordinates": [32, 295],
"flag": "cn",
"name": "Beijing"
},
{
"coordinates": [161, 483],
"flag": "cn",
"name": "Tianjin"
},
{
"coordinates": [109, 781],
"flag": "cn",
"name": "Hebei"
},
{
"coordinates": [1387, 84],
"flag": "cn",
"name": "Jilin"
}
]
}
+1
View File
@@ -104,6 +104,7 @@ var maps = []struct {
{Name: "twolakes"},
{Name: "venice"},
{Name: "world"},
{Name: "yellowsea"},
{Name: "yenisei"},
{Name: "big_plains", IsTest: true},
{Name: "half_land_half_ocean", IsTest: true},
+3 -2
View File
@@ -604,8 +604,9 @@
"venice": "Venice",
"korea": "Korea",
"indiansubcontinent": "Indian Subcontinent",
"labyrinth": "Labyrinth",
"balkans": "Balkans"
"balkans": "Balkans",
"yellowsea": "Yellow Sea",
"labyrinth": "Labyrinth"
},
"map_categories": {
"featured": "Featured",
+60
View File
@@ -0,0 +1,60 @@
{
"map": {
"height": 1152,
"num_land_tiles": 1042745,
"width": 1500
},
"map16x": {
"height": 288,
"num_land_tiles": 63926,
"width": 375
},
"map4x": {
"height": 576,
"num_land_tiles": 258545,
"width": 750
},
"name": "Yellow Sea",
"nations": [
{
"coordinates": [1350, 575],
"flag": "kp",
"name": "North Korea"
},
{
"coordinates": [1469, 935],
"flag": "kr",
"name": "South Korea"
},
{
"coordinates": [1003, 220],
"flag": "cn",
"name": "Liaoning"
},
{
"coordinates": [490, 924],
"flag": "cn",
"name": "Shandong"
},
{
"coordinates": [32, 295],
"flag": "cn",
"name": "Beijing"
},
{
"coordinates": [161, 483],
"flag": "cn",
"name": "Tianjin"
},
{
"coordinates": [109, 781],
"flag": "cn",
"name": "Hebei"
},
{
"coordinates": [1387, 84],
"flag": "cn",
"name": "Jilin"
}
]
}
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: 5.4 KiB

+2
View File
@@ -177,6 +177,7 @@ export enum GameMapType {
Venice = "Venice",
Korea = "Korea",
Balkans = "Balkans",
YellowSea = "Yellow Sea",
Labyrinth = "Labyrinth",
}
@@ -247,6 +248,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
GameMapType.DanishStraits,
GameMapType.NorthwestPassage,
GameMapType.Venice,
GameMapType.YellowSea,
],
fantasy: [
GameMapType.Pangaea,
+1
View File
@@ -104,6 +104,7 @@ const FREQUENCY: Partial<Record<GameMapName, number>> = {
TwoLakes: 6,
Venice: 6,
World: 20,
YellowSea: 5,
Yenisei: 6,
Labyrinth: 6,
};