project
OpenGame - 港中文开源的端到端网页游戏智能体框架
OpenGame 是香港中文大学 MMLab 开源的首个端到端网页游戏智能体框架,通过自然语言提示自动生成可玩的网页游戏。
OpenGame是什么
OpenGame 是香港中文大学 MMLab 开源的首个端到端网页游戏智能体框架,通过自然语言提示自动生成可玩的网页游戏。框架核心 Game Skill 由 Template Skill(项目骨架模板库)与 Debug Skill(动态调试协议)组成,搭载专为游戏引擎训练的三阶段代码模型 GameCoder-27B,配合 OpenGame-Bench 动态评估基准,系统性解决跨文件不一致与逻辑缺陷难题。
OpenGame的主要功能
- 端到端游戏生成:接收自然语言设计需求,自动输出完整可构建、可运行的网页游戏项目,涵盖从概念到成品的全流程。
- 游戏技能系统(Game Skill)
-
Template Skill:基于物理机制分类(如横版重力、俯视角连续运动、离散网格等),自动选择并实例化稳定的项目模板家族,确保跨文件结构一致。
-
Debug Skill:维护动态调试协议,累积错误签名、根因与验证修复方案,实现系统性集成错误修复而非孤立语法补丁。
-
- 游戏设计文档(GDD)自动生成:将自然语言需求转化为技术化 GDD,动态加载引擎 API 约束,确保机制在选定框架下可行。
- 多模态资产生成:调用图像、音频、视频生成模型,依据 GDD 资产清单自动合成背景、角色动画、音效及 tilemap 等资源。
- 三层阅读策略代码实现:通过渐进式加载 API 摘要、目标源码与实现指南,结合模板方法模式(Hook-Driven)注入游戏逻辑,避免上下文溢出。
- 验证与自修正循环:通过无头浏览器执行构建与测试,解析编译输出并迭代修复,直至游戏可玩。
OpenGame的技术原理
- GameCoder-27B 三阶段训练:基于 Qwen3.5-27B 骨干,通过持续预训练(CPT,Phaser/JS 游戏代码与文档)、监督微调(SFT,GPT-Codex 生成复杂设计提示与 MiniMax 合成高质量解答)及执行强化学习(RL,单文件模块级单元测试反馈),建立游戏引擎架构先验与 API 使用模式。
- Physics-First 分类机制:根据物理约束与空间机制(如”无地面支撑的坠落”映射为平台跳跃原型)对游戏需求进行原型归类,指导后续模板选择。
- 模板方法模式(Hook-Driven Implementation):代理复制模板文件并覆写指定钩子方法(如
setupCustomCollisions),在保留基础生命周期管理确定性的同时注入特定逻辑。 - 动态代理进化:Template Skill 从单一元模板 M0 通过经验累积进化为包含五大家族(重力侧视、俯视角连续运动、离散网格、路径波、UI 驱动)的模板库 L。Debug Skill 从执行失败中记录错误签名、根因与验证修复,形成 Living Debugging Protocol P,包含高频不一致类别的预执行校验。
- OpenGame-Bench 动态评估:通过无头浏览器执行生成游戏,结合 VLM(视觉语言模型)评判,从构建健康度(Build Health)、视觉可用性(Visual Usability)与意图对齐度(Intent Alignment)三个维度评分,超越静态单元测试。
如何使用OpenGame
- 环境准备:安装 Node.js 20+,克隆仓库并执行
npm install、npm run build、npm link,将opengame命令注册到系统路径。 - 配置 API 密钥:设置
OPENAI_API_KEY及可选的OPENAI_BASE_URL、OPENAI_MODEL;同时配置多模态提供商密钥(图像、视频、音频、推理),如 DashScope、Doubao 等,参考.env.example。 - 生成游戏:创建空目录,执行
opengame -p "Build a Snake clone with WASD controls and a dark theme." --yolo,代理将自动完成端到端构建。 - 本地运行:进入生成项目目录,执行
npm install与npm run dev,在浏览器打开http://localhost:5173即可游玩。 - 高级配置:可通过
settings.json(用户级~/.qwen/settings.json或项目级.qwen/settings.json)及 CLI 参数调整行为;设置GAME_TEMPLATES_DIR与GAME_DOCS_DIR可用绝对路径在任意位置创建游戏。
OpenGame的关键信息和使用要求
-
开源协议:开源项目,基于 qwen-code 扩展构建。
-
运行模式:当前为命令行 Headless 模式,一键提示词驱动生成。
-
模型依赖:支持 OpenAI 兼容 API,可选 GameCoder-27B(本地部署)或 Claude Sonnet 4.6 等后端。
-
多模态要求:需自行配置图像、视频、音频生成服务的 API 密钥,框架不内置默认提供商。
-
Node.js 版本:要求 Node.js 20 以上。
OpenGame的核心优势
-
首个游戏专用智能体框架:区别于通用代码代理,专为端到端网页游戏复杂多文件工程与实时交互系统设计。
-
结构性稳定:Template Skill 通过物理原型分类与模板家族实例化,显著降低跨文件不一致与场景连接错误。
-
累积式调试:Debug Skill 的 Living Protocol 使修复经验可复用,避免重复发现相同集成错误。
-
领域专用模型:GameCoder-27B 经三阶段游戏代码训练,掌握引擎 API 与多文件游戏逻辑,优于通用 LLM。
-
动态可玩性验证:OpenGame-Bench 通过无头浏览器与 VLM 评估实际交互质量,而非仅检查静态代码编译。
-
SOTA 性能:在 150 个多样化游戏提示上,搭载 Claude Sonnet 4.6 时达到 Build Health 72.4、Visual Usability 67.2、Intent Alignment 65.1,超越 Cursor 等基线。
OpenGame的项目地址
- 项目官网:https://www.opengame-project-page.com/
- GitHub仓库:https://github.com/leigest519/OpenGame
- arXiv技术论文:https://arxiv.org/pdf/2604.18394
OpenGame的同类竞品对比
| 对比维度 | OpenGame | Cursor + Claude Sonnet 4.6 | Claude Sonnet 4.6 直接生成 |
|---|---|---|---|
| 产品定位 | 端到端网页游戏专用智能体框架 | 通用 AI 编程 IDE + 智能体后端 | 通用大语言模型零样本代码生成 |
| 项目脚手架 | Template Skill 按物理原型自动匹配多文件模板家族,强制 Hook-Driven 代码组织 | 无游戏专用脚手架,依赖通用文件导航与人工初始化 | 易退化为单文件 Vanilla HTML5/JS,缺乏跨文件状态同步 |
| 调试机制 | Debug Skill 动态累积集成错误修复协议,预执行校验 + 运行时迭代修复 | 通用编译错误修复,无游戏运行时与场景连接错误的专项积累 | 无系统性调试循环,需人工反复提示修正 |
| 评估方式 | OpenGame-Bench:无头浏览器 + VLM 动态评估可玩性 | 静态单元测试或人工检查 | 静态代码检查或人工试玩 |
| 构建健康度 (BH) | 72.4 | 66.8 | 59.8 |
| 视觉可用度 (VU) | 67.2 | 61.4 | 61.3 |
| 意图对齐度 (IA) | 65.1 | 58.9 | 55.2 |
| 核心差距 | 结构性领先:模板化脚手架 + 动态调试协议系统性解决跨文件不一致 | 通用工具缺乏游戏领域固化知识,复杂工程易出现逻辑漂移 | 裸模型缺乏工程约束,全局状态丢失与场景连接错误频发 |
OpenGame的应用场景
-
独立开发者原型验证:快速将游戏创意转化为可玩 Demo,降低前期技术门槛与引擎学习成本。
-
教育互动内容开发:教师可将课程知识点(如物理、数学)融入游戏机制,生成答题格斗或闯关类游戏辅助教学。
-
营销与社媒 viral 内容:博主或品牌方可基于热点 meme 或 IP 快速生成定制化互动小游戏,用于社交媒体传播。
-
游戏设计概念验证:策划人员通过自然语言描述快速生成交互原型,验证核心玩法与视觉风格可行性。
-
AI 游戏生成研究:为学术界提供标准化的端到端游戏生成框架与评估基准(OpenGame-Bench),推动代码代理向复杂交互应用演进。