用 Codex 做小游戏、小工具:先写 PLAN.md 把规则说死,再让它在真实浏览器里边玩边改,附 4 段提示词

一句“帮我做个贪吃蛇”只能得到一个凑合的版本。官方浏览器游戏用例的做法是:先让 Codex 用 /plan 写出 PLAN.md,把目标、操作、胜负、难度说清,再用 AGENTS.md 约束它自己测试,最后用截图迭代。本文给 4 段提示词。

NNathaniel bigo··原创首发·AI 辅助撰写
7 分钟读完
资料核对于 2026-11-05 · 依据官方文档与公开资料整理 Plus 账号
本文根据 Codex 官方用例《Create browser-based games》和《Prompting》整理,资料核对于 2026-11-05。配图为本站整理的示意图,不是软件截图。本站(bigolab.com)不是 OpenAI 官方网站。安装与配置见 /guides/codex-getting-started,做一个普通网页见 /guides/codex-build-website-from-scratch,本文只讲小游戏和小工具。

适用于谁

  • 想做一个贪吃蛇、2048、记忆翻牌、计时器、记账小工具之类小项目,但不会写代码的人;
  • 试过一句话让 AI 做游戏,结果规则乱、按键不灵、改一处坏一处的人;
  • 想做个人练手项目,希望 Codex 自己测试、自己改的人。

结论先说

  1. 先计划,再动手。 官方用例明确说,“build a game”太模糊,要让 Codex 先写一份 PLAN.md,把游戏定义清楚。可以用 /plan 进入计划模式,再把输出存成 PLAN.md。
  2. PLAN.md 至少写清:玩家目标、主循环、操作方式、胜负状态、难度或进度、视觉方向、技术栈与部署假设、做事的顺序。
  3. 用 AGENTS.md 约束它的工作方式:做完一个功能就跑构建和测试、按 PLAN.md 做、把过程记在 .logs 里。
  4. 让它在真实浏览器里测试。 官方推荐用 Playwright 交互技能让它自己玩游戏、看当前状态,再调整操作和手感。
  5. 用截图和具体反馈迭代,计划越清楚,第一版越接近你想要的。

用 Codex 做小游戏的四步:写 PLAN.md、AGENTS.md 约束、浏览器里测试、截图反馈迭代

图:本站根据 官方用例《Create browser-based games》 整理的示意图

一、为什么要先写 PLAN.md

游戏和普通页面不同:一个能玩的游戏需要规则、渲染、操作、状态和美术,改一处很容易影响别处。官方的经验是,Codex 需要知道每一块该怎么实现,并且在做的过程中反复回头参考。把这些写进文件,比留在聊天记录里可靠,聊天太长时也不会丢。

PLAN.md 建议包含官方列的这些条目:

  • 玩家的目标是什么;
  • 主循环:玩家一回合做什么、系统怎么反应;
  • 操作:键盘、鼠标还是触屏;
  • 胜利和失败的条件;
  • 难度或进度怎么变化;
  • 视觉风格;
  • 技术栈和发布方式;
  • 里程碑顺序(先做能玩的最小版本)。

二、技术栈怎么选

官方示例给的是比较完整的方案:用 Next.js 配 Phaser 或 PixiJS 做前端和渲染,需要排行榜、匹配、存档时再加 Fastify、WebSocket、Postgres 和 Redis。这是为大型多人游戏准备的。

如果你只是想做个单机小游戏或小工具,以下是本站的建议(不是官方说法):先让它用一个 HTML 文件(页面、样式、脚本放在一起)起步,能在浏览器里直接打开;确实需要保存数据或多人联机,再升级。技术栈在 PLAN.md 里写死,之后不要让它中途换。

三、4 段可以直接复制的提示词

方括号里是要你自己填的内容。

1. 先写计划,不写代码

我想做一个 [小游戏名称,例如“2048”]。请先进入计划模式,不要写代码。
请写出 PLAN.md,包含:玩家目标、主循环、操作方式([键盘方向键 / 手机滑动])、胜负条件、难度变化、视觉风格([简洁、扁平])、技术栈(先用单个 HTML 文件,不引入框架)、分几步做以及每一步完成的标准。
有不清楚的地方先问我,不要自己假设。

2. 写 AGENTS.md,约束它的工作方式

