Skip to content

Add Map Labyrinth#3982

Closed
PatrickPlaysBadly wants to merge 10 commits into
openfrontio:mainfrom
PatrickPlaysBadly:labyrinth
Closed

Add Map Labyrinth#3982
PatrickPlaysBadly wants to merge 10 commits into
openfrontio:mainfrom
PatrickPlaysBadly:labyrinth

Conversation

@PatrickPlaysBadly
Copy link
Copy Markdown
Contributor

Description:

Labyrinth is a 'maze' style arcade map. Testing shows it lasting over 45min on average in FFA. I have gone through the trouble of programming stable team games for 2, 3, 4, 5, 6, and 7 teams. I worked a while on making sure the game played well by adjusting interconnections between the tiles.

https://www.youtube.com/watch?v=0-yqrfr3nv0
https://discord.com/channels/1284581928254701718/1497062552784605316

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:

PlaysBaldy

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented May 22, 2026

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
2 out of 3 committers have signed the CLA.

✅ PatrickPlaysBadly
✅ RickD004
❌ SAM


SAM seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 22, 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: 63984e1f-1836-4334-af2c-c4a8486446b6

📥 Commits

Reviewing files that changed from the base of the PR and between 1ee907d and 667efe9.

📒 Files selected for processing (6)
  • map-generator/assets/maps/labyrinth/info.json
  • map-generator/main.go
  • resources/lang/en.json
  • resources/maps/labyrinth/manifest.json
  • src/core/game/Game.ts
  • src/server/MapPlaylist.ts
✅ Files skipped from review due to trivial changes (2)
  • src/server/MapPlaylist.ts
  • map-generator/assets/maps/labyrinth/info.json

Walkthrough

Adds a new Labyrinth map: generator source and runtime manifest, registers the map type, updates playlist frequency to 5, and adds English localization.

Changes

Labyrinth Map Addition

Layer / File(s) Summary
Map Type Registration
src/core/game/Game.ts
GameMapType enum gains Labyrinth; mapCategories.arcade includes it.
Source Map Asset Definition
map-generator/assets/maps/labyrinth/info.json
Defines map name, primary nations with coordinates, additionalNations list, and teamGameSpawnAreas for team sizes 2–7 used by the generator.
Runtime Map Manifest
resources/maps/labyrinth/manifest.json
Full runtime manifest with map dimensions (map, map16x, map4x), additionalNations, nations placements, and teamGameSpawnAreas for gameplay.
Map Integration and Wiring
map-generator/main.go, resources/lang/en.json, src/server/MapPlaylist.ts
Registers labyrinth in the map generator, adds map.labyrinth English label, and sets playlist FREQUENCY.Labyrinth = 5.

Sequence Diagram

sequenceDiagram
  participant MapGenerator
  participant Game
  participant MapPlaylist
  participant Resources
  MapGenerator->>Game: register map key "labyrinth"
  Game->>MapPlaylist: surface GameMapType.Labyrinth
  MapPlaylist->>MapPlaylist: set FREQUENCY["Labyrinth"] = 5
  MapGenerator->>Resources: emit manifest `resources/maps/labyrinth/manifest.json`
  Resources->>Game: runtime manifest available for selection
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • evanpelle

"A maze of JSON, flags left bare,
Nations placed with careful care.
Generator hums, playlists align,
Labyrinth opens — players entwine 🎲"

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Add Map Labyrinth' directly and clearly summarizes the main change—adding a new map to the game.
Description check ✅ Passed The description is directly related to the changeset, providing context about the Labyrinth map's design, testing results, team game support, and author confirmation of testing.
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

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies"


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

🤖 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/labyrinth/info.json`:
- Line 191: The "name" value "Saftey" in the map metadata needs to be corrected
to "Safety" to fix the typo; locate the entry in info.json where the JSON
property "name" equals "Saftey" and replace that string with "Safety" so the
player-visible nation name is spelled correctly.
🪄 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: b009bc1e-d965-4b5c-904c-758eb4075d40

📥 Commits

Reviewing files that changed from the base of the PR and between 40c23ed and 87df665.

⛔ Files ignored due to path filters (4)
  • map-generator/assets/maps/labyrinth/image.png is excluded by !**/*.png
  • resources/maps/labyrinth/map.bin is excluded by !**/*.bin
  • resources/maps/labyrinth/map16x.bin is excluded by !**/*.bin
  • resources/maps/labyrinth/map4x.bin is excluded by !**/*.bin
📒 Files selected for processing (7)
  • map-generator/assets/maps/labyrinth/info.json
  • map-generator/main.go
  • resources/lang/en.json
  • resources/maps/labyrinth/manifest.json
  • resources/maps/labyrinth/thumbnail.webp
  • src/core/game/Game.ts
  • src/server/MapPlaylist.ts

Comment thread map-generator/assets/maps/labyrinth/info.json Outdated
@github-project-automation github-project-automation Bot moved this from Triage to Development in OpenFront Release Management May 22, 2026
@PatrickPlaysBadly PatrickPlaysBadly deleted the labyrinth branch May 24, 2026 19:06
@github-project-automation github-project-automation Bot moved this from Development to Complete in OpenFront Release Management May 24, 2026
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.

3 participants