Skip to content

Conversation

@Tidwell
Copy link

@Tidwell Tidwell commented Nov 29, 2025

Description:

Adds New York City Map.

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:

tidwell

Screenshots

location-select map-bots map-select nation-placement

Misc

Dimensions: 1500 x 1900 px
Total Area: 2,850,000 px²
New Flag Assets: None

Inspired by this Discord Thread

Some of the water features are adjusted for playability. NYC doesn't have a ton of elevation differences, so marshland is replicated w/ highland noise. This is roughly placed to match Pre-WWI, but allows maintaining the modern silhouette of the area. This 1901 map is also the main inspiration for composition and projection. For the Nations, British and Dutch Colonies along with Native Peoples make this a bit of an amalgamation of the 17th - 20th centuries

Other elevation differences come from Topographic Map

Tribal Nation Names and Info
Additional Tribal Names/Info

@Tidwell Tidwell requested a review from a team as a code owner November 29, 2025 23:59
@CLAassistant
Copy link

CLAassistant commented Nov 29, 2025

CLA assistant check
All committers have signed the CLA.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 30, 2025

Walkthrough

Adds a new map "New York City" and registers its assets, manifest, translation, map-generator entry, enum/category, client description, default config, server playlist frequency, and credits. No game logic or exported API signatures were changed.

Changes

Cohort / File(s) Change Summary
Map data & manifests
map-generator/assets/maps/newyorkcity/info.json, resources/maps/newyorkcity/manifest.json
Added JSON map data and manifest containing map dimensions, land-tile counts, and a nations list with coordinates, names, strengths, and optional flag fields.
Map generator registry
map-generator/main.go
Registered newyorkcity in the map-generator maps list.
Localization
resources/lang/en.json
Added "newyorkcity": "New York City" under the map translations.
Game enum & categories
src/core/game/Game.ts
Added GameMapType.NewYorkCity = "New York City" and included it in the regional map category.
Client map descriptions
src/client/components/Maps.ts
Added NewYorkCity: "New York City" to MapDescription.
Default configuration
src/core/configuration/DefaultConfig.ts
Added GameMapType.NewYorkCity entry to numPlayersConfig with values [60, 40, 30].
Server playlist
src/server/MapPlaylist.ts
Added NewYorkCity frequency mapping with value 3.
Credits & attribution
CREDITS.md
Added two new map-data credit/license entries for New Jersey topo and historic NYC USGS maps.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Pay attention to: manifest coordinates vs declared dimensions, i18n key vs client MapDescription alignment, enum addition impact on serialization or saved-data compatibility, and consistency between playlist frequency and default config.

Possibly related PRs

Suggested labels

Feature - Map

Suggested Reviewers

  • evanpelle

Poem

🗽 New tiles upon the grid we lay,
JSON lines recall a riverway,
Enums and manifests now sing in tune,
Translations, playlist—New York's in the room,
Players soon will roam its pixel bay.

Pre-merge checks

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding a new New York City map to the project.
Description check ✅ Passed The description is directly related to the changeset, detailing map specifications, design decisions, sources, and confirming testing and localization compliance.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 62e9a12 and 03d7158.

⛔ Files ignored due to path filters (4)
  • map-generator/assets/maps/newyorkcity/image.png is excluded by !**/*.png
  • resources/maps/newyorkcity/map.bin is excluded by !**/*.bin
  • resources/maps/newyorkcity/map16x.bin is excluded by !**/*.bin
  • resources/maps/newyorkcity/map4x.bin is excluded by !**/*.bin
