mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-25 07:24:36 +00:00
6c8ce958b2e94de2849015c2a2d7b58dd487101b
4 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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> |
||
|
|
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 |
||
|
|
e554ffb1b0 |
Cleanup nations (Part 3) 🧹 Remove nation strength (#2649)
## Description: This PR removes the nation strength. Reasoning: - It is currently unused. The backstory can be found in #2498 - It forces map-makers to do balancing work, which is probably not a good idea - It increases map-making work - It increases nation balancing complexity by a lot (we need to have all the json files in mind) - It makes humans avoid map areas completely because there is always that one, same, strong nation - The map lead Nikola123 wants to "not deal with the stupid nations and their balancing" If the goal of nation strength was to make them feel different I would suggest a nation personality system. Nations that love to boat, love to ally, love to nuke, love to fullsend, etc. Link to a discord discussion about nation strength: https://discord.com/channels/1359946986937258015/1360078040222142564/1450973197251117218 ## 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 |
||
|
|
623d6557e3 |
Add Japan map (#2106)
## Description: This PR adds a new Japan map. <img width="975" height="967" alt="スクリーンショット 2025-09-28 18 06 11" src="https://github.com/user-attachments/assets/5ef06c1a-f020-4109-a5df-3cba7a9a074f" /> ## 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: aotumuri |