mcpField
G
godot-tilemap-mastery

godot-tilemap-mastery

github.com/thedivergentaiDevelopment907447 installsUpdated 2w ago
Repository

About godot-tilemap-mastery

godot-tilemap-mastery is a Godot skill for developers working with TileMaps and TileMapLayer. It routes common editing, streaming, physics, navigation, and gameplay-data tasks to focused scripts, with guidance on batching and coordinate handling.

Key features

  1. 01Tile editing and terrain workflows
  2. 02Chunking and procedural placement
  3. 03Destructible tiles and gameplay data
  4. 04Navigation, physics, and sorting
  5. 05TileMap to TileMapLayer migration

Use cases

  1. 01Build terrain paths and stamp prefab patterns
  2. 02Stream and serialize large tile worlds
  3. 03Query hazards or implement destructible cells

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/thedivergentai/game-dev-agentic-skills --skill godot-tilemap-mastery

After installing, type/godot-tilemap-masteryin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
expert-tilemap-architectures.md
migration-notes.md
runtime-tile-patterns.md
tileset-editor-setup.md
scripts/
destructible_tile_logic.gd
fast_metadata_cache.gd
gameplay_data_query.gd
nav_mesh_teleport_fix.gd
physics_shape_interaction.gd
procedural_chunk_batcher.gd
sorting_Z_layering.gd
terrain_autotile.gd
terrain_path_painter.gd
tile_pattern_stamper.gd
tilemap_chunking.gd
tilemap_data_manager.gd
tilemap_layer_v43_upgrade.gd

Details

From the project README

NEVER Do in TileMaps

  • NEVER call set_cell() in huge loops without batching — Prefer terrain connect, patterns, or chunk batchers.
  • NEVER forget source_id in set_cell — Wrong overload → crash or silent miss.
  • NEVER mix world coords with tile coords — Always local_to_map / map_to_local.
  • NEVER hand-paint organic blobs when terrains exist — Use terrain sets + set_cells_terrain_connect.
  • NEVER put dynamic actors in the TileMap — Enemies/pickups are nodes; tiles are geometry / destructible cells.
  • NEVER spam get_cell_tile_data() every physics frame — Cache metadata (fast_metadata_cache.gd).

Decision Tree: How to Write Cells

GoalPreferScriptTrade-off
Organic ground / roads / riversTerrain autotileterrain_autotile.gd / terrain_path_painter.gdSetup cost in TileSet; fastest designer iteration
Prefab rooms / houses / stampsTileMapPatterntile_pattern_stamper.gdGreat for procgen pieces; less flexible per-cell
Sparse / precise editsset_cell—Fine for few cells; bad for thousands/frame
Huge streaming worldsChunkstilemap_chunking.gd / procedural_chunk_batcher.gd / tilemap_data_manager.gdIndirection + load boundaries
Destructible dig/breakCustom data HPdestructible_tile_logic.gdMust refresh nav/physics after edits
Gameplay queries (friction/hazard)Custom data + cachegameplay_data_query.gd / fast_metadata_cache.gdCache invalidation on set_cell
Nav after editsRuntime nav fixnav_mesh_teleport_fix.gdCostly if every cell; batch rebuilds
One-way / physics layersTileSet physicsphysics_shape_interaction.gdAlign with CharacterBody masks
Iso / multi-floor sortY-sort layerssorting_Z_layering.gdParent + all layers need y_sort
Legacy TileMap → layersMigrationtilemap_layer_v43_upgrade.gdOne-time upgrade aid

Editor atlas/physics paint setup: Official Documentation in Reference — Do NOT reload Steps 1–3 / flood_fill tutorials from this skill body.

Available Scripts (single index + MANDATORY triggers)

TaskMANDATORY script(s)
Serialize / large world datatilemap_data_manager.gd
Runtime terrain pathsterrain_path_painter.gd / terrain_autotile.gd
Destructible tilesdestructible_tile_logic.gd
Custom data gameplay readsgameplay_data_query.gd (+ fast_metadata_cache.gd if hot)
Procedural bulk placeprocedural_chunk_batcher.gd
Chunk stream in/outtilemap_chunking.gd
Pattern stamp prefabstile_pattern_stamper.gd
Nav repair after editsnav_mesh_teleport_fix.gd
One-way / physics layer opsphysics_shape_interaction.gd
Y-sort / Z layeringsorting_Z_layering.gd
4.3+ multi-layer upgradetilemap_layer_v43_upgrade.gd

