mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 11:00:43 +00:00
main
122 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
805f0968b1 |
Add impassable terrain 🗺️ (#4340)
## Description: Relates to #3725 Adds a new **Impassable** terrain type that enables non-rectangular maps and creates impassable barriers on the map. Painted with pure black (`#000`) in the map editor's `image.png`. **Encoding:** Impassable terrain is encoded in the binary format as `isLand=1, magnitude=31` (previously unused). The Go map generator detects `#000` pixels and produces this encoding. The map generator's minimap downscaling gives impassable highest priority (Impassable > Water > Land). Thumbnails render impassable as transparent so the map picker background shows through. **Rendering:** Impassable tiles render as the map background colour (`rgb(60, 60, 60)`, matching `gl.clearColor` in `Renderer.ts`), making them visually indistinguishable from the area outside the map quad. This enables maps to appear non-rectangular. **Gameplay restrictions:** Impassable terrain cannot be: - Owned (`conquer()` throws) - Attacked (`AttackExecution` skips impassable tiles in both `tick()` and `addNeighbors()`) - Nuked (targeting rejected in `nukeSpawn()`, blast radius filtered in `tilesToDestroy()`) - Spawned on (nations, human players, and structures all reject impassable tiles) - Converted to water (guarded in `WaterManager` and `setWater()`) **Nuke trajectories:** Nuke trajectories cannot cross impassable terrain, matching the existing map-border enforcement. This is checked at launch time in `NukeExecution.tick()`. The client-side trajectory preview turns red with a red X where the arc crosses impassable terrain (reusing the existing SAM-intercept visual pipeline in `NukeTrajectory.ts`). The nuke ghost preview is completely hidden when hovering over impassable terrain (same as hovering outside the map). https://github.com/user-attachments/assets/ff131146-9749-41e0-892a-617e5cd16c54 Impassable terrain is transparent on the thumbnail: <img width="213" height="152" alt="Screenshot 2026-06-18 211640" src="https://github.com/user-attachments/assets/ede16f8c-9239-4ab1-be5d-0ba81cce5e9e" /> Tested with water nukes, made sure there is no water depth gradient near the impassable terrain, just like at the world border: <img width="774" height="771" alt="Screenshot 2026-06-18 212348" src="https://github.com/user-attachments/assets/4429069d-911b-48e8-91e3-7307d42c9397" /> Models used: GLM 5.2 and MiMo 2.5 Pro 😄 ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: FloPinguin |
||
|
|
1c5122e2d2 |
[Fix] Pathfinding bug in Warship Warship (#4274)
> **Before opening a PR:** discuss new features on [Discord](https://discord.gg/K9zernJB5z) first, and file bugs or small improvements as [issues](https://github.com/openfrontio/OpenFrontIO/issues/new/choose). You must be assigned to an `approved` issue — unsolicited PRs will be auto-closed. **Add approved & assigned issue number here:** Resolves #4273 ## Description: Minor pathfinding bugs to do with the weird corners in Warship Warship. Boats are unable to exit some of the corners for no reason. This bugfix simply adds 2 blue pixels to all the glitched corners. Credit to @RickD004 for adding the pixels <img width="1265" height="674" alt="Screenshot 2026-06-13 223641" src="https://github.com/user-attachments/assets/5802d5ae-14cb-4159-ab70-454e1c73dfae" /> <img width="1262" height="688" alt="Screenshot 2026-06-13 223702" src="https://github.com/user-attachments/assets/c3d5c1d5-98f6-4322-87b0-134cfc916d1d" /> ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: DISCORD_USERNAME crunchybbbbb |
||
|
|
e494f83e8e |
New and updated categories for maps (#4254)
Resolves #4250 ## Description: Huge update for the map categories: https://github.com/user-attachments/assets/b7dc6344-efdc-4073-b15a-92b6dccdcc19 **New Categories** - Re-adds Continental category, with the 7 traditional continents - Re-adds the category of Arcade along all its maps. - Renames "Other" to "Fictional", so that tag is more specific and feels more in-theme with the others. The info.json's of the maps that had the Other category got changed to Fictional **Map Category changes** - **achiran**: adds Europe (while the map is fictional, it is made up of real islands from ireland. (Since world includes Dyslexdria and Antarctica has Deglaciated Antarctica, both fictional , i figured for consistency we could include these mash-up maps too) - **aegean**: adds Asia category (Turkey is in Asia) - **arctic**: adds Asia category - **choppingblock**: updated "other" to "fictional", added to "new" - **deglaciatedantarctica**: updated "other" to "fictional" - **didier**: re-added to Arcade - **didierfrance**: re-added to Arcade - **dyslexdria**: updated "other" to "fictional" - **fourislands**: updated "other" to "fictional" - **hawaii**: remove north_america tag (while part of the US, hawaii is geographically only in Oceania) - **labyrinth**: added to new, re-added to Arcade - **marenostrum**: added africa and asia tags, the continents which the mediterranean borders - **onion**: re-added to Arcade - **pangaea**: updated "other" to "fictional" - **passage**: updated "other" to "fictional" - **sierpinski** re-added to Arcade - **surrounded**: updated "other" to "fictional" - **svalmel**: updated "other" to "fictional", added to europe and north_america (same logic as achiran) - **thebox**: re-added to Arcade - **tradersdream**: updated "other" to "fictional" - **worldinverted**: updated "other" to "fictional", added to "new" - **africa**: added to Continental - **antarctica**: added to Continental - **asia**: added to Continental - **europe**: added to Continental - **northamerica**: added to Continental - **southamerica**: added to Continental - **oceania**: added to Continental - **mississippiriver**: added to "new" - **korea**: added to "new" - **middleeast**: added to "new" - **balkans**: added to "new" - **indiansubcontinent**: added to "new" - **taiwanstrait**: added to "new" - **northwestpassage**: added to "new" - **southeastasia**: added to "new" - **venice**: added to "new" - **yellowsea**: added to "new" - **hongkong**: added to "new" - **titan**: added to "new" - **caribbean**: added to "new" - **juandefucastrait**: added to "new" - **danishstraits**: added to "new" ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: tri.star1011 |
||
|
|
03b1e0e5e7 |
Update Map Dyslexdria (#4257)
**Add approved & assigned issue number here:** Resolves #4217 ## Description: - Add addition nations. All world nations with flags and funny names. - Minor changes to map. Please do not notate this publicly. Continuous changes to Dyslexdria per its theme. ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: PlaysBadly |
||
|
|
5102805d77 |
Adds Warship Warship map (with additional nations and team spawn) (#4261)
> **Before opening a PR:** discuss new features on [Discord](https://discord.gg/K9zernJB5z) first, and file bugs or small improvements as [issues](https://github.com/openfrontio/OpenFrontIO/issues/new/choose). You must be assigned to an `approved` issue — unsolicited PRs will be auto-closed. **Add approved & assigned issue number here:** Resolves #4259 ## Description: 2 Warship shaped islands next to each other. Trade ships and land attacks can go through the corners. This can be either a 2 teams or a ffa map. Size is 3000x1396 with 29% land. This will complete the 20th map for v32 before it releases in 2 days. There are 10 nations with 23 additional nations (with ai generated names). The nations are made up similarly to the ones in traders dream but they are piracy themed and theres also a meme "Evil island man" nation (rex reference) It is based on a meme when Ultimus-Rex says "warship warship" when deploying warships and now people spam "warship warship" in the comments, especially this user named @warshipwarship who comments warship warship on every video. [https://youtu.be/DGMIji0bQQM](https://github.com/openfrontio/OpenFrontIO/issues/url) <img width="3000" height="1396" alt="image" src="https://github.com/user-attachments/assets/4bf6d708-afbc-41ea-be7c-cf43fdf69cbc" /> ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: DISCORD_USERNAME crunchybbbbb |
||
|
|
f4840a1cfd | Add Giant World Map to the multiplayer queue after recent performance improvements. I'm hitting 40fps on a 10 year old chromebook | ||
|
|
32011d2ed2 |
Fix a river in Balkans not connecting to the sea (#4249)
Resolves #4248 ## Description: Fix river not connected in Balkans map along the map border. The map generator accidentally deleted some columns of pixels along the map limits, and it disconnected a river. <img width="588" height="482" alt="image" src="https://github.com/user-attachments/assets/2c78b6bd-d669-4aef-bc1d-c69d4aeed162" /> Updated version <img width="290" height="311" alt="image" src="https://github.com/user-attachments/assets/f315bdfc-bcca-400d-95a7-876c14e47400" /> ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: tri.star1011 |
||
|
|
182d008ddd |
Generate a single MapInfo list; move SPECIAL_TEAM_MAPS and en.json map names into info.json (#4231)
**Add approved & assigned issue number here:** N/A — maintainer follow-up to #4227. ## Description: Follow-up to #4227, finishing the "info.json is the single source of truth" refactor. **Maps.gen.ts now generates one `MapInfo` interface and a `maps` list** instead of parallel lookup records. `mapCategories`, `mapTranslationKeys`, and `multiplayerFrequency` are gone — consumers read the list directly (`map.categories`, `map.translationKey`, `map.multiplayerFrequency`). MapPicker got simpler in the process: it renders from `MapInfo` objects, so the reverse `Object.entries(GameMapType)` lookup to recover the enum key is gone. The featured-rank sort moved out of the Go codegen into the picker, where the presentation concern belongs. **`SPECIAL_TEAM_MAPS` moves into info.json** as an optional `special_team_count` field (set on the same 17 maps with the same values). MapPlaylist derives its map from the generated list; `SPECIAL_TEAM_FORCE_CHANCE` and the frequency multiplier behavior are unchanged. **The en.json `map` section is now generated.** A new optional `display_name` field in info.json (defaulting to `name`) is written to `resources/lang/en.json` by the generator, preserving the section's non-map UI keys (`map`, `featured`, `all`, `favorites`, `random`). The 8 maps whose English display name intentionally differs from the frozen enum value (e.g. `MENA`, `Milky Way`, `Europe (Classic)`, `Baikal (Nuke Wars)`) declare it via `display_name`, so no display text changes. The section is emitted alphabetically; since #4232 already sorted en.json and every value matches, regeneration is byte-identical and this PR has no en.json diff. Other languages remain Crowdin-managed. The generator also now validates `translation_key` is exactly `map.<folder>` and `special_team_count >= 2`. MapConsistency tests compare info.json directly against the generated list and the en.json section, and fail with a "run `npm run gen-maps`" message on drift. No behavior changes: enum values, playlist frequencies, special-team counts, featured order, and display names are all byte-identical. ## Please complete the following: - [x] I have added screenshots for all UI updates (no UI changes — internal refactor, rendering output identical) - [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 ## Please put your Discord username so you can be contacted if a bug or regression is found: evanpelle 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
3de5fb4204 |
Move map metadata into info.json and generate map TypeScript from it (#4227)
**Add approved & assigned issue number here:** N/A — maintainer refactor. ## Description: Makes each map's `info.json` the single source of truth for map metadata — adding a map is now a folder with `image.png` + `info.json`, a `gen-maps` run, and an en.json display name. **info.json / manifest.json carry full map metadata.** Every `map-generator/assets/maps/<map>/info.json` declares `id` (the `GameMapType` enum key), `name` (the enum value — wire format, unchanged for all 94 maps), `translation_key`, `categories`, and `multiplayer_frequency` (the public-playlist weight that used to be the `FREQUENCY` record in MapPlaylist.ts). The generator validates everything and mirrors it into `resources/maps/<map>/manifest.json`. 23 stale info.json `name` values were normalized to the canonical enum value; enum values are byte-identical, so replays and stored game configs are unaffected. **The generator emits the TypeScript and discovers maps itself.** New `map-generator/codegen.go` generates `src/core/game/Maps.gen.ts` (`GameMapType`, `GameMapName`, `mapCategories`, `mapTranslationKeys`, `multiplayerFrequency` — now a full `Record<GameMapName, number>`, killing the old `Partial`) on every run; `Game.ts` re-exports it. The hardcoded map registry in `main.go` is gone — maps are auto-discovered from the `assets/maps` / `assets/test_maps` directories. MapConsistency tests fail with a "run `npm run gen-maps`" message if info.json, manifest.json, and Maps.gen.ts drift. The tracked `map-generator/map-generator` binary is rebuilt to match. **New categories: continents + world/cosmic/tournament/other, multi-category support.** `continental`/`regional`/`fantasy`/`arcade` are replaced by `featured`, `world`, `europe`, `asia`, `north_america`, `africa`, `south_america`, `oceania`, `antarctica`, `cosmic`, `tournament`, and `other`. Maps can list multiple categories, so straddlers (Black Sea, Bosphorus, Caucasus, Between Two Seas, Bering Sea/Strait, Mena, Strait of Gibraltar, Hawaii, Arctic) appear under both regions. Featured is itself a category (same 7 maps as before). MapPlaylist keeps its arcade exclusion via an explicit set. **Map picker UI.** Two tabs: **Featured** (default — featured maps plus a Favorites section when maps are starred) and **All** (one prominent collapsible bar per category with a map count, collapsed by default). The selected map is prepended to the featured grid when it lives elsewhere. `getMapName()` resolves through the generated `mapTranslationKeys`, which also fixes tourney maps never resolving a valid translation key. ## Please complete the following: - [ ] I have added screenshots for all UI updates (maintainer change — picker described above) - [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 ## Please put your Discord username so you can be contacted if a bug or regression is found: evanpelle 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com> |
||
|
|
7405339ea7 |
Add Titan map with random spawn nations - along new Cosmic map category (#4183)
Resolves #4182 ## Description: Adds "Titan" (real moon of Saturn with methane seas) map . Uses new random spawn nation feature by FloPinguin. https://github.com/openfrontio/OpenFrontIO/pull/4156 Also adds new Cosmic map category. The "Other" map category has become a wastebasket of unrelated maps, and with increasing number of maps, i think its a good addition to have better categories for these maps. I figured these 2 changes should go together since im adding a cosmic map, and a cosmic category. proof of nations spawning randomly and how the cosmic category looks in the menu: https://github.com/user-attachments/assets/b84bd3ef-6b8f-46fe-a6ea-ea5e79c6dc00 ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: tri.star1011 --------- Co-authored-by: Evan <evanpelle@gmail.com> |
||
|
|
af2849a2d7 |
Adds "Juan De Fuca Strait" map - 3 way team map (#4215)
Resolves #4148 ## Description: Adds "Juan de Fuca Strait" map. This is the Strait in Washington and British Columbia: https://en.wikipedia.org/wiki/Strait_of_Juan_de_Fuca This map is meant to be a brand new 3-team way map, since all the team maps we have are either made for 2 or 4 teams. The map is bumped towards this gamemode similar to how Baikal is bumped to 2 teams. Map also has Additional Nations, for a total fof 62, for Human vs Nations and solo games <img width="1365" height="602" alt="image" src="https://github.com/user-attachments/assets/9cb86727-db06-4fcb-bee4-85e7b5d47d15" /> <img width="1319" height="488" alt="image" src="https://github.com/user-attachments/assets/13fd9a01-7ec6-49ab-81c3-40b566cbf6e0" /> data from OpenTopography, already credited ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: tri.star1011 |
||
|
|
9e9708468c |
Fix/nation names special caracters (#4195)
> **Before opening a PR:** discuss new features on [Discord](https://discord.gg/K9zernJB5z) first, and file bugs or small improvements as [issues](https://github.com/openfrontio/OpenFrontIO/issues/new/choose). You must be assigned to an `approved` issue — unsolicited PRs will be auto-closed. **Add approved & assigned issue number here:** Resolves #4165 ## Description: This PR update the test checking validity of Nation Names to include the new character constraint explained below. It also fixes the 10 Nations that invalid characters (that did not render correctly on the map). **The new character constraint** According to testing, the game map renders correctly all safe Extended-ASCII characters (non colored in www.ascii-code.com = [0x20–0x7E] or [0xA0-0xFF]). Other characters, when present in Nation Names, are rendered correctly in the rest of the game but not on the map, where they are trimmed to the last byte, which is then interpreted as Extended-ASCII and rendered if possible. **How to quickly check my assertion** 1. Change the file resources/maps/world/manifest.json, renaming one of the countries to "a.á.आ!š!慢!". 2. Start a game on the world map without any bots 3. Verify that the nation name is well displayed in its overlay but is shown as "a.á.!a!b!" on the map. (characters before a point are preserved, but characters before an exclamation mark are missing/changed). 4. run `npm run test` and notice that the NationName test fails and lists the three non-valid characters. Explanation: The string is represented in UNICODE-16 as \u0061\u002e\u00e1\u002e\u0906\u0021\u0161\u0021\u6162\u0021. Which, when we keep only the right-most byte of each character gives: 61 2e e1 2e 06 21 61 21 62 21 And, converted in Extended-ASCII gives: a.á.�!a!b! (which matches the showed name if we discard the control character). **The 10 Nations which needed a fix** Utqiaġvik from the Bearing Strait. Ar Rayyān from the Strait of Hormuz. 6 Nations in the Bosphorus Straits. 2 Easter-egg Nations from Luna. The 8 real-world Nations were adapted by simply removing the diacritics (after confirmation from a speaker of arabic and turkish, but sadly none for the Utqiaġvik Nation). The Secret Base from Luna was renamed "T0Þ $e¢®ët Mi|¡tªr¥ ß@§£", all within Extended-ASCII, keeping the same spirit as the original name. However, the Monolith Nation (previously named ▊, without any flag) has changed quite a lot and needs some explanation. **Easter-egg Nation Monolith** The new name is "ΜΟΝΟʟΙȚΗ", which is entirely outside of the valid character zone but in a way that entirely disappears on the map (as the आ character in the example above). This means that on the map, the Nation has no name and only its Monolith-flag. However, in all other places (leaderboard, overlay, alliances, warnings, etc.) the name is displayed correctly. The included test excludes this precise name from its violation list. <img width="1512" height="632" alt="image" src="https://github.com/user-attachments/assets/998693f2-edb4-417c-9054-35dc4819a57d" /> The Monolith Nation without its name but with a Monolith flag. ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: Katokoda |
||
|
|
855695b78e |
Adds Hong Kong map (#4191)
> **Before opening a PR:** discuss new features on [Discord](https://discord.gg/K9zernJB5z) first, and file bugs or small improvements as [issues](https://github.com/openfrontio/OpenFrontIO/issues/new/choose). You must be assigned to an `approved` issue — unsolicited PRs will be auto-closed. **Add approved & assigned issue number here:** Resolves #4152(issue number) ## Description: - Adds a map of Hong Kong. The size is 2781x1997 with land area of 41% (2.2mil pixels). The islands, straits, harbors, coastlines and peninsulas make for some very intersting gameplay. - HK is the second densest place on earth. To simulate this, there are 71 nations based on districts, parks, islands, etc. (Kowloon and HK Island are so crowded with nations, there may be only 1-2 tribes that spawn there!) - Large coastal plains, passes and mountain ranges across islands and the mainland map image <img width="2781" height="1997" alt="hk-improvedriver" src="https://github.com/user-attachments/assets/ef324fca-88f7-487c-adb0-fa31fc370458" /> showcase https://www.youtube.com/watch?v=DosBDttQVmE ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: DISCORD_USERNAME crunchybbbbb --------- Co-authored-by: RickD004 <realtacoco@gmail.com> |
||
|
|
1e3f50436c |
Add map world inverted (#4189)
Resolves #4187 ## Description: Add Map - World Inverted 1248x2500, 1,561,000 land tiles ~100 standard. Over 250+ total. https://www.youtube.com/watch?v=w2LVZQXZoaU https://discord.com/channels/1284581928254701718/1509034328766812210 ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: PlaysBadly |
||
|
|
8a510977ba |
[Fix] Adds flags to nations on Lemnos, Hormuz, Two Lakes, other minor fixes (#4173)
> **Before opening a PR:** discuss new features on [Discord](https://discord.gg/K9zernJB5z) first, and file bugs or small improvements as [issues](https://github.com/openfrontio/OpenFrontIO/issues/new/choose). You must be assigned to an `approved` issue — unsolicited PRs will be auto-closed. **Add approved & assigned issue number here:** Resolves #4160 ## Description: Adds missing flags to nations on Strait of Hormuz, Two Lakes, and Lemnos. Also adds a Bahrain npc ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: DISCORD_USERNAME crunchybbbbb |
||
|
|
27517e3698 |
Adds Mississippi River map - vertical pipe map (#4176)
Resolves #4153 ## Description: Add Mississippi river, inspired by Amazon, but vertical. Pipe-type map along Amazon and Passage. 11 nations, with 51 additional nations for a total of 62 for Humans vs Nations gamemode. https://github.com/user-attachments/assets/6596a7bf-b529-442a-99b1-815493ee0e96 https://github.com/user-attachments/assets/5bb4959b-8ef3-428a-8e3a-94c424fa092b https://github.com/user-attachments/assets/e4d4622e-ea42-4edf-9d86-d9d00c0fdde4 ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: tri.star1011 |
||
|
|
37b7a781c2 |
Huge map update: Re-make of the terrain of multiple maps for better gameplay (#4139)
Resolves #4099 ## Description: Remake the terrain of various maps with green gaps in their terrain, example below (strait of gibraltar) <img width="608" height="383" alt="image" src="https://github.com/user-attachments/assets/9272cf00-6620-4711-81a9-64ebf6a7990d" /> ### Why? In maps with continuous brown and white terrain, it is easier for a player to defend against an attacker, as these types of terrains slow down troops. However in maps with green gaps like the one in the example, the troops will just rush in the green gaps and surround all the white terrain, instantly absorbing them, which makes the terrain mostly useless against defending. I believe that this new type of terrain (using proper elevation data instead of "hillshade like the ones used in these maps) is better for gameplay as it adds more complexity to attacks and defense, and also brings diversity to spawns, as right now these maps have functionally all-green terrain all across them I also changed the coastline of some maps that had them very pixelated. This sometimes caused some rivers to dissapear and some islands to be merged into blobs. I kept the rivers of all maps even if slightly updated, to not change naval gameplay. The maps changed were: Black Sea (terrain and coastline) Gateway to the Atlantic (terrain only) Between 2 seas (terrain only) Iceland (terrain and coastline) East Asia (terrain only) Falklands (terrain and coastline) Halkidiki (terrain only) Strait of Gibraltar (terrain and coastline) Italia (terrain and coastline) Japan (terrain only) Two Lakes (terrain only) <img width="1058" height="536" alt="Captura de pantalla 2026-06-02 213132" src="https://github.com/user-attachments/assets/58fb357b-8738-4388-bbc5-d6c9c1ac4699" /> <img width="625" height="583" alt="Captura de pantalla 2026-06-02 213251" src="https://github.com/user-attachments/assets/99ead586-f790-4088-baef-ad179f3c0119" /> <img width="535" height="537" alt="Captura de pantalla 2026-06-02 213336" src="https://github.com/user-attachments/assets/66755b25-e362-4ef0-b7ff-48b51fdabbbd" /> <img width="639" height="561" alt="Captura de pantalla 2026-06-02 231736" src="https://github.com/user-attachments/assets/22802e9a-5989-4204-9002-61afef22696b" /> <img width="680" height="543" alt="Captura de pantalla 2026-06-02 231804" src="https://github.com/user-attachments/assets/bfae63b6-81e3-4d53-bf17-962332b2c9b0" /> <img width="742" height="545" alt="Captura de pantalla 2026-06-02 212309" src="https://github.com/user-attachments/assets/cdb933c7-5361-4db5-aa4f-c641d0fc4662" /> <img width="613" height="546" alt="Captura de pantalla 2026-06-02 212531" src="https://github.com/user-attachments/assets/352148be-01fb-491b-ae39-746c54d3c278" /> <img width="908" height="548" alt="Captura de pantalla 2026-06-02 212709" src="https://github.com/user-attachments/assets/f6a1ec03-fed8-4872-9a65-0a1ef4268035" /> <img width="718" height="536" alt="Captura de pantalla 2026-06-02 212839" src="https://github.com/user-attachments/assets/5ec1e581-142c-45d6-af0d-e642989e1be1" /> <img width="516" height="544" alt="Captura de pantalla 2026-06-02 212937" src="https://github.com/user-attachments/assets/9843ef29-81f1-45c3-ba7e-49ad2693571d" /> <img width="801" height="537" alt="Captura de pantalla 2026-06-02 213028" src="https://github.com/user-attachments/assets/252822b5-2f2d-456e-a207-85367fab8e02" /> Terrain sources from NASA and OpenTopography, both already credited in CREDITS ## 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 ## Please put your Discord username so you can be contacted if a bug or regression is found: tri.star1011 |
||
|
|
b4058b5a58 |
Add map chopping block (#4143)
Resolves #4080 ## Description: Add Map Chopping Block https://youtu.be/NpX73lHiKO8 Increased multiplier for 4 player team games and water nukes (plug in center among other shortcuts). This map was made as a faster alternative to Labyrinth. Map has been modified since last submission to be 'less crazy'. ## 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 ## Discord username: PlaysBadly |
||
|
|
95377f0361 |
Adds map of Southeast Asia (#4105)
Resolves #4098 ## Description: Adds Southeast Asia map for v32. Very requested map. 31 default nations (with an extra 31 named for HvN). Map for intense warship and naval warfare with many, many islands. Also adds flags of the region to be used by nations in the map. More info specified in issue https://github.com/user-attachments/assets/b4151db4-825a-4c1c-8bf8-7b760ae056d2 ## 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 |
||
|
|
c049a81b86 |
Adds map of the Caribbean 🏴☠️ (#4067)
## Description: Fixes #4069 Adds map of the Caribbean sea and its islands. Archipelago map with lots of islands, lots of water and a lot of trade. This map has multiple large landmasses of similar size to prevent steamrolls (the largest islands and landmasses are around 30%), and many, many small islands where players can survive and trade. Players will have to island hop in order to win. 34 nations of Caribbean countries and territories, with an extra 28 AdditionalNations for a total of 62 nations for crowded HvN. Heavy Island maps are very popular in the broader community and we dont have one for v32, so i figured it would be nice to have a very requested and popular world location 570k land tiles, fairly small for a map, would be right placed before World (600k tiles). Also adds some flags of caribbean regions. https://github.com/user-attachments/assets/9eae81ec-58eb-4594-89fd-2f95742f8b3a Terrain source from OpenTopography, already credited. No modification to the tests are needed for new maps added in Game.ts ## 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 |
||
|
|
9d4080fbe8 |
Adds onion map (#4057)
If this PR fixes an issue, link it below. If not, delete these two lines. Resolves #4055 ## Description: Adds a 512*512 onion map with 3 nations (Leafer Confederation, Outer Enclave and Inner Tribe) <img width="128" height="128" alt="thumbnail" src="https://github.com/user-attachments/assets/8d97d8dc-6286-4e79-a459-767c936d49ec" /> ## 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: tktk1234567 |
||
|
|
b043dc6c15 |
Team Maps Expansion: New team spawnzones for multiple maps (#4058)
## Description: Lets give Teams and HvN gamemodes some attention. Adds team spawnzones to the following maps, and boosts them to appear more frequently as this gamemode: - Straitofgibraltar - 2 teams - Aegean - 2 teams - Beringsea - 2 teams - Beringstrait - 2 teams - Bosphorusstraits - 2 teams - Conakry - 2 teams - Falklandislands - 2 teams - Straitofhormuz - 2 teams - Tradersdream - 2 teams - Surrounded - 2 teams & 4 teams - Pluto - 2 teams - Gulf of St. Lawrence - 3 teams These maps (especially the ones for 2 teams) are all very symmetrical and would be nice gift for the playerbase, which enjoys these kind of games like FourIslands4Teams and Baikal2Teams. This is also nice for HvN, as it centralizes the players and gives them a better chance at defeating the nations. Screenshots of the maps with the new team spawnzones: <img width="1320" height="486" alt="Captura de pantalla 2026-05-28 001558" src="https://github.com/user-attachments/assets/e0b4bea6-d1b7-4793-a995-ec2a139a5af6" /> <img width="1177" height="528" alt="Captura de pantalla 2026-05-28 001913" src="https://github.com/user-attachments/assets/28ec5bf8-3a02-4660-ba62-3edbcabeaf51" /> <img width="1147" height="531" alt="Captura de pantalla 2026-05-28 002032" src="https://github.com/user-attachments/assets/b148f1ae-473a-4505-b0f4-ca8820fbbb55" /> <img width="1219" height="536" alt="Captura de pantalla 2026-05-28 002348" src="https://github.com/user-attachments/assets/89af4d27-eadf-447c-9bde-d0dcfe1ff757" /> <img width="923" height="524" alt="Captura de pantalla 2026-05-28 002704" src="https://github.com/user-attachments/assets/50ad1b11-1685-41fb-b14d-088a2f0db88b" /> <img width="1307" height="456" alt="Captura de pantalla 2026-05-28 002859" src="https://github.com/user-attachments/assets/4ef18da9-336a-4698-8af0-2769467148b4" /> <img width="1219" height="548" alt="Captura de pantalla 2026-05-28 003134" src="https://github.com/user-attachments/assets/d0a514bf-e6e6-43f6-89b7-2168bc395010" /> <img width="1200" height="538" alt="Captura de pantalla 2026-05-28 003449" src="https://github.com/user-attachments/assets/c1672296-db4d-4baf-9992-4bb380fab4e9" /> <img width="1032" height="501" alt="Captura de pantalla 2026-05-28 003650" src="https://github.com/user-attachments/assets/8dd5ee07-3ac3-4f03-a56e-31c01d612655" /> <img width="1074" height="525" alt="Captura de pantalla 2026-05-28 003951" src="https://github.com/user-attachments/assets/e140706b-3f1c-4e09-b70c-efc3e6536c60" /> <img width="914" height="513" alt="Captura de pantalla 2026-05-28 004632" src="https://github.com/user-attachments/assets/e0dd6820-62f4-48b6-8356-df20c0e6ed8f" /> <img width="988" height="509" alt="Captura de pantalla 2026-05-28 005518" src="https://github.com/user-attachments/assets/0da95c41-1191-4de4-a3ce-873839c00605" /> <img width="986" height="514" alt="Captura de pantalla 2026-05-28 000505" src="https://github.com/user-attachments/assets/4eb20c73-56ba-4f9f-90af-8a047aa399eb" /> ## 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 |
||
|
|
1c6c07c837 |
Fix disconnected Yalu River, KP/CN border (#4056)
## Description: Fixes a portion of the river on the Nk/cn border of the korea map that was disconnected from the ocean. Very minor fix ## 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="1092" height="2149" alt="image6767" src="https://github.com/user-attachments/assets/d53dfc55-cc7c-4fb6-8a12-cdf64bb1af87" /> --------- Co-authored-by: RickD004 <realtacoco@gmail.com> |
||
|
|
2cb5244ad4 |
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> |
||
|
|
172113193f |
Add May Labyrinth (#4002)
## Description: Labyrinth is a maze type map. My attempt at making a more chess style board for play. Games with bots appear stable at over 45min average run times. The map has been setup for team spawn zones for 2, 3, 4, 5, 6, and 7 teams. Some of the team spawns for odd numbers are experimental and I would like to see how they play out with live players. Additional nation names included. There are other design factors like each of the large squares being within the blast radius of a hydro; small islands are within the blast radius of nukes. This is meant as a slower playing game. My intentions are to get some sort of literal rotation of the map in the future if easily implemented. That way every time players load the game there would be some randomization. As an additional note one of my last edit to the map was the "+" shape to the islands to allow train passage. Zooming out I can see now that the pattern is squares and + through out. Did not fully intend on that, but it felt like good vibes. https://discord.com/channels/1284581928254701718/1293201128858587207/threads/1497062552784605316 https://www.youtube.com/watch?v=e8c-TylT4hs https://www.youtube.com/watch?v=0-yqrfr3nv0 ## 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 PlaysBadly --------- Co-authored-by: RickD004 <realtacoco@gmail.com> |
||
|
|
1551de8ee3 |
Standarize map names across info and manifest jsons (#4011)
## Description: Just a text change. 4 maps had inconsistencies in their names in their info.json (and by consequence the manifest). If sites extracted map names from one of these they would appear with an inconsistent name. The south america map for example was named "Americas", and appeared as such in the pathfinding playground (thats where i noticed these inconsistencies) ## 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 |
||
|
|
b086881a4e |
Add Korea Map (#3977)
## Description: Add map of korean peninsula. Size 1092x2149 Nations: 35 based on provinces ## 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 @crunchybbbbb_59469 <img width="1092" height="2149" alt="Korea-2" src="https://github.com/user-attachments/assets/874100e8-4a68-4f57-b2f7-49aa87b8194d" /> two teams nations war video https://www.youtube.com/watch?v=n4h7GAfAHTM --------- Co-authored-by: Ricky G.P. <realtacoco@gmail.com> |
||
|
|
5a2c0504eb |
adds map of the Balkans (using Additional nations feature) (#3998)
## Description: Adds map of the Balkan Peninsula and surroundings. Heavily requested map with multiple posts on the Discord all with over 10 or 20 upvotes. 23 NPC/Nations based on countries and relevant regions of the area. Adds an extra 39 nations for crowded Humans vs Nations gamemode for a total of 62 NPCs, based on regions of multiple countries. Also some flags for some regions. Source from NASA DEM, already credited Photo of base map, and 62 HvN: <img width="614" height="588" alt="Captura de pantalla 2026-05-24 030105" src="https://github.com/user-attachments/assets/5742a4c3-1b1f-4ca7-858d-91529861dd81" /> <img width="548" height="547" alt="image" src="https://github.com/user-attachments/assets/758d8ad0-1515-41b8-8d42-14e76cdd54ed" /> This map completes the quartet row of "polemic" maps for v32 <img width="678" height="119" alt="image" src="https://github.com/user-attachments/assets/9e6f4ef1-f0cc-48ea-a59f-b7ff69033b73" /> ## 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 |
||
|
|
b1ec3ac70f |
Adds Indian Subcontinent map (#3975)
## Description: Adds Map of the Indian Subcontinent, with indian and pakistani states and surrounding countries, important rivers like the Ganges, Brahmaputra and Indus, and Tibet/ theHimalayas 2M land pixels and 52 Nations (i think its fitting that India has the most nations of a regional map, only continental maps have more) Should be nice to boost whatever indian playerbase this game might have. This region also doesnt have any representation aside from continental maps <img width="584" height="598" alt="image" src="https://github.com/user-attachments/assets/4089049a-800b-4e37-ab34-2afc5de821e8" /> <img width="418" height="462" alt="image" src="https://github.com/user-attachments/assets/a68e2424-5972-4105-86c9-0312ab095024" /> Elevation data from NASA DEM, already credited in CREDITS.md No reference test is needed, the test suite automatically iterates over all GameMapType enum values — no map is hardcoded by name in the tests ## 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 |
||
|
|
6a8b6a1b2f |
Changes for Rebalancing the Taiwan Strait map (#3970)
## Description: Resizes the Taiwan Strait map for v32, to rebalance it for 2 team games: Yesterday the map was tested in a stream and it turned out to be unbalanced due to the size difference of the landmasses: https://youtu.be/gildSwTdd4I?t=2516 Adds Team spawnzones for 2 teams. Also removes and adds new nations , suggested by its map creator crunchybbbbb_59469 on Discord ## 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 Taiwan Strait map by crunchybbbbb_59469 on Discord, who i worked with in this rebalance --------- Co-authored-by: FloPinguin <25036848+FloPinguin@users.noreply.github.com> |
||
|
|
6591b055c3 |
Adds map of Venice 🛶 (#3935)
## Description: Adds map of Venice. A relatively small map (similar land area to World) for heavy trade and lots of boating. Because of the very low difference of elevation of the zone, terrain is instead used to show buildings. Map source from OpenStreetMap, already credited in CREDITS.md Very requested map, with 2 discord posts suggesting it with +15 upvotes each <img width="794" height="569" alt="image" src="https://github.com/user-attachments/assets/ca7d44f2-cfc9-4e93-b7d4-43dbe62f74d4" /> ## 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 |
||
|
|
7dc5d472a7 |
Change name of map "The Straits" into "Danish Straits" (#3929)
## Description: Renames TheStraits map. The people that suggested this map told me they would prefer a more specific name for the map, rather than the generic one it has right now. So im renaming it into Danish Straits This map is for v32, it has not been released, it should be fine to rename ## 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 |
||
|
|
7359e2bc3b |
Adds Northwest Passage map (using new additionalNations feature) (#3920)
## Description: Adds map "Northwest Passage", map of the Canadian Arctic Archipelago , Greenland and surroundings. "Northwest Passage" (NWP) is the sea lane between the Atlantic and Pacific oceans (https://en.wikipedia.org/wiki/Northwest_Passage) . 21 default nations, based on the towns of the region. This map uses the brand new additionalNations feature made by FloPinguin https://github.com/openfrontio/OpenFrontIO/pull/3902 . Adds 39 extra nations for a total of 60 nations (so that in gamemodes like Humans vs Nations all the nations have names of real places) Comparison: - Map with default nations - Map with extra named nations, tested by raising the number of nations in Solo <img width="1050" height="412" alt="image" src="https://github.com/user-attachments/assets/12ed94f1-0615-4fb3-b0d0-dcecb65006ea" /> <img width="1089" height="436" alt="image" src="https://github.com/user-attachments/assets/6e7c11bf-7382-4e36-9433-229a9d463b68" /> Terrain source from OpenTopography, already credited in CREDITS.md ## 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 |
||
|
|
5e7f1541b9 |
Fixes and QoL changes for the "Strait of Malacca" map (#3914)
## Description: Fixes: Various rivers with pixel-gap errors, that made players and ships unable to boat out of the river into the sea. This error was reported in the Discord server <img width="876" height="481" alt="image" src="https://github.com/user-attachments/assets/9afb31f9-f5a9-4792-bd44-3ea18fe21777" /> Also changes: - Better Terrain (old version had no brown terrain and smidges of white terrain, which made almost all the map practically green terrain). The coastlines and terrain area remain the exact same ( the small land change in manifest was because the old map had little random pixel lakes all around) - More Nations (NPCs) , more consistent names for them, and an extra flag (Aceh) ## 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 |
||
|
|
834a9757d7 |
Adds map "The Straits" (#3896)
## Description: **Adds "The Straits" map:** A map located around Denmark and the many surrounding straits: Kattegat, Skagerrak and the Danish straits (thus the name, meant to be a creative name like "Between Two Seas" and "Gateway to the Atlantic"). This map is themed in the early 1900s, the nations/NPCs are traditional and historical regions of Sweden-Norway, Denmark and the Germany. Relatively small map with ~700k land tiles, similar to World Inspired by this Discord thread with nearly 20 upvotes: https://canary.discord.com/channels/1284581928254701718/1482089104110911634/1482089104110911634 <img width="365" height="506" alt="image" src="https://github.com/user-attachments/assets/5ee16218-34c0-4b8b-9f9b-d33f219760b0" /> ## 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 |
||
|
|
36c8fc0394 |
Add map of Taiwan Strait (#3878)
## Description: Map of the Taiwan and the Chinese Mainland. Team heavy map like Baikal and Hormuz. Terrain Source from OpenTopography, already credited <img width="1800" height="1511" alt="image" src="https://github.com/user-attachments/assets/45954469-8199-4882-9efe-899c5df87ce4" /> I also took the chance to standarize and sort alphabetically the map lists in main.go and MapPlaylist.ts. ## 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.star 1011 NOTE: If the map gets added, please give contributor to crunchybbbbb_59469 for this map on Discord. Every file was made by him, his PR just had weird bugs that didnt allow the PR to be review automatically Original PR: https://github.com/openfrontio/OpenFrontIO/pull/3853 by crunchybbb2-hash |
||
|
|
6f80951a0a |
Update dyslexdria map (#3886)
## Description: Small update to Dylexdria. Iceland (island) moved for better game play. Edits to nation locations and additional nations added. Entire map shifted ~120 pixels for balance reasons. ## 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: PlaysBadly --------- Co-authored-by: Ricky G.P. <realtacoco@gmail.com> |
||
|
|
c0b976448b |
Update map LUNA (#3854)
## Description: Corrected inbalance in Luna map between top and bottom. Now both sides have about equal land tiles. Testing and editing was done to help boat-pathing at least look normal along bottom half. Additional notch cut in orbit lines to take edge off boat-pathing. Now obstacle is almost a straight line. Filled in center orbits to help players push easier. It was reported to be tedious previously. 'Top Secret Military Base' nation was renamed with only vowels blacked out for easier reading of joke name. 'Monolith' nation was renamed with a special character that displays like the actual Monolith. <img width="829" height="1165" alt="l1" src="https://github.com/user-attachments/assets/8cf10fbf-99c1-4ec8-ae0c-7066d1deae21" /> <img width="829" height="1165" alt="l2" src="https://github.com/user-attachments/assets/828e2caf-60b3-4ac7-aa70-0f5b64fac643" /> ## 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 ## Discord username PlaysBadly |
||
|
|
3744027e94 |
Adds map of the Middle East (#3829)
## Description: Starting v32 maps right now! Adds map of the Middle East. Probably one of the most highly requested maps. Very large map (3.4M land pixels, similar to Two Lakes, would become the 2nd or 3rd largest map by land area) of the arabian peninsula and surrounding regions. This map has both huge areas of land without water access full of desert terrain, and massive trade chokepoints, which combined will result in crazy endgames. The theme of this map are historical, based on the end of WW1. Historical flags have been added for the nation NPCs to use. (High map rotation of 8 since this is probably going to become one of the most popular maps given the relevancy of the region in real life.) Terrain source from NASA DEM, already credited. https://github.com/user-attachments/assets/6a1b345f-fd92-42c2-8f92-154fac4c9733 ## 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 tri.star1011 |
||
|
|
23a1538c7e |
Fix Bosphorus map (#3823)
## Description: QoL changes for the Bosphorus map. The base image for the map had a little aliasing which resulted in some rivers being cut off. <img width="673" height="386" alt="image" src="https://github.com/user-attachments/assets/b8ed181f-fbeb-4d6f-b7ab-a8b0ea300a22" /> All of the nations except istanbul also had absolutely nothing to do with the region. For example, Varna is a city in Northeast bulgaria and the aegean isles are also nowhere near. There was also a nation that did not spawn because its coordinates were in the sea. <img width="626" height="413" alt="image" src="https://github.com/user-attachments/assets/a6537f79-3785-4316-8fd4-a99f55faff71" /> All of these poor designs are probably the result of the map being resized, originally being a larger map. It probably explains why this is the smallest map by land area (not counting Oceania) Fixes: - Fixed landlocked rivers and added More accurate bodies of water - Complete remake of the nations. Nations are now far more accurately placed districts of the region, and more evenly placed <img width="664" height="407" alt="image" src="https://github.com/user-attachments/assets/ff5a34fc-dea0-4a3d-b798-39d5711b91af" /> The data and gamestyle of this map should not change much, as the landmasses remain in practice the same ## 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 |
||
|
|
f5a91b8aa3 |
Map accuracy & consistency pass: nation names, spawn positions, and flags across 9 maps (#3780)
## Description: Comprehensive accuracy and quality-of-life improvements across 8 maps. No gameplay mechanics changed: only nation names, spawn positions, and flag codes. All changes bring maps closer to real-world geographic and historical accuracy. **Changes by map:** 1. **North America:** Corrected numerous incorrect state spawn positions. Added all 13 Canadian provinces and territories with correct flags, as well as a few additional bots for balancing and completeness. 2. **South America:** Corrected spawn positions of Venezuela, Suriname, and French Guiana. Added four Brazilian states (Amazonas, Pará, Bahia, São Paulo) for better regional coverage and balancing. 3. **Gateway to the Atlantic:** Full historical consistency pass targeting the ~1340-1410 CE period, matching the existing Britannia and Italia map style. Renamed several nations for historical accuracy (Duchy of Burgundy, Kingdom of Navarre, Kingdom of Majorca, City of Avignon, Crown of Aragon, Duchy of Aquitaine, Hafsid Sultanate, Marinid Sultanate, Zayyanid Sultanate, Holy Roman Empire). Added 7 new historically accurate flag SVGs for these nations. 4. **Europe:** Shortened long-form nation names to short-form for consistency with other maps. Added Andorra and Monaco for improved balance. 5. **Europe Classic:** Fixed "Syrian Arab Republic" to "Syria" for consistency with all other maps. Added Baltic states, Croatia, Denmark, Sápmi for balancing. 6. **Oceania:** Removed ghost bots that no longer appear on the map. Fixed truncated and outdated names: Lao PDR to Laos, Brunei Darussalam to Brunei, TimorLeste to Timor Leste, Taiwan Province of China to Taiwan. 7. **World:** Fixed outdated names for accuracy and consistency with the World map and other maps. Added bots in regions lacking coverage for more consistent global representation. 8. **Giant World Map:** Updated nation names for accuracy and consistency. Added Canadian provinces, US states, Bolivia, and Gabon for improved map balance. All changes made and verified in the map editor. No en.json or UI changes required as these are map data files only. ## 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: @islandspiritozempic |
||
|
|
a93c466334 |
Update maps Los Angeles & Dyslexdria (#3809)
## Description: Removed single pixel line from the bottom of LA map. Added L.A.X. nation to LA map. Removed USSR flags from Dyslexdria (originally imported from giant world map). Left USSR flag on 'Rusha' only. ## 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 PlaysBadly |
||
|
|
a989bcbeb0 |
Rename Mediterranean to Mare Nostrum 🏛️ (#3768)
## Description: Change inspired by Territorial.io . Renames the Mediterranean sea map to Mare Nostrum, the ancient name of the sea given by the Romans. The NPCs of the map are already roman provinces, so this change is more thematic and also adds a creative name like "Gateway to the Atlantic" and "Between Two Seas" ## 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 |
||
|
|
79ac66df3c |
Add map los angeles (with roads) (#3708)
## Description: Add Map - Los Angeles (With Roads) Whats NY without LA? What is LA without its roads? Here is a larger map where I have turned LAs road network into rivers. Nations named to areas of the city or surrounding area. Map geo data is from OpenTopography. I stenciled the highways from screenshots of online maps and some artistic choice. https://discord.com/channels/1284581928254701718/1482605671697613081/1482605671697613081 https://www.youtube.com/watch?v=6td9wiQKE9s ## 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 ##Discord username PlaysBadly --------- Co-authored-by: evanpelle <evanpelle@gmail.com> |
||
|
|
32a254b375 |
add Baja California map 🏜️ (#3759)
## Description: Adds map of the Baja California peninsula in Mexico. Majority of this map is brown terrain to simulate the (Sonora) desert Mexican and American states as NPCs. The peninsula while having little landmass is balanced by the fact it will be very easy to pirate from it <img width="503" height="583" alt="Captura de pantalla 2026-04-18 151337" src="https://github.com/user-attachments/assets/b1acd93a-fbe4-4d17-95b6-5f4c86ec872f" /> Relief data from OpenTopography, already credited ## 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 |
||
|
|
aa70d6742a |
add Archipelago Sea map ⚓ (#3749)
## Description: Adds Archipelago Sea map. The island map to end all island maps. This is a real location in Southwest Finland, famous for being the archipelago with the most islands in the world. This map is made for the very loud playerbase who enjoys naval maps. This is probably the most heavy naval map we are gonna get. Given this is a very experimental and unorthodox map like amazon or 4islands, it has a rotation of 3 , low but still should pop in for people who prefer island maps. https://github.com/user-attachments/assets/19b32a4f-825b-4b82-aec3-b24c387b9cdd ## 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 |
||
|
|
ec6e14051a |
Add an Antarctica map 🐧 (#3740)
## Description: (re-submission of older PR because the old one had too many merge conflicts) Re-adds and reworks the previously April Fools "Reglaciated Antarctica" as a new map, this time with proper elevation data: Map of Antarctica centered in the South Pole. The "appeal" of this a map is that it has no green terrain. (As such it has a really low rotation number (of 1). ) This also completes the Continental map category (antarctica was the only continent out of the traditional 7 missing). https://github.com/user-attachments/assets/28302464-c533-483e-8a1b-2699093921ff The base map image is a composite of 2 relief maps from 2 different sources, both properly credited ## 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 Co-authored-by: iamlewis <lewismmmm@gmail.com> |
||
|
|
52033597ef |
Update Britannia and take its Classic version off rotation (#3710)
## Description: Similar to how Europe classic was taken off rotation, we do the same with Britannia. The newer Britannia was slightly updated to include the rivers of the classic version, this is because of feedback from players in the discord server who say the rivers in the classic version are an important part of gameplay. Map otherwise keeps same nations and size. ## 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 |
||
|
|
ec8884410c |
Add new Bering Sea map, reduce Strait rotation (#3706)
## Description: Re-submission of older PR: https://github.com/openfrontio/OpenFrontIO/pull/3617 <img width="612" height="396" alt="image" src="https://github.com/user-attachments/assets/955a0b2e-1df9-4fa3-a389-235f46a90f69" /> Regarding Bering Sea and Bering strait maps: <img width="576" height="87" alt="image" src="https://github.com/user-attachments/assets/f57031eb-f9c0-4e1e-83ff-204df51bb6c2" /> <img width="589" height="93" alt="image" src="https://github.com/user-attachments/assets/629e71ba-489f-41cf-b67e-2476af8704f2" /> Because of mixed opinions about replacing the maps, i propose at least this temporary compromise: Bering Sea gets added as a new map and Bering Strait gets its rotation lowered to a small number. Since the classic maps are probably being taken off rotation, we should have some small breathing space for the 2 maps. In the near future we should discuss between mapmakers in the dev server whether we keep, replace or completely take Bering Strait off rotation, and/or a community poll. ## 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 |
||
|
|
d0a9146843 |
Update luna for compact maps (#3692)
## Description: Updates Luna map so that 'orbit' lines are continuous during compact game play. Other small edits. https://youtu.be/rxoME-YYtII ## 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: PlaysBadly |