【免费下载链接】GOD
Govern, Observe, Direct - a real-time control room for agent societies
GOD Map Studio(地图工作台)是 GOD 项目内置的可视化地图创作工具:输入一句"世界设定"提示词,AI 就会生成一张可运行的像素风地图草稿,再经过地点锚点校准、碰撞层涂抹和自动校验,最终发布成 GOD 可识别的专属地图包(Map Package),让 Agent 智能体直接进入你的新城镇世界。本文将完整拆解这套从 AI 生成到一键发布的操作流程。
先克隆仓库并启动 GOD:
git clone https://gitcode.com/gh_mirrors/god5/GOD cd GOD ./scripts/god.sh start启动后打开前端 Setup(实验初始化)页面,右上角就能看到"地图工作台"按钮,点击进入/map-studio路由。
什么是 GOD Map Studio 地图包
在 GOD 中,地图是"可插拔"的:每个地图包就是agentsociety/custom/maps/<map_id>/下的一个文件夹,内含语义清单map.yaml和像素画面visuals/map.json(Tiled JSON 格式)。新建一个合规文件夹,刷新向导,新地图就会自动出现在可选世界列表中——不需要改任何代码。
Map Studio 的价值在于:它把"手动写 map.yaml + 画 Tiled 地图 + 配置 Collisions 碰撞层"这套繁琐流程,变成了"提示词生成 + 画布拖拽 + 一键发布"。
第一步:配置图片模型,输入世界设定
打开地图工作台后,右侧是"生成"卡片,核心输入有三项:
- 世界设定(World Prompt):一句自然语言描述即可,例如默认的"月球基地里有一座赛博坦风格的高塔,可爱像素风"。
- 参考图(可选):上传一张风格参考图(不超过 12 MB),生成时会作为风格参考。
- 图片模型配置:填入
IMAGE_GEN_API_KEY、IMAGE_GEN_API_BASE、IMAGE_GEN_MODEL_NAME、IMAGE_GEN_PROVIDER四个参数并保存。API key 只写入本地.env,浏览器端仅显示脱敏状态。
💡 小提示:不填IMAGE_GEN_API_KEY也能生成草稿,但会使用本地占位图,画面不会有 AI 风格化效果。
点击"生成地图"按钮,后端POST /api/v1/god/map-studio/drafts接口会调用图片模型生成整图,同时自动解析出地点列表、交互列表和碰撞数据,在agentsociety/custom/generated_maps/下(该目录已被 Git 忽略)创建一份完整的地图包草稿,包含:
visuals/map_assets/generated_full_map_tileset.png:整图 tilesetvisuals/map.json:带Collisions图层的 Tiled JSON 地图map.yaml:语义清单(地点、锚点、交互)visuals/preview.png:缩略预览图
如果第一张画面不满意,点击"重新生成"即可,且已校准的地点和碰撞修改会被保留。
第二步:校准地点锚点与碰撞层
草稿生成后,左侧"画布"区显示 AI 生成的地图,上面散布着可拖拽的地点锚点标记。右侧"校准/校验"卡片提供三种画笔模式:
| 画笔模式 | 作用 |
|---|---|
| 锚点 | 选中某个地点,直接在画布上拖拽它的锚点位置,松开即保存 |
| 可走 | 涂抹绿色区域,把默认被阻挡的地块改为可通行 |
| 阻挡 | 涂抹红色区域,禁止 Agent 进入 |
碰撞层(Collision Layer)决定了 Agent 能走哪里:红色区域不可走,绿色区域可走。画笔支持 1 / 3 / 5 格三种笔刷尺寸,并提供撤销、清空未保存修改、显示/隐藏碰撞层等操作。画布下方的表格还能直接修改每个地点的anchor_tile坐标(0-139 / 0-99 的 140×100 网格),并查看scene_type类型标签。
所有修改点击"保存并校验"后,会通过PATCH /api/v1/god/map-studio/drafts/{draft_id}写回草稿包的map.yaml和 Tiled JSON 的Collisions图层。
第三步:校验、发布与导出 Zip
画布状态标签会实时显示草稿状态(ready/needs_fix)。点击"校验"按钮后,后端会执行与精选地图相同的严格校验——检查必填字段、资源路径、Tiled JSON 形状、tileset 图片、Collisions图层、地点锚点与交互引用,结果直接展示在"校验与发布"面板。
校验通过后有两个出口:
- 发布:修改
map_id(如重复会自动加_2后缀),点击"发布",草稿包即被复制为正式地图包,落到agentsociety/custom/maps/<map_id>/,并自动写入map.yaml的map_id、display_name和localized字段。发布成功后会给出"用于初始化"跳转链接,直达 Setup 页面并预选这张新地图。 - 导出 Zip:调用
/api/v1/god/map-packs/export下载<map_id>-map-pack.zip,方便备份或分发给其他 GOD 实例导入。
发布之后:新地图如何被 GOD 使用
回到 Setup 页面,"地图包"下拉框会自动扫描agentsociety/custom/maps/下所有合法地图包,显示"X 个地点,Y 个交互,Z 个角色形象"的摘要。选中你的新地图后,GOD 智能体即可基于这些地点生成居民画像和初始位置,启动实验后在控制台里实时回放 Agent 的走位:
内置的维尔小镇(The Ville)就是一个完整的参考案例,含 10 个地点、65 个交互和真实 tileset:
关键文件与资料索引
- 地图工作台前端页面:index.tsx
- 后端 API 路由(草稿/校验/发布接口):map_studio.py
- 地图生成核心服务(图片调用、碰撞合成、发布逻辑):map_generation.py
- Map Studio 官方中文文档:map-studio.rst
- 地图包完整规范(中英文):MAP_PACKAGES.zh-CN.md、MAP_PACKAGES.md
- 最小可用模板包(复制改名即可手工造图):agentsociety/custom/maps/_template/
- 完整示例包(10 地点 / 65 交互):agentsociety/custom/maps/the_ville/
- 命令行校验脚本:validate_map_package.py
常见问题速查
发布后地图没出现在 Setup 列表?大概率是校验未通过。手动运行校验脚本可定位具体错误:
cd agentsociety uv run python scripts/validate_map_package.py custom/maps/<map_id>Tiled JSON 有什么硬性要求?v1 仅支持正交(orthogonal)投影,tilewidth/tileheight需与tile_size一致,必须包含名为Collisions的图层(0可走、非 0 阻挡),tileset 图片必须是包内的 PNG 相对路径,TMX 和外部 tileset 暂不支持。
草稿会污染版本库吗?不会。草稿全部放在agentsociety/custom/generated_maps/(Git 已忽略),只有点击"发布"才会写入正式的custom/maps/目录。
一句话总结:一句提示词 → AI 出图 → 拖锚点、涂碰撞 → 校验发布,五步之内,你的专属像素世界就能成为 GOD Agent 社会的新舞台。
【免费下载链接】GOD
Govern, Observe, Direct - a real-time control room for agent societies
相关推荐
TablePro 发布博客写作指南:从草稿、配图到上线的完整工作流
TablePro 发布博客写作指南:从草稿、配图到上线的完整工作流 TablePro 把发布公告博客当作大版本发布流程的正式出口:一篇 Markdown 文件即
tailwind-merge 多包仓库发布工作流:从版本命名、草稿生成到 GitHub Release 的完整指南
tailwind merge 多包仓库发布工作流:从版本命名、草稿生成到 GitHub Release 的完整指南 本篇指南面向需要在 tailwind mer
前端3步快速上手:Ryujinx任天堂Switch模拟器终极使用指南
3步快速上手:Ryujinx任天堂Switch模拟器终极使用指南 Ryujinx是一款用C 编写的开源Nintendo Switch模拟器,致力于为玩家提供出色
硬件仿真图形学
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考