OpenAI 的 Codex 与游戏开发非常契合。
原因很简单,因为游戏制作并不是只靠“写代码”就结束了。

游戏包含企划、操作手感、UI、视觉、游戏循环、难度调整、Bug 修复、评审等大量细致的反复工作。Codex 可以沿着规划、实现、浏览器确认、改进的流程来推进这些反复。

本文将基于 OpenAI 官方的 Codex 用例「Game development」,用中文整理在游戏开发中该如何更好地使用 Codex。

先订阅 ChatGPT Plus 或 Pro

如果你想认真使用 Codex,首先需要准备 ChatGPT 的付费方案。

如果是个人开始使用,基本上 ChatGPT Plus 就足够了。

即便是 Plus 也可以体验 Codex,因此你可以先尝试制作小型浏览器游戏、修复现有代码,或者试试 PR 评审。

另一方面,ChatGPT Pro 更适合那些希望更长时间、更高频率使用 Codex 的人。

如果你希望并行推进多个任务,反复处理复杂的 Bug 修复或较大规模的重构(refactoring),或者想在游戏开发中进行大量高频迭代,那么 Pro 会更合适。

粗略地说,两者的区别与其说是“能做什么”,不如说是“能用到什么程度”。

ChatGPT Plus 更适合想先试试看的人,或用于个人开发的人。

如果你是从小型游戏制作、UI 调整、代码评审、较轻量的 Bug 修复开始,Plus 就已经足够了。

ChatGPT Pro 更适合希望深度用于日常开发、并持续跑较重任务的人。

如果你经常进行较大规模的实现、并行作业、较长的改进循环,以及复杂的调查和修复,那么 Pro 更适合你。

没有必要一开始就订阅 Pro。

更现实的做法是,先用 Plus 熟悉 Codex 的使用方式,等你觉得“使用上限不够了”或者“想跑更长时间的任务”时,再考虑升级到 Pro。

另外,套餐内容和使用上限可能会发生变化。订阅前,请确认 OpenAI 官方的 ChatGPT pricingChatGPT Proの説明

整体图景

将 Codex 用于游戏开发,大致可以分为 5 个阶段。

  1. 先做出一个可玩的原型

  2. 对 UI 和操作手感进行细致调整

  3. 用评估循环改进复杂的游戏逻辑

  4. 根据真实日志和 Issue 整理 Bug

  5. 在 PR 评审中检测回归和测试不足

关键在于,不要一上来就直接丢一句“做个游戏”,而是要拆分成 Codex 更容易判断和处理的单位。

1. 先做出“可玩的循环”

最初的目标不是成品。

而是做出一个“最小游戏循环”——玩家可以操作,有目标,有成功和失败,并且可以玩上几轮。

在 OpenAI 的官方用例中,也推荐先让 Codex 编写游戏计划,再基于计划实现浏览器游戏,并在真实浏览器中测试和改进。

一开始创建一个 PLAN.md,会更容易推进。

PLAN.md 中应当写的内容,例如可以包括:

  • 玩家目标

  • 主要游戏循环

  • 操作方式

  • 胜利条件与失败条件

  • 难度与进程

  • 视觉方向

  • 技术栈

  • 实现里程碑

在这个阶段,重要的是要求 Codex “先把游戏规格具体化,再开始制作”。

提示词示例

我想在这个仓库里做一个浏览器游戏。

请先创建 PLAN.md。
请具体定义以下内容。

- 游戏目标
- 玩家操作
- 主循环
- 胜利条件
- 失败条件
- 难度提升方式
- 画面构成
- 所需资源
- 技术栈
- 实现顺序

之后,请根据 PLAN.md 实现第一个可玩的版本。
实现后请在本地启动,并在浏览器中确认运行情况。

2. 用 AGENTS.md 固定 Codex 的工作方式

如果你打算让 Codex 承担较长周期的开发工作,那么准备一个 AGENTS.md 会让过程更稳定。

AGENTS.md 是项目中面向 Codex 的工作规则。

在游戏开发中,例如可以写入如下内容:

# Game Project

## Tech Stack

- Next.js for frontend
- Phaser or PixiJS for rendering
- Fastify for backend if needed
- Postgres for persistence if needed
- Redis for realtime or pub/sub if needed
- OpenAI API for generative AI features if needed

