2.6 KiB
2.6 KiB
ManaPetWorld AI Agent 实验报告
1. 如何提示 Agent 实现需求
我采用了"ai 骑着 Agent 跑"的提示方式。每次让 Agent 修改前,先说明要实现的游戏体验,利用 LLM 先生成提示词和计划。
2. 如何让多轮修改的进度可重用
第一,要求 Agent 在每轮开始前先读取项目说明和现有代码模式。使用 codegraph MCP,辅助完成这项任务
第二,把需求拆成可验收的小任务。使用 plan 模式帮助设计。
第三,人工调试。人工验收并使用调试模式人工定位具体问题。
3. 多次尝试后仍然困难的错误及解决过程
实验中最难处理的问题是地图重定位和传送落点错误。
- TMX 地图中的传送对象坐标配置错误。
- 世界地图 placement 与单张地图局部坐标换算不一致。
- Warp 目标读取时把瓦片坐标和像素坐标混用。
- 玩家重定位后朝向、碰撞或附近 Warp 状态没有同步更新。
- 地图名使用了旧资源名或别名,导致目标地图解析不稳定。
Agent 前几次只根据代码推断问题,定位不够准确。之后我改变提示方式,不再直接要求“修好传送”,而是要求 Agent 先增加调试模式。
最终采用的解决方式是让 AI 增加 F3 坐标调试模式。调试面板显示:
- 当前地图名
Map - 玩家局部坐标
Local - 世界坐标
World - 当前世界坐标覆盖到的地图列表
- 附近传送点及其目标地图
Warp
有了这些信息后,我可以重新定位问题:先在错误现场按 F3,记录当前地图和坐标,再告诉 Agent 修改方向,例如“当前位置已经进入目标地图,但 World 坐标覆盖不对,优先检查 LocalToWorld 换算和 world placement”,或者“附近 Warp 目标名正确但落点偏移,优先检查 ReadWarpTarget 和 TMX 对象坐标单位”。这比单纯描述“传送错了”更有效。
4. 最终效果
- 支持 NPC 对话、野外宠物遭遇、战斗、背包、捕捉符和任务日志。
- 支持小地图、日志面板、任务面板等 UI 展示。
图1:开始界面
图2:任务和地图探索
图3:战斗界面
图4:背包界面