请在项目根目录创建 AGENTS.md,内容包括:
- 这是一个 [游戏类型],技术栈见 PLAN.md;
- 每完成一个功能就运行构建和测试来验证;
- 按 PLAN.md 的顺序做,不要提前做后面的功能;
- 把工作过程记录到 .logs/ 下,方便我回头看你的决定;
- 在浏览器里实际运行并检查画面和操作,不满意就继续改。
先给我看内容,确认后再写入文件。

3. 按计划实现并自己测试

请按 PLAN.md 实现第 1 步:做出最小可玩的版本。
完成后:
1. 启动本地服务或直接打开页面,告诉我怎么访问;
2. 自己把游戏玩一遍,检查操作是否灵敏、胜负判断是否正确;
3. 列出你测试了哪些情况、发现了哪些问题、修了哪些;
4. 还没做的功能不要提前做。

4. 用反馈迭代

我玩了一下,有这些问题:
1. [按方向键时有时没反应]
2. [分数没有保存,刷新后归零]
3. [手机上按钮太小]
请逐条复现并修复,每修一条说明原因;只改相关代码,不要改其他功能。
修完后重新把整个流程玩一遍,确认没有把别处改坏。

官方《Prompting》也建议迭代时用小而具体的请求,例如“只改标题区域”,喜欢的改动及时提交,不喜欢的还原,并告诉 Codex 你还原了什么,免得它下一轮把你的修改覆盖回去。截图可以作为视觉依据,但操作逻辑、悬停效果这类图里看不出的,要用文字补充。

四、做小工具时的补充

计时器、记账、待办、单位换算这类小工具,思路和游戏相同,只是 PLAN.md 里的“胜负条件”换成“输入、输出和边界情况”:

  • 输入哪些数据、允许什么范围,输错了怎么提示;
  • 数据存哪里。仅放在浏览器里的数据,换个浏览器或清理缓存就没了,需要长期保存的要在计划里写明;
  • 涉及金额、日期的计算,让它写几个用例,你自己拿计算器核对。

五、什么时候该停

做小游戏时什么情况要停下来重新规划:规则反复改、越改越乱、改一处坏一处、素材很多耗时很长

图:本站根据 官方用例《Create browser-based games》 整理的示意图

官方提到,如果有大量图片素材要生成,首版有时要花数小时。你可以先让它只做玩法,素材用占位图,玩法稳定后再做美术。同时:

常见问题

Q:游戏做好了怎么发布给别人玩?

单个 HTML 文件可以直接发给别人打开,或者放到静态托管服务。具体选哪个、怎么部署,可以让 Codex 列出方案和步骤,你再自己决定,部署前不要把密钥写进代码。

Q:可以用别人的图片、音乐吗?

注意版权和授权。能用自己画的、自己生成并确认可商用的,或者明确授权的素材,来源不明的不要放进要发布的项目。

Q:做游戏会很费额度吗?

带大量素材和长时间自我测试的任务消耗会比较大。Codex 随 ChatGPT 套餐提供,额度以官方页面为准,需要更多额度可以看看 /chongzhi/chatgpt-plus 里的说明。

参考资料

  • Codex 官方用例:Create browser-based games — https://learn.chatgpt.com/use-cases/browser-games
  • Codex 官方文档:Prompting — https://learn.chatgpt.com/docs/prompting

Nathaniel 的更多内容

  1. 01

    Claude Code 在 Windows 上的常见坑:Git Bash 还是 PowerShell、路径反斜杠、假报错、WSL 怎么选

    Windows 上用 Claude Code,装好之后最容易踩的是:用哪个 shell、路径写法不一致、grep 没匹配就报错、钩子没生效、WSL 和原生怎么选。本文逐条按官方文档整理原因和处理办法,附三段提示词和一张对照表。

    Claude0
  2. 02

    Claude Code Hooks 实战「提交前自动跑测试」:PreToolUse 拦住 git commit,测试不过就退出码 2,附 Windows 注意点

    只写一个完整例子:让 Claude Code 每次要执行 git commit 之前,先自动跑项目测试,没通过就拦下并把输出交给它修。本文按官方 Hooks 文档给出脚本、settings.json 配置、测试方法、排错和 Windows 的两处坑。

    Claude0
  3. 03

    Claude Code 自定义斜杠命令与 Skill 实战:从零写一个「生成更新日志」的 /release-notes,含传参、预执行命令和调试

    概念看过了,还是不知道从哪下手?本文按 Claude Code 官方「Extend Claude with skills」写一个完整可用的例子:用 /release-notes 根据 git 记录生成更新日志,覆盖目录、frontmatter、传参、预执行命令、预授权和调试。

    Claude0
  4. 04

    Claude Code 部署网站:先写 Dockerfile 和 compose 在本机跑通,再按清单上云服务器,别让它直接改线上

    想让 Claude Code 帮你把网站部署到云服务器。本文只写通用做法,按 Docker 官方文档讲:让它写 Dockerfile、.dockerignore 和 compose,在本机跑通,端口和数据卷怎么设,再给出上线清单,并说明为什么不要让它直接动线上机器。

    Claude0
  5. 05

    Claude Code 写爬虫与数据清洗:先查 robots.txt 和网站条款,控制频率,原始数据留一份再清洗

    想让 Claude Code 写爬虫抓数据再清洗。本文先讲合规:robots.txt 不是授权也不是安全措施、网站条款要自己读;再讲怎么用 Python 标准库检查规则、小样本先试、保存原始数据,以及用 pandas 清洗,附四段提示词。

    Claude0
  6. 06

    Claude Code 写 Chrome 扩展:按 Manifest V3 起步,加载未打包的扩展,改了哪些文件要重新加载

    想让 Claude Code 帮你写一个 Chrome 扩展。本文按 Chrome 官方扩展文档讲:manifest.json 的最小写法、在 chrome://extensions 加载未打包的扩展、哪些改动要刷新、怎么看控制台和报错,再给四段提示词,以及权限要尽量少。

    Claude0

同产品的其他教程

  1. 01

    OpenAI API 的 token 怎么算、怎么估算费用:input_tokens 计数接口、tiktoken 和隐藏的输出 token

    发请求前想知道会用多少 token?官方有 Responses 的 input_tokens 计数接口,能把文字、图片、文件、工具定义一起算准;本地 tiktoken 只适合纯文本。本文给 Python 和 Node 示例,讲输出 token 为什么可能比看到的多,以及怎么估算费用。

    ChatGPT0
  2. 02

    OpenAI API Node.js / TypeScript 快速上手:npm install openai、example.mjs 第一个请求,到流式、函数调用、联网搜索

    用 Node.js 调 OpenAI API:设置 OPENAI_API_KEY 环境变量,npm install openai,新建 example.mjs,用 client.responses.create 发出第一个请求。并列出图片、文件、流式、函数调用、联网搜索和错误捕获的 Node 写法。

    ChatGPT0
  3. 03

    OpenAI API 用量层级(usage tiers)与速率限制怎么提升:Free、Build、Launch、Grow 和后台 Limits 页

    OpenAI API 的限速不是固定的:官方按累计购买额度把组织分成 Free、Build、Launch、Grow 四个层级,达到门槛自动升级。本文讲 RPM、TPM 等指标、怎么在后台查自己的限额、响应头怎么读、花费上限和限速的区别,以及怎么让限额变得够用。

    ChatGPT0
  4. 04

    OpenAI API 报错 400、401、403、404、429、500、503 怎么排查:按官方错误码页逐个看原因和解决办法

    调用 OpenAI API 返回 400、401、403、404、429、500、503,各自什么意思?本文按官方 Error codes 页,每个状态码一节,写清官方给的原因和解决办法,并说明 404 在官方页面里的位置、429 的六种情形,附 Python 和 Node 的错误捕获写法。

    ChatGPT0
  5. 05

    OpenAI Realtime API 是什么:语音到语音会话、WebRTC 与 WebSocket、临时密钥和事件机制

    Realtime API 让模型直接处理音频,做可以随时打断的语音助手。本文按官方文档讲它是什么、什么时候用、浏览器接入的流程、session 与事件、可用声音、60 分钟会话上限、安全标识,以及它和转写、文字转语音的分工。

    ChatGPT0
  6. 06

    OpenAI 图像生成 API 怎么用:gpt-image 系列、images.generate 与 Responses 工具、尺寸质量和遮罩编辑

    用 OpenAI API 生成或编辑图片,有 Image API 和 Responses 里的 image_generation 工具两条路。本文按官方文档给 Python 和 Node 示例,讲 gpt-image 模型选择、尺寸质量格式参数、遮罩编辑、被拦截时的错误处理,以及需要组织验证的提醒。

    ChatGPT0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~