## Working Rules

- Use PLAN.md as the source of truth.
- After each feature, run build and test commands.
- Use browser verification for gameplay and UI changes.
- Keep implementation logs under .logs/.
- Save image generation prompts under .prompts/ when creating assets.
- Prefer small, focused changes over broad rewrites.

这样一来,Codex 就不必每次都只依赖当前对话,而是可以按照项目规则持续工作。

3. 把资源生成也纳入工作流

在游戏中,需要背景、角色、图标、UI 部件等视觉素材。

官方指南中也介绍了将 Codex 与图像生成结合使用的方法。

关键并不是一次性生成图片,而是为了以后还能继续添加同一风格的素材,要把提示词保存下来。

比较推荐的做法是创建一个类似 .prompts/ 的目录,为每个资源保留对应的提示词。

请生成用于游戏的视觉素材。

- 面向 2D 浏览器游戏
- 风格明亮、易读
- 在小屏幕上也清晰可辨
- 将背景、玩家、敌人、UI 图标分开制作
- 将生成时使用的提示词保存到 .prompts/ 中

在游戏开发中,视觉一致性非常重要。

把素材提示词保存下来,之后像“添加同一世界观下的敌人”“追加另一关卡的背景”这样的工作就会轻松很多。

4. UI 和操作手感要小步调整

当游戏开始跑起来之后,下一步就是 UI 和操作手感。

这里最重要的是:不要一次改太多。

在 OpenAI 的「Make granular UI changes」用例中,推荐的是对现有应用一次只做一个小的 UI 改动,并在浏览器中确认后再继续推进。

游戏也是一样。

例如,可以这样细化需求:

请仅调整现有游戏画面中的 HUD 分数显示。

要求:
- 将分数固定在画面左上角
- 在移动端也不能被裁切
- 保持现有的颜色、字体和布局风格
- 不修改游戏逻辑
- 修改后在浏览器中确认

好的请求,修改范围应当足够小。

  • 调整按钮位置

  • 修正 HUD 的留白

  • 改进菜单中的状态显示

  • 扩大点击区域

  • 修复移动端布局错乱

  • 缩短操作说明文案

相反,“把整体做得更好看一点”这样的要求范围就太大了。

即便交给 Codex,人类这边也应该把改动单位切得更小,结果会更稳定。

5. 复杂的游戏逻辑要用评估循环来推进

游戏里总会有一些部分,不是简单实现一下就能解决的。

例如:

  • 敌人 AI 行为

  • 难度曲线

  • 地图生成

  • 碰撞判定

  • 分数计算

  • 谜题自动生成

  • 游戏平衡

这类问题与其追求一次出正确答案,不如边评估边改进。

在 OpenAI 的「Iterate on difficult problems」中,介绍了向 Codex 提供评估脚本或用于确认的工件(artifact),并一边看分数一边持续改进的用法。

如果是游戏开发,可以准备如下评估指标:

  • 可通关率

  • 平均游戏时长

  • 与敌人碰撞的频率

  • FPS 下降情况

  • 生成地图的可达性

  • 各难度下的成功率

  • UI 元素重叠检查

提示词示例

请通过评估循环来改进这个游戏的难度调整。

推进方式:
- 先阅读当前实现和 AGENTS.md。
- 确认或创建用于评估难度的脚本。
- 每次只进行一项改进。
- 每次改进后都执行评估脚本。
- 将分数、修改内容、下一个假设记录到 .logs/ 中。
- 即使分数提高了,只要还没达到目标,就继续。

输出:
- 当前最佳分数
- 主要改进历史
- 仍然薄弱的部分

关键在于,要把“以什么标准判断变好了”明确交给 Codex。

不仅依赖人的感觉,还要让它持有可以通过脚本测量的指标,这样长周期的改进工作会容易推进很多。

6. 让 Codex 来整理 Bug 报告

当游戏开始运行之后,Bug 报告也会随之增加。

官方的「Automate bug triage」介绍了让 Codex 查看 Sentry、Slack、Linear、GitHub Issue、PR 检查、日志等信息来源,并按优先级进行整理的流程。

