Minimal starter — copy, rename, drop in your assets.
Copy this directory to agentsociety/custom/maps/<your_map_id>/, rename it, and
replace map.yaml, visuals/map.json, and the assets.
The v1 contract expects a Tiled JSON map with a tile layer named Collisions.
In that layer, 0 means walkable and any non-zero tile means blocked.
# 1. Copy this template
cp -r agentsociety/custom/maps/_template agentsociety/custom/maps/my_town
# 2. Edit map.yaml, drop in your Tiled JSON and tilesets
# 3. Validate
cd agentsociety
uv run python scripts/validate_map_package.py custom/maps/my_townWhen validation passes, restart GOD and the new map appears in the setup wizard.
See docs/MAP_PACKAGES.md for the full
package contract and the_ville/ for a complete
working example.