📒 Files selected for processing (9)
  • CREDITS.md (1 hunks)
  • map-generator/assets/maps/newyorkcity/info.json (1 hunks)
  • map-generator/main.go (1 hunks)
  • resources/lang/en.json (1 hunks)
  • resources/maps/newyorkcity/manifest.json (1 hunks)
  • src/client/components/Maps.ts (1 hunks)
  • src/core/configuration/DefaultConfig.ts (1 hunks)
  • src/core/game/Game.ts (2 hunks)
  • src/server/MapPlaylist.ts (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (8)
  • resources/lang/en.json
  • src/core/game/Game.ts
  • map-generator/assets/maps/newyorkcity/info.json
  • CREDITS.md
  • src/core/configuration/DefaultConfig.ts
  • src/server/MapPlaylist.ts
  • src/client/components/Maps.ts
  • resources/maps/newyorkcity/manifest.json
🔇 Additional comments (1)
map-generator/main.go (1)

43-43: LGTM!

The new map entry is correctly positioned alphabetically and follows the same format as existing entries. The map generator will process the NYC assets that are included in this PR.


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.

coderabbitai[bot]
coderabbitai bot previously approved these changes Nov 30, 2025
@evanpelle
Copy link
Collaborator

evanpelle commented Dec 1, 2025

can you add https://en-gb.topographic-map.com/ and the map you used in the CREDITS.md

their license requires attribution: https://opendatacommons.org/licenses/odbl/summary/

Copy link
Collaborator

Choose a reason for hiding this comment

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

please keep same format as the other info.json

Copy link
Author

Choose a reason for hiding this comment

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

Fixed - This was an artifact from the online map editor that I forgot to remove after shuffling the nations a bit. Whoops!

Copy link
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: 0

🧹 Nitpick comments (1)
CREDITS.md (1)

31-39: Clarify specific NYC topo / antique map sources in credits

The new entries look good, but they are still quite generic:

  • For Topographic Map, the earlier review asked for “topographic map URL and specific map used”. Right now this points to the site root only. Please consider adding the exact NYC map page or dataset name you used so the attribution is clearly tied to the data actually in the game.
  • For Geographicus Rare Antique Maps, please double‑check that the specific NYC map you used is indeed public domain, and if so, link that map’s page (title, year) instead of only the site root. That makes future license audits much easier.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 18996fa and 1e276bb.

⛔ Files ignored due to path filters (4)
  • map-generator/assets/maps/newyorkcity/image.png is excluded by !**/*.png
  • resources/maps/newyorkcity/map.bin is excluded by !**/*.bin
  • resources/maps/newyorkcity/map16x.bin is excluded by !**/*.bin
  • resources/maps/newyorkcity/map4x.bin is excluded by !**/*.bin
📒 Files selected for processing (9)
  • CREDITS.md (1 hunks)
  • map-generator/assets/maps/newyorkcity/info.json (1 hunks)
  • map-generator/main.go (1 hunks)
  • resources/lang/en.json (1 hunks)
  • resources/maps/newyorkcity/manifest.json (1 hunks)
  • src/client/components/Maps.ts (1 hunks)
  • src/core/configuration/DefaultConfig.ts (1 hunks)
  • src/core/game/Game.ts (2 hunks)
  • src/server/MapPlaylist.ts (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (7)
  • resources/lang/en.json
  • map-generator/main.go
  • src/core/configuration/DefaultConfig.ts
  • src/core/game/Game.ts
  • src/server/MapPlaylist.ts
  • resources/maps/newyorkcity/manifest.json
  • map-generator/assets/maps/newyorkcity/info.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: 🔬 Test
🔇 Additional comments (1)
src/client/components/Maps.ts (1)

38-38: NYC map description entry is consistent and type‑safe

NewYorkCity: "New York City" matches the enum naming and existing description pattern (e.g., Montreal), and keeps MapDescription aligned with GameMapType. No changes needed here.

coderabbitai[bot]
coderabbitai bot previously approved these changes Dec 3, 2025
@Tidwell
Copy link
Author

Tidwell commented Dec 3, 2025

can you add https://en-gb.topographic-map.com/ and the map you used in the CREDITS.md

their license requires attribution: https://opendatacommons.org/licenses/odbl/summary/

Added two entries to the CREDITS.md

  • The full topographic map info and full url
  • Direct link to the historical map, and a link to the FAQ where the site specifies that Digital Downloads are Public Domain (map is US Gov. created and before 1925).

@Tidwell Tidwell force-pushed the new-york-city-map branch 2 times, most recently from 85b7715 to 62e9a12 Compare December 7, 2025 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants