Skip to content

Feat/new game dynamic map list#144

Open
flyingmongoose wants to merge 1 commit intounknown-horizons:developfrom
flyingmongoose:feat/new-game-dynamic-map-list
Open

Feat/new game dynamic map list#144
flyingmongoose wants to merge 1 commit intounknown-horizons:developfrom
flyingmongoose:feat/new-game-dynamic-map-list

Conversation

@flyingmongoose
Copy link
Copy Markdown

@flyingmongoose flyingmongoose commented Apr 26, 2026

Implemented dynamic map list on the New Game UI.


I have created a wiki page on my own fork to provide details: 🗺️ Community Maps

But here's the short version

  1. Bundled manifest (res://Assets/World/maps_manifest.json)
  2. Bundled directory scan (res://Assets/World/World*.tscn)
  3. User manifest (user://maps/maps_manifest.json)
  4. User directory scan (user://maps/World*.tscn)

I have also included an interpretation of a Metadata string on the root node of a map.
If the map manifest file does not include the map, or map name, it will load from a metadata string called MapName.
This must be on the root node of the scene for the map.


Maps Manifest File (maps_manifest.json) Format:

{
  "maps": [
    {
      "name": "WorldDev2D",
      "path": "res://Assets/World/WorldDev2D.tscn"
    },
    {
      "name": "WorldDev2D_perf",
      "path": "res://Assets/World/WorldDev2D_perf.tscn"
    },
    {
      "name": "WorldDev2D_simple",
      "path": "res://Assets/World/WorldDev2D_simple.tscn"
    }
  ]
}

@flyingmongoose flyingmongoose force-pushed the feat/new-game-dynamic-map-list branch from 2f3588c to fc59664 Compare April 26, 2026 03:55
@flyingmongoose flyingmongoose marked this pull request as ready for review April 26, 2026 04:11
@LinuxDonald
Copy link
Copy Markdown
Member

@pingwindev could you please review it?

@pingwindev pingwindev self-assigned this Apr 26, 2026
@LinuxDonald LinuxDonald requested a review from pingwindev April 26, 2026 23:28
Replace the hardcoded map list with manifest-first discovery that works in exports, include automatic bundled World*.tscn discovery with dedupe, add optional user map ingestion from user://maps, and support root-node MapName metadata so map creators can control display labels without changing scene paths.
@flyingmongoose flyingmongoose force-pushed the feat/new-game-dynamic-map-list branch from fc59664 to dc2ab36 Compare April 27, 2026 20:05
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