如果是游戏开发,例如可以汇总查看以下信息源:

  • GitHub Issues

  • 失败的 CI

  • Sentry 等错误监控

  • 玩家报告

  • Discord 或 Slack 线程

  • 支持工单

  • 部署日志

提示词示例

请为这个游戏做 Bug 分诊(bug triage)。

对象:
- GitHub Issues
- 失败的 PR 检查
- 最近的错误日志
- 已共享的玩家报告

输出格式:
- 按 P0 到 P3 的优先级排序
- 合并重复报告
- 为每个 Bug 附上依据链接或简短引用
- 区分推测与已确认事实
- 写出下一步应采取的处理

注意:
- 暂时不要执行创建 Issue、修改标签、发表评论、重新运行等操作
- 先只生成一份供阅读的清单

与其一开始就全自动化,不如先手动让它做一次分诊,再调整输出格式,这样会更安全。

之后再改成每日或每周定期执行,就更容易纳入日常运维流程。

7. 也可以用于合并前评审

最后是 PR 评审。

在 OpenAI 的「Codex code review for GitHub pull requests」中,介绍了将 Codex 用于 GitHub 的 PR 评审,以检测回归、测试不足、文档不足以及存在风险的改动。

在游戏开发中,以下几个视角尤其有效:

  • 游戏循环是否被破坏

  • 输入操作是否出现回归

  • 移动端适配是否被破坏

  • 碰撞判定和分数计算是否发生变化

  • 测试是否充分

  • 是否对性能造成负面影响

  • 是否影响存档数据或排行榜

例如,在 PR 评论中可以这样请求:

@codex 请检查是否存在游戏玩法回归、测试不足、危险的行为变更以及性能问题。

另外,如果在 AGENTS.md 中写明评审方针,也可以让 Codex 的评审视角更贴合项目。

## レビュー方針

- ゲームプレイの退行は高優先度として指摘する
- スコア、当たり判定、セーブデータ、進行ロジックに対するテスト不足を指摘する
- モバイルUIの崩れや退行を指摘する
- 描画処理やアニメーションループのパフォーマンスリスクを指摘する
- プレイヤーデータ、ランキング、マッチメイキングに関わる危険な変更を指摘する

推荐技术栈

官方指南中,将 Next.js 与 Phaser 或 PixiJS 的组合作为浏览器游戏的实用方案进行了介绍。

如果需要后端,则可以考虑 Fastify、WebSocket、Postgres、Redis 这样的组合。

粗略划分的话,可以这样理解:

  • 前端:Next.js

  • 2D 渲染:Phaser / PixiJS

  • API 服务器:Fastify

  • 实时通信:WebSocket

  • 持久化:Postgres

  • 排行榜或 pub/sub:Redis

  • AI 功能:OpenAI API

当然,最初的原型并不需要把所有东西一次性全都上齐。

更现实的做法是,先做成一个能在浏览器中运行的最小配置,等需要时再补上后端和持久化。

适合交给 Codex 的工作

在游戏开发中,比较适合交给 Codex 的工作包括:

  • 起草游戏规格

  • 创建 PLAN.md

  • 实现第一个可玩版本

  • 微调 UI

  • 改进操作手感

  • 整理图像生成提示词

  • 编写测试和评估脚本

  • 反复调整难度

  • 整理 Bug 报告

  • PR 评审

  • 编写上线前检查清单

另一方面,也有一些事情更适合由人来判断。

  • 游戏是否有趣

  • 世界观

  • 体验方向

  • 哪些问题优先处理

  • 要打磨到什么程度

  • 付费或排行榜等规格判断

把 Codex 作为提升实现与验证速度的工具来使用,是更现实的方式。

决定“想创造怎样的体验”,仍然是人类的工作。

总结

将 Codex 用于游戏开发时,以下流程会比较好操作。

  1. PLAN.md 具体化游戏规格

  2. 先做出可玩的游戏循环

  3. 一边在浏览器中确认,一边小步调整 UI 和操作手感

  4. 对复杂逻辑用评估脚本形成改进循环

  5. 让 Codex 整理 Bug 报告

  6. 在 PR 评审中发现回归和测试不足

游戏开发,本质上就是不断累积细小的迭代。

如果把 Codex 当作加速这些迭代的搭档来用,它会非常强大。