大家好!最近,我正在探索GameMaker Studio中的AI辅助开发工作流。像许多开发者一样,我尝试使用AI工具来完成以下任务: * 编写GML代码; * 调试; * 解释代码; * 自动化重复任务。虽然这些工具很有用,但我注意到一个有趣的限制:AI模型很好地理解文本,但一个GameMaker项目不仅仅是一个文本文件的集合。GameMaker项目包含大量内部结构和关系: * 对象引用精灵; * 房间包含实例; * 脚本与其他资源交互; * 资源使用内部ID; * .yyp文件描述了所有内容之间的连接。由于此原因,改变单个文件而不了解项目结构可能会创建破坏引用或无效资源。这使我对一个问题产生了好奇: 一个AI助手如何理解GameMaker项目而不是盲目编辑文件? # 探索GameMaker项目结构 我开始研究GameMaker如何存储和组织项目数据。越来越多地研究,越来越多地意识到一个项目更像是一个连接的资源图表,而不是一个简单的文件夹。例如: * 一个对象依赖于精灵、事件和代码; * 一个房间依赖于对象和实例; * 资源通过ID和引用连接。对于AI工具来说,拥有这个背景知识很重要。 # 构建MCP服务器 为此想法进行实验,我创建了一个用于GameMaker项目的开源MCP服务器: GameMaker MCP GitHub:https://github.com/yearningss/gamemaker-mcp 目标不是替换GameMaker工具,而是提供一个让AI助手更好地理解项目结构的方法。 # 主要挑战 # 1. 理解项目资源 第一个挑战是创建一种方法来检查GameMaker项目。系统需要了解资源,如: * 对象; * 精灵; * 房间; * 脚本; * 着色器; * 配置。仅仅读取文件是不够的,因为资源之间的关系很重要。 # 2. 使AI辅助修改更安全 一项关注的是: "如果AI进行了错误的修改会发生什么?" 人类开发者通常理解改变资源的后果。一个AI模型可能不会。因此,我专注于工作流程,使改变更容易检查: * 项目分析; * 验证; * 资源检查; * 快照; * 安全操作。理想情况下,AI辅助修改应该是可理解的和可逆的。 # 3. 为AI代理创建工具传统命令通常是为人类设计的。例如: 编辑文件X 但是,AI代理需要更多的背景。更高级的操作更有用: 检查房间内容 查找使用此精灵的对象 检查资源引用 分析项目结构 AI应该理解项目,而不是仅仅修改文件。 # 当前功能 项目目前包括: * GameMaker项目解析; * 资源检查; * 项目分析; * 验证工具; * 对象和房间操作; * 快照支持; * Igor构建集成。 # 这与gm-cli的关系 我认为GameMaker MCP和gm-cli解决不同的问题。GameMaker CLI关注的是官方工作流: * 项目创建; * 运行管理; * 构建; * 发布; * 自动化。这个项目关注的是AI交互: * 理解项目结构; * 给AI助手更多的背景; * 安全的项目操作; * MCP基于的工作流。它们不是互换的。一个可能的工作流程是: AI助手 | v GameMaker MCP(项目理解) | v gm-cli(构建/打包/发布) | v GameMaker # 为什么我认为这是有趣的 GameMaker是一个更大的挑战的例子,在AI开发工具中。现代引擎包含大量容易让人类理解但难以让AI模型理解的内部结构。AI辅助开发的未来不仅仅是: "AI写代码" 也是: "AI理解整个项目" 这个想法可以应用于其他开发环境。 # 问题给GameMaker开发者 我想听听您的想法: * 大型GameMaker项目中哪些部分最难管理或自动化? * 了解项目结构的工具是否有用? * 您将信赖AI助手处理哪些任务? * 使AI工具在GameMaker开发中有用的一些特性是什么? 感谢阅读!
我在为人工智能辅助开发构建MCP服务器的过程中,研究了GameMaker项目的结构。
评论 (0)