# 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:背包界面