mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 09:40:44 +00:00
Add new map “The Box” (#3054)
<img width="1670" height="200" alt="banner" src="https://github.com/user-attachments/assets/b6561231-71dc-46dd-a521-453d4e97931f" /> ## Description: This proposal adds a new, completely flat map called "The Box," where players will find themselves on a completely flat landmass and will only be able to trade by land using trains and factories. - Map size: 2048×2048 pixels - Binaries generated with MapGenerator (map.bin, map4x.bin, map16x.bin) - Integrated into arcade category and multiplayer playlist - English and Spanish translations added - 13 nations/bots with unique and thematic names: > - **Middle Defender (located in the center)** > - **King of the Corner (located in the top-left corner)** > - Suspicious Ally > - Punch Merchant > - Nuke Thrower > - Fullsender > - Factory Builder > - Front Manager > - Box Fighter > - Cage Liberator > - Train Trader > - Non-peaceful Bot > - **Evan The Dev** (special mention) All other bots are distributed to cover the map evenly. <img width="838" height="835" alt="Screenshot 2026-01-28 at 17 39 45" src="https://github.com/user-attachments/assets/4665088d-cb94-4db3-8602-8a22b63bfee2" /> ## 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: sardidefcon
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 7.3 KiB |
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "TheBox",
|
||||
"nations": [
|
||||
{ "coordinates": [10, 10], "flag": "", "name": "King of the Corner" },
|
||||
{ "coordinates": [1024, 300], "flag": "", "name": "Suspicious Ally" },
|
||||
{ "coordinates": [1650, 400], "flag": "", "name": "Evan The Dev" },
|
||||
{ "coordinates": [1024, 1024], "flag": "", "name": "Middle Defender" },
|
||||
{ "coordinates": [350, 1024], "flag": "", "name": "Punch Merchant" },
|
||||
{ "coordinates": [1700, 1024], "flag": "", "name": "Nuke Thrower" },
|
||||
{ "coordinates": [400, 1650], "flag": "", "name": "Fullsender" },
|
||||
{ "coordinates": [1024, 1750], "flag": "", "name": "Factory Builder" },
|
||||
{ "coordinates": [1650, 1650], "flag": "", "name": "Front Manager" },
|
||||
{ "coordinates": [700, 700], "flag": "", "name": "Box Fighter" },
|
||||
{ "coordinates": [1350, 700], "flag": "", "name": "Cage Liberator" },
|
||||
{ "coordinates": [700, 1350], "flag": "", "name": "Train Trader" },
|
||||
{ "coordinates": [1350, 1350], "flag": "", "name": "Non-peaceful Bot" }
|
||||
]
|
||||
}
|
||||
@@ -63,6 +63,7 @@ var maps = []struct {
|
||||
{Name: "world"},
|
||||
{Name: "lemnos"},
|
||||
{Name: "twolakes"},
|
||||
{Name: "thebox"},
|
||||
{Name: "didier"},
|
||||
{Name: "didierfrance"},
|
||||
{Name: "amazonriver"},
|
||||
|
||||
@@ -328,6 +328,7 @@
|
||||
"manicouagan": "Manicouagan",
|
||||
"lemnos": "Lemnos",
|
||||
"sierpinski": "Sierpinski",
|
||||
"thebox": "The Box",
|
||||
"twolakes": "Two Lakes",
|
||||
"straitofhormuz": "Strait of Hormuz",
|
||||
"surrounded": "Surrounded",
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"map": {
|
||||
"height": 2048,
|
||||
"num_land_tiles": 4194304,
|
||||
"width": 2048
|
||||
},
|
||||
"map16x": {
|
||||
"height": 512,
|
||||
"num_land_tiles": 262144,
|
||||
"width": 512
|
||||
},
|
||||
"map4x": {
|
||||
"height": 1024,
|
||||
"num_land_tiles": 1048576,
|
||||
"width": 1024
|
||||
},
|
||||
"name": "The Box",
|
||||
"nations": [
|
||||
{
|
||||
"coordinates": [10, 10],
|
||||
"flag": "",
|
||||
"name": "King of the Corner"
|
||||
},
|
||||
{
|
||||
"coordinates": [1024, 300],
|
||||
"flag": "",
|
||||
"name": "Suspicious Ally"
|
||||
},
|
||||
{
|
||||
"coordinates": [1650, 400],
|
||||
"flag": "",
|
||||
"name": "Evan The Dev"
|
||||
},
|
||||
{
|
||||
"coordinates": [1024, 1024],
|
||||
"flag": "",
|
||||
"name": "Middle Defender"
|
||||
},
|
||||
{
|
||||
"coordinates": [350, 1024],
|
||||
"flag": "",
|
||||
"name": "Punch Merchant"
|
||||
},
|
||||
{
|
||||
"coordinates": [1700, 1024],
|
||||
"flag": "",
|
||||
"name": "Nuke Thrower"
|
||||
},
|
||||
{
|
||||
"coordinates": [400, 1650],
|
||||
"flag": "",
|
||||
"name": "Fullsender"
|
||||
},
|
||||
{
|
||||
"coordinates": [1024, 1750],
|
||||
"flag": "",
|
||||
"name": "Factory Builder"
|
||||
},
|
||||
{
|
||||
"coordinates": [1650, 1650],
|
||||
"flag": "",
|
||||
"name": "Front Manager"
|
||||
},
|
||||
{
|
||||
"coordinates": [700, 700],
|
||||
"flag": "",
|
||||
"name": "Box Fighter"
|
||||
},
|
||||
{
|
||||
"coordinates": [1350, 700],
|
||||
"flag": "",
|
||||
"name": "Cage Liberator"
|
||||
},
|
||||
{
|
||||
"coordinates": [700, 1350],
|
||||
"flag": "",
|
||||
"name": "Train Trader"
|
||||
},
|
||||
{
|
||||
"coordinates": [1350, 1350],
|
||||
"flag": "",
|
||||
"name": "Non-peaceful Bot"
|
||||
}
|
||||
]
|
||||
}
|
||||
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: 536 B |
@@ -111,6 +111,7 @@ export enum GameMapType {
|
||||
Manicouagan = "Manicouagan",
|
||||
Lemnos = "Lemnos",
|
||||
Sierpinski = "Sierpinski",
|
||||
TheBox = "The Box",
|
||||
TwoLakes = "Two Lakes",
|
||||
StraitOfHormuz = "Strait of Hormuz",
|
||||
Surrounded = "Surrounded",
|
||||
@@ -177,6 +178,7 @@ export const mapCategories: Record<string, GameMapType[]> = {
|
||||
GameMapType.Surrounded,
|
||||
],
|
||||
arcade: [
|
||||
GameMapType.TheBox,
|
||||
GameMapType.Didier,
|
||||
GameMapType.DidierFrance,
|
||||
GameMapType.Sierpinski,
|
||||
|
||||
@@ -65,6 +65,7 @@ const frequency: Partial<Record<GameMapName, number>> = {
|
||||
Didier: 1,
|
||||
AmazonRiver: 3,
|
||||
Sierpinski: 10,
|
||||
TheBox: 3,
|
||||
};
|
||||
|
||||
interface MapWithMode {
|
||||
|
||||
Reference in New Issue
Block a user