Skip to content

adds map of the Balkans (using Additional nations feature)#3998

Merged
evanpelle merged 2 commits into
openfrontio:mainfrom
RickD004:balkans
May 24, 2026
Merged

adds map of the Balkans (using Additional nations feature)#3998
evanpelle merged 2 commits into
openfrontio:mainfrom
RickD004:balkans

Conversation

@RickD004
Copy link
Copy Markdown
Contributor

@RickD004 RickD004 commented May 24, 2026

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:

Captura de pantalla 2026-05-24 030105 image

This map completes the quartet row of "polemic" maps for v32

image

Please complete the following:

  • I have added screenshots for all UI updates
  • I process any text displayed to the user through translateText() and I've added it to the en.json file
  • I have added relevant tests to the test directory
  • 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

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 24, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 101e37d0-f87f-4f1f-b081-f271eddc42ac

📥 Commits

Reviewing files that changed from the base of the PR and between 2533915 and 49f125d.

📒 Files selected for processing (1)
  • src/server/MapPlaylist.ts

Walkthrough

Adds a complete "Balkans" regional map: new GameMapType, map-generator registration, input assets and output manifest describing nations/regions, and supporting country records plus English localization.

Changes

Balkans Regional Map

Layer / File(s) Summary
Game type registration
src/core/game/Game.ts
GameMapType enum gains Balkans, and mapCategories.regional now includes it.
Map generator registration
map-generator/main.go
Adds "balkans" to the generator maps registry so it will process the new map.
Map assets and metadata
map-generator/assets/maps/balkans/info.json, resources/maps/balkans/manifest.json
Adds generator input info.json (nations + additionalNations) and output manifest.json (map/map16x/map4x metadata and nations list).
Region data and localization
resources/countries.json, resources/lang/en.json
Adds five region/country records (Principality of Moldavia, Republika Srpska, Slavonia, Transylvania, Vojvodina) and an English map.balkans label.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • evanpelle
  • FloPinguin

🗺️ A new Balkans map now takes its place,
Flags and coords drawn with careful grace,
Game types, generator, manifest in line,
Regions and labels added, clean and fine.
Ready for players to explore — press play!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding a Balkans map using the Additional nations feature.
Description check ✅ Passed The description is well-detailed and directly related to the changeset, explaining the map's purpose, content, and game modes it supports.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/core/game/Game.ts (1)

178-242: ⚠️ Potential issue | 🟠 Major

Add/ensure test coverage for Balkans map registration
The current test search doesn’t show any test checks mentioning GameMapType.Balkans (other maps like GameMapType.Asia and GameMapType.BritanniaClassic are referenced). Since src/core changes must include tests, add or extend a map consistency/registration test to cover GameMapType.Balkans (e.g., that it’s included in mapCategories and has the required assets/registrations).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/core/game/Game.ts` around lines 178 - 242, The test suite lacks coverage
asserting that GameMapType.Balkans is registered in mapCategories and has its
assets/registrations; add or extend a map-consistency test to assert that
mapCategories (the continental/regional object) contains GameMapType.Balkans
(lookup via GameMapType.Balkans) and then verify any related
registrations/assets the code expects (e.g., map asset presence or registry
entries used elsewhere in Game.ts), updating the test file that covers map
registration to include these assertions so changes to src/core are covered by
tests.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@map-generator/assets/maps/balkans/info.json`:
- Around line 181-185: The Dalmatia entry in the JSON has the wrong flag code;
locate the object where "name": "Dalmatia" (the entry with "coordinates": [323,
652]) and change its "flag" value from "ua" to "hr" so it matches the Croatian
regions (e.g., Istria) and uses the correct ISO code for Croatia.

---

Outside diff comments:
In `@src/core/game/Game.ts`:
- Around line 178-242: The test suite lacks coverage asserting that
GameMapType.Balkans is registered in mapCategories and has its
assets/registrations; add or extend a map-consistency test to assert that
mapCategories (the continental/regional object) contains GameMapType.Balkans
(lookup via GameMapType.Balkans) and then verify any related
registrations/assets the code expects (e.g., map asset presence or registry
entries used elsewhere in Game.ts), updating the test file that covers map
registration to include these assertions so changes to src/core are covered by
tests.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 14c1cb34-d5c7-4c1d-88fa-a851c6d160cc

📥 Commits

Reviewing files that changed from the base of the PR and between 14f2e36 and 2533915.

⛔ Files ignored due to path filters (9)
  • map-generator/assets/maps/balkans/image.png is excluded by !**/*.png
  • resources/flags/Principality of Moldavia.svg is excluded by !**/*.svg
  • resources/flags/Republika Srpska.svg is excluded by !**/*.svg
  • resources/flags/Slavonia.svg is excluded by !**/*.svg
  • resources/flags/Transylvania.svg is excluded by !**/*.svg
  • resources/flags/Vojvodina.svg is excluded by !**/*.svg
  • resources/maps/balkans/map.bin is excluded by !**/*.bin
  • resources/maps/balkans/map16x.bin is excluded by !**/*.bin
  • resources/maps/balkans/map4x.bin is excluded by !**/*.bin
📒 Files selected for processing (7)
  • map-generator/assets/maps/balkans/info.json
  • map-generator/main.go
  • resources/countries.json
  • resources/lang/en.json
  • resources/maps/balkans/manifest.json
  • resources/maps/balkans/thumbnail.webp
  • src/core/game/Game.ts

Comment thread map-generator/assets/maps/balkans/info.json
@github-project-automation github-project-automation Bot moved this from Triage to Development in OpenFront Release Management May 24, 2026
@evanpelle evanpelle added this to the v32 milestone May 24, 2026
@github-project-automation github-project-automation Bot moved this from Development to Final Review in OpenFront Release Management May 24, 2026
@evanpelle evanpelle merged commit 5a2c050 into openfrontio:main May 24, 2026
11 of 12 checks passed
@github-project-automation github-project-automation Bot moved this from Final Review to Complete in OpenFront Release Management May 24, 2026
@coderabbitai coderabbitai Bot mentioned this pull request May 24, 2026
4 tasks
@RickD004 RickD004 deleted the balkans branch May 25, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

2 participants