Expert Trade-offs (routing only)

Deep recipes (on demand)

LLM-ignorance rule: if a general agent would not know it before reading, it lives here or in scripts/ — never delete, only move.

TopicReference
TileSet editor stepstileset-editor-setup.md
Runtime APIs + flood/terrainruntime-tile-patterns.md
Iso / patterns / diffexpert-tilemap-architectures.md

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Official Documentation
  • Using TileMaps — TileMapLayer workflow, layers, runtime set_cell / terrain painting, and when multiple layers beat a single legacy TileMap.
  • Using TileSets — atlas sources, terrains, physics/navigation/custom data layers painted in the TileSet editor.
  • TileMapLayer — cell APIs, terrain connect, patterns, coordinate conversion, and runtime tile-data updates.
  • TileSet — physics/terrain/custom-data layer definitions shared by every TileMapLayer that references the resource.
  • TileSetAtlasSource — atlas grid, alternatives, and per-tile TileData that drive collision and metadata.
  • TileData — custom data, physics polygons, navigation polygons, and y_sort_origin used at query time.
  • TileMapPattern — capture/stamp multi-tile prefabs without per-cell set_cell loops.
  • Collision shapes (2D) — shape choices and one-way collision patterns that TileSet physics layers expose to CharacterBody2D.
  • Navigation introduction (2D) — how tile navigation polygons feed NavigationRegion2D / NavigationAgent2D after edits.
  • Canvas layers — z-index / CanvasLayer separation for ground, decoration, and roof TileMapLayers.
  • Background loading — threaded ResourceLoader patterns for streaming chunk TileSets / tilemap scenes without hitch spikes.
Related Skills
Prerequisites
  • godot-project-foundations — scene tree, resources, and import layout before authoring TileSet atlases and multi-layer level scenes.
  • godot-gdscript-mastery — typed Vector2i APIs, caching patterns, and signal-up/call-down structure used in runtime tile managers.
  • godot-2d-physics — collision layers/masks and StaticBody2D-equivalent behavior that TileMapLayer physics layers participate in.
Complements
  • godot-version-migration — tilemap_layer_v43_upgrade and TileMap→TileMapLayer sit on the 4.x hop path; run engine upgrades via the migration hub before applying layer scripts.
  • godot-characterbody-2d — move_and_slide against tile colliders, one-way platforms, and floor/wall queries over TileMapLayer geometry.
  • godot-navigation-pathfinding — NavigationAgent2D / region updates when destructible or procedural tiles change walkable polygons.
  • godot-camera-systems — Camera2D limits and follow radii that drive chunk load/unload around the player.
  • godot-adapt-3d-to-2d — isometric / Y-sort depth tricks that pair with TILE_SHAPE_ISOMETRIC and multi-floor TileMapLayers.
  • godot-scene-management — packing and swapping chunk scenes so large tile worlds stream without orphaned layers.
  • godot-performance-optimization — batching, cache budgets, and profiler checks when set_cell / custom-data queries dominate frame time.
Downstream / consumers
  • godot-procedural-generation — noise/BSP/WFC generators that write cells via terrain connect, patterns, or chunk batchers.
  • godot-genre-platformer — precision platformer levels built from TileSet physics, one-ways, and hazard custom data.
  • godot-genre-metroidvania — interconnected room grids, ability gates, and map revelation layered on TileMapLayer chunks.
  • godot-genre-sandbox — diggable/buildable 2D worlds that treat TileMapLayer as the editable terrain backend.
  • godot-monte-carlo-balancer — simulate hazard density, destructible HP, and traversal cost encoded in tile custom data before shipping maps.
Master
  • godot-master — library router and mirrored module entry for cross-skill discovery.

Comments

Markdown supported