开源的游戏开发智能体,一段文字描述生成个游戏,整个过程不需要写一行代码

让AI做游戏,这事听着就离谱
之前用AI写个排序脚本、搭个简单网页,确实挺好使。但让AI从头做一个游戏?我心里是打鼓的。游戏可不是静态页面,它有实时循环、状态管理、碰撞检测,代码结构比普通项目复杂得多。直到看到香港中文大学MMLab开源的这个OpenGame,试了一下还真跑起来了。
它是怎么把游戏做起来的
核心是一套叫Game Skill的机制,分两部分配合。Template Skill相当于老手的经验库——AI会根据你描述的游戏类型自动选择合适的引擎骨架,比如简单的用canvas打底,复杂的直接上Phaser框架,项目结构搭得比较稳,后面改起来不容易崩。
Debug Skill才是重头戏。普通AI助手修bug就是看看语法错误,但游戏的问题往往是”角色能动但碰撞检测没生效””血条显示了但扣血逻辑没跑通”这种跨模块的集成故障。这套系统会让AI在沙盒里实际运行游戏,抓控制台报错、模拟交互操作,系统性地排查问题,不是头痛医头那种。
团队还专门训了个模型叫GameCoder-27B。训练方式也挺有意思,先拿高质量的游戏开发轨迹做监督微调,再用”游戏能不能真正跑起来”作为奖励信号做强化学习。说白了就是比谁做的游戏真的能玩,不是比代码写得漂不漂亮。
实际操作比想象中简单
目前还没发npm包,得从源码装。clone下来之后npm install、npm run build、npm link三步搞定。然后找个空文件夹,一句命令就能开始:
opengame -p "做个贪吃蛇,WASD控制,暗黑风格" --yolo
加–yolo参数就是全自动模式,AI自己搭框架写代码修bug,中间不停下来问你。不加的话,写文件会自动批准,但执行shell命令会停下来确认。跑完生成index.html,本地起个服务就能玩。
API配置要留意一下
主模型走OpenAI兼容接口,设个OPENAI_API_KEY就行,想换其他平台改一下BASE_URL。游戏少不了图片素材,它支持混着用不同服务商,比如图片走通义万相、视频走豆包,各有各的key,互不影响。具体能配哪些在项目的docs目录里写得挺清楚,启动时也会打印一行当前接了哪些服务的状态条。
不过毕竟还在早期阶段,做特别复杂的游戏类型(比如3D或者联机的)还是力不从心。2D小游戏、休闲类、文字冒险这些成功率还是比较高的。
下载链接:https://pan.quark.cn/s/e2380fdaf5a4
GitHub 项目地址:https://github.com/leigest519/OpenGame