前阵子看到个段子说,现在做独立开发,拼的不是你会多少技术栈,而是你会不会给AI“派活”。这话放在我身上真是一点不假。三月初我给自己下了个死任务:一个人,同时扛策划、程序、美术、测试四个岗位,用20天时间,把一款微信小游戏从零做到能上线提审。当时身边朋友都觉得我疯了,毕竟正常小团队排期也得两个月。但最后我不仅做完了,还一次过审。秘密武器就是标题里那俩词:Cursor和Codex。
这篇文章不聊虚的,就把我这次“一人四岗”的完整过程拆开揉碎讲清楚:从工具选型、环境配置、Unity转微信小游戏的打包适配,到用AI批量写C#脚本、处理好友排行榜、控制代码包体积,再到这几周踩过的坑和排查记录。整个过程里,Cursor负责我坐在编辑器前的每一行代码补全和重构,Codex负责我离开电脑后还能继续跑的自动化任务和批量脚本,两个人的活,硬是用这套组合扛下来了。无论你是想入门微信小游戏开发的新手,还是好奇AI辅助编程到底能省多少事的从业者,这篇应该都能给你一些直接能抄的作业。
1. 一个人为什么敢押注 Cursor + Codex
1.1 四个岗位的活到底怎么拆
先说说所谓的“四个岗位”在我这个项目里具体指什么。策划要出玩法文档、数值表、关卡配置;程序要写核心逻辑、UI交互、对接微信SDK;美术要出图标、背景、角色动画;测试要过功能、查兼容、盯性能。正常团队里这四个人还得开会对齐,一个人干就意味着所有决策都在脑子里完成,但活儿一点不会少。
我的做法是:把每个岗位抽象成一套“可被AI协作的任务流”。策划的活,我用Markdown写玩法需求,再让Codex根据需求生成数值配置表和关卡数据JSON;程序的活,主要代码在Cursor里写,AI负责补全、重构、写单元测试;美术的活,素材先用程序化生成占位,再通过AI绘图工具出正式图,最后用Unity图集工具合并;测试的活,让Codex写自动化冒烟测试脚本,每天睡前自动跑一遍。
这样拆完,核心还是我自己,但AI把每个环节的“重复劳动”吃掉了至少70%。一个人四岗位,本质不是真的长出三头六臂,而是把每个岗位里最耗时的执行层外包给工具。
1.2 为什么偏偏是这两个工具
市面上AI编程工具不少,GitHub Copilot、通义灵码、Codeium我都试过。最后留下Cursor和Codex,是因为它们的定位刚好互补。
Cursor强在“嵌入开发过程”。它是基于VS Code改的编辑器,我写代码时它能理解整个项目的上下文,不只是补全当前行,而是能跨文件帮忙改逻辑。比如我重构玩家控制脚本时,它会自动提示相关动画状态机也需要同步调整,这种上下文关联能力,Copilot也有,但Cursor对项目全局的理解明显更深。
Codex强在“命令行自动化”。Codex本质上是一个跑在终端里的编程智能体,你给它一个任务,它能自己规划步骤、写代码、执行命令、看结果,然后继续迭代。我主要用它跑批量重复任务:比如生成几十个关卡配置文件、批量压缩贴图、给所有UI预制体补齐组件引用。这些活儿如果让Cursor在编辑器里一个个处理,我得盯很久,但Codex可以在后台自己跑,我转头去修玩法逻辑。
还有一个现实原因:Codex对国产模型的兼容很好。我通过配置把Codex接到了DeepSeek的接口上,主要是考虑到成本和国内访问的稳定性,实测跑批量脚本完全够用,API费用也压得很低。这个后面环境准备章节细说。
1.3 这套组合到底能省多少时间
直接说结果。我统计过:整个项目代码量大约12000行C#,其中纯手写的核心玩法逻辑大概3500行,AI补全和生成的在8500行左右。最关键的是,以前写一个跨页面UI交互,从调组件到绑事件得半天,现在Cursor几乎能一次性生成80%的代码,我只需要改业务条件判断。Codex自动化的脚本累计帮我省了至少3个整天,这些时间全被我挪去调手感、改细节了。
省下来的时间不是拿来玩的,是用来做“人该做的事”——判断玩法好不好玩、节奏合不合理、美术风格统不统一。AI能生成代码,但它不负责你的产品体验。
2. 环境准备:Cursor 和 Codex 的安装与语言配置
2.1 Cursor 下载安装与中文设置
Cursor 的安装本身没什么门槛,直接去官网下载对应系统的安装包,Windows和macOS都有,选对版本一路下一步就行。我第一次安装时犯了个低级错误,下了Windows版却想装在mac上,白折腾半小时,所以下载前一定看清系统版本,别嫌我啰嗦。
装完第一件事,绝大多数国内用户肯定会问:Cursor怎么设置中文?
我用了两种方式,都实测有效:
- 方式一:按
Ctrl+Shift+X(macOS 是Cmd+Shift+X)打开扩展面板,搜索“Chinese”,安装“Chinese (Simplified) Language Pack for Visual Studio Code”。因为 Cursor 的底层就是 VS Code 的架构,所有 VS Code 的语言包扩展它都能直接用。装完右下角会弹提示,点“Change Language and Restart”即可。 - 方式二:按
Ctrl+Shift+P打开命令面板,输入Configure Display Language,回车后选zh-cn,再重启。这种方式适合语言包已经装好、但界面没切过去的情况。
需要提醒的是,不建议去下载来路不明的“汉化版”或“破解版”。圈子里流传的什么“Cursor无限续杯”、“永久免费版”,很多都改了编辑器里的验证逻辑,一旦官方更新就会出幺蛾子,更严重的是这类修改版可能偷偷上传你的项目代码,风险非常大。Cursor 官方免费额度用完,要么等额度重置,要么订阅,别为省几十块钱搭进去项目源码。
2.2 Codex 安装与登录
Codex 的安装路径有两条:一个是 OpenAPI 官方的桌面版应用,适合喜欢图形界面的人;另一个是命令行版本codex,适合像我这种要跑自动化脚本的。我两个都装了,日常主力是命令行版。
命令行版安装方式,在终端里执行:
npm install -g @openai/codex装完之后,先运行codex login完成登录授权。这里要注意,Codex 的账号体系和网页端登录是绑定的,如果你所在网络的访问不太稳定,登录过程可能卡在浏览器回调页,这时候不要反复刷新,检查一下系统网络环境是否干净,确认没有安全软件拦截本地服务的请求。我一开始就是被本地安全工具拦截了回调端口,折腾了好久。
真正让我选定 Codex 的原因之一,是它可以接入第三方模型。操作方式是:在项目根目录建一个codex_config.toml配置文件,把模型接口指向你想要的服务商。这一步不同版本的 Codex 配置键名略有差异,但核心都是设置base_url和api_key,并且只要对方服务是 OpenAI 兼容协议就行。我实测把 Codex 接到 DeepSeek 的接口后,跑脚本生成、代码重构这类任务响应速度依然很快,费用还比官方模型低不少。配置好后用codex exec "请检查当前目录下的代码并输出潜在bug"就能在命令行里跑起来了。
2.3 排查:网络连接报错与本地环境问题
研究过 Codex 的人应该都见过一长串报错,里面有个关键词是cc switch local proxy failed while handling codex endpoint。字面意思是“处理 Codex 请求时,本地网络切换组件出错了”。遇到这个报错,九成问题出在本地网络环境:要么是系统开了某些安全软件的网络过滤功能,把 Codex 发往API的请求拦了;要么是电脑里装了某种“网络优化”工具,把请求强制走了不稳定的通道;要么是本地留有别的服务占用了默认端口。
排查步骤我给个清单,我每次遇到必按这个顺序查:
- 打开系统设置,检查网络配置是否处于系统默认状态,有没有被第三方软件改动过;
- 暂时退出所有安全防护、网络优化类工具,再试
codex exec "hello"; - 查看本机是否有多余的本地服务在监听 80、443、8000 这类常用端口,有的话先停掉;
- 如果以上都正常,检查 Codex 的配置文件里有没有写错的服务地址。
注意,第2条一定只是“暂时退出”来区分问题,最终解决还是靠恢复系统默认网络配置,而不是靠某种绕过手段。对普通开发者来说,保持一个干净的系统网络环境,比乱装各种优化工具靠谱得多。
2.4 给新手的工作流分工建议
工具都装好以后,怎么分工才能最大化产出?我最终跑顺的流程是这样的:
- 坐在电脑前:开 Cursor 写代码,遇到跨文件改动、重构、报错排查,全部交给 Cursor 的对话窗口处理;
- 需要批量处理:切到终端,给 Codex 下达明确任务,比如“把 Assets/Sprites 下所有 PNG 转为图集前置的 Sprite,并设置好 Pixels Per Unit”,然后让它自己跑;
- 跑测试:让 Codex 写一套针对核心玩法的 NUnit 测试,每天下班前自动执行
codex exec "运行测试并输出失败项原因"。
坚持两周后你会发现,这套组合最像的不是“找个AI帮忙写代码”,而是“你雇了一个24小时在线的初级程序+自动化测试员”。它不会夺走你对项目的判断,但能把你的执行效率拉满。
3. 微信小游戏开发:Unity打包与核心功能实现
3.1 技术路线:为什么是 Unity + 微信小游戏
选定“微信小游戏”这个载体,主要是看中两点:一是用户点击即玩,不需要下载安装包,非常适合休闲游戏传播;二是微信提供了开放数据域、云开发、支付等一整套能力,后端不用自己搭服务器。
客户端引擎我最终选了Unity 2022 国际版。这里有个点要专门说,很多朋友问“Unity国际版和国内版有什么区别”,其实在微信小游戏打包这件事上,国际版对 WebGL 和小游戏导出支持的兼容性更新更快,插件适配问题少。所以做微信小游戏,优先用国际版,不要图方便用国内特供版。
打包微信小游戏,Unity 官方提供了一个叫“Unity微信小游戏转换插件”的工具,它做的事情简单说就是:把 Unity 的构建产物转换成微信小游戏能识别的代码包结构,并注入微信的运行时适配层,让 Unity 里的 Input、Touch、Audio 等接口在浏览器环境下正常工作。
基本步骤是:
- Unity 里安装“微信小游戏转换插件”(Minigame Adapter);
- 在 Build Settings 里选择 WebGL 平台,Player Settings 里把目标 API Level 设成小游戏插件推荐的版本;
- 构建一次 WebGL 项目;
- 用插件把构建好的 WebGL 目录一键转换为小游戏项目;
- 用微信开发者工具打开转换出来的项目,真机预览测试。
3.2 好友排行榜:最容易被坑的功能
几乎每个微信小游戏都离不开好友排行榜,这既是社交传播的利器,也是新手最容易卡壳的地方。标题里提到的“Unity2022国际版开发微信小游戏如何获取好友排行榜”,搜索量一直不低,说明问的人很多,我详细拆一下。
微信小游戏的排行榜是“开放数据域”下的功能,它和主游戏域是隔离的。简单理解,主域就是你正常写游戏逻辑的地方,开放数据域是用来展示好友数据的独立环境,二者不能直接互相访问变量,只能通过微信提供的接口通信。
具体怎么获取好友排行分数,步骤整理如下:
- 在
game.json里申明开放数据域:
{ "openDataContext": "src/myOpenDataContext" }- 开放数据域内,调用
wx.getFriendCloudStorage拉取好友的托管数据:
wx.getFriendCloudStorage({ keyList: ['score'], success: res => { const data = res.data.map(item => ({ nickname: item.nickname, score: item.KVDataList[0] ? item.KVDataList[0].value : 0 })); // 渲染到 sharedCanvas } })- 主域通过
wx.getOpenDataContext().postMessage向开放数据域发指令,并拿到返回的sharedCanvas作为纹理渲染到 Unity UI 上。
坑在哪?很多Unity开发者第一次接的时候,习惯性地在C#里直接写wx.getFriendCloudStorage,结果发现编译都过不了。原因就是开放数据域用的是 TypeScript/JavaScript,不是 C#,你必须把排行榜相关代码写在开放数据域里,Unity只负责显示sharedCanvas的纹理。搞清楚这个边界,排行榜就算通了一半。
3.3 用 Cursor 和 Codex 写 C# 脚本的真实体会
游戏主体是 C#,这部分我大部分时间都泡在 Cursor 里。讲一个最典型的例子:写玩家控制脚本时,我先写了伪代码注释作为需求描述,然后选中一段,让 Cursor 基于整个项目的输入系统生成完整实现:
// 玩家点击或按住屏幕,控制角色左右移动 // 边界限制在屏幕宽度内 // 角色倾斜角度随移动速度变化Cursor 能识别我项目里已经有的PlayerInput.cs和GameManager.cs,生成的方法名和事件调用能直接接上,不是孤零零给你一段代码让你自己拼。这个体验是普通AI补全工具给不了的。
Codex 在游戏开发里更偏“家务活”。举个例子,我游戏里有20多种道具,每个道具都是一个 ScriptableObject。手写这20个资源文件配置,至少小半天,但用Codex我可以直接下命令:
codex exec "在 Assets/Data/Items 下生成20个道具资源文件,命名 Item_00 到 Item_19,每种类型包含 id、名称、描述、影响数值四个字段,数值范围按我给出的设计表生成"它真的会自己对着 Unity 的资源序列化格式把 YAML 文件批量写出来,而且格式正确,放进项目就能引用。这种活以前量化一下就是“一个中级程序一天的工作量”,现在10分钟搞定。
3.4 包体优化:4MB生死线
微信小游戏代码包主包限制是4MB(小游戏有分包机制,但主包4MB是硬指标),这对Unity项目来说是生死线。任何一张没压缩的纹理都可能让包体直接爆掉。
我从最开始就做了三件事:
- 纹理全压缩:所有UI和场景贴图都改成ETC/ASTC等压缩格式,尽量减少原始JPG/PNG的使用。Codex帮我扫了Assets目录下所有贴图资源,自动标记出没有设置压缩格式的文件,我再逐个处理。
- AssetBundle按需加载:不是所有资源都打进了首包。游戏里只有第一关地图、角色基础素材是直接随包体加载的,后面的几个关卡全部打进AssetBundle,放进微信云托管,玩到对应关卡再远程拉取。这一招直接把包体从6.8MB降到了3.6MB。
- 剥离无用模块:Unity默认打出来的包会带很多我用不到的内置模块,比如物理引擎自带的车辆组件、AI寻路组件。我通过Build Report工具逐项排查,能去掉的模块全去掉。
最后包体稳定在3.1MB左右,总算舒了口气。记住,从项目第一天就要把包体当预算来管理,而不是最后一天再来“优化”。
3.5 云开发与后端能力
排行榜的分数存储、每日挑战任务、广告配置,这些如果自己搭服务器,一个人做20天根本不可能。我用了微信云开发,它直接提供了云数据库、云函数、云存储。数据表结构按微信推荐的NoSQL建,最简单的用户分数表就四个字段:openid、nickname、score、updateTime。
云函数部分,我写了两个最核心的接口:一个是上报分数,一个是拉取排行榜。Codex帮我生成了这些云函数的初版代码,虽然要改一些鉴权细节,但省了很多事。微信云开发的免费额度对小游戏冷启动阶段完全够用,等用户量上来再升级不迟。
4. 20天排期:一人四岗的项目管理实战
4.1 时间表是怎么拆的
20天看着长,实际按四个阶段排完就很紧张了:
- 第1-3天:策划与原型。完成玩法文档、数值表,Unity里做灰色方块原型,验证核心循环是否好玩。
- 第4-10天:核心开发。所有玩法逻辑、UI界面、动画系统全量开发,每天至少提交一次可运行版本。
- 第11-15天:内容填充与打磨。生成正式美术素材,配置大部分关卡,音效、动效、手感细节逐个调。
- 第16-18天:测试与适配。真机试玩,重点测微信开发者工具里的兼容性,修复各类机型问题。
- 第19-20天:提审与发布。填写审核资料,准备隐私协议、版号相关说明,提交后处理审核反馈。
这个排期最核心的原则是:先跑通核心循环,再填充内容,最后才碰性能和优化。我见过太多独立开发者死在“完美主义”上,第一个月全在调美术,代码没跑起来一次。
4.2 每天的时间节奏
一个人干活,最怕的是精力分配不均。我20天里坚持的节奏是:
- 早上精神最好,用来写核心玩法逻辑,这段代码是整个游戏的灵魂,尽量自己手写,同时让Cursor做实时审查;
- 下午进入“自动执行模式”,给Codex布置批量任务,同时我处理美术素材、写配置、调UI;
- 晚上是统一测试时间,跑自动化脚本,修白天遗留的bug;
- 临睡前全部工作提交Git,让Codex生成当天的提交信息。
这个节奏帮我保住了整个周期的稳定性。真让我从头到尾都“手动四岗”,估计第7天就崩了。
4.3 一个人怎么保持项目方向不跑偏
AI能帮你执行,不能帮你做产品决策。我专门建了一个设计要求.md文档,里面写了这次游戏的美术风格、交互基调、用户定位。每次用AI生成素材或改UI前,先把对应的设计要求丢给它,让它基于约束去生成,而不是自由发挥。给AI设定边界这件事,越早做,后期返工越少。
5. 常见问题与排查技巧实录
5.1 Cursor 常见问题速查
问题一:Cursor提示词泄露是怎么回事?
这是个最近讨论很多的话题。Cursor在使用时,会把你的代码上下文和你输入的需求发送给模型处理,如果你项目里包含敏感信息,比如数据库密码、内部API密钥,那这些信息就可能会被模型提供商留存。我建议养成好习惯:密码、密钥一律不要写进被AI索引的项目文件里,放到环境变量里引用。Cursor里我禁用了代码库索引的敏感目录,只让AI看Assets/Scripts这类真正需要的目录。
问题二:Cursor免费次数用完了怎么办?
官方免费额度用完后,要么等额度周期刷新,要么升级订阅。我不建议用网上传的“无限续杯”方式,原因前面说了,安全和稳定性都没法保证。如果你预算有限,可以像Codex接入第三方模型一样,在Cursor的设置里把模型API地址指向更便宜的服务商,照样能用。
问题三:Cursor运行卡顿。
项目文件一多,Cursor明显会变慢。我的办法是:保持项目目录精简,不相关的文件别放进来;关闭不需要的插件;用Worktree隔离大型实验分支,核心代码只留在主工作区。
5.2 Codex 常见问题速查
问题一:Codex安装后提示“命令不存在”。
大概率是Node环境变量问题。按where codex看有没有输出,没有就手动把Node全局 bin 目录加进PATH。Windows用户尤其常见。
问题二:Codex登录失败。
参考前面2.3节,优先排查网络环境是否干净,恢复系统默认网络配置后重试。还有一点,登录回调依赖本地端口,如果你在跑别的服务占用端口,也会失败。
问题三:接入第三方模型后报401鉴权错误。
检查配置里的API Key有没有多余空格,再确认模型服务商是否真的支持OpenAI兼容的/responses或/chat/completions接口。有的服务商只实现了/chat/completions,而新版本Codex默认走/responses,这种情况需要手动指定接口路径。
5.3 微信小游戏审核要避开的坑
提审阶段最容易被打回的原因无非这几个:
- 缺少隐私保护指引。现在小游戏提交必须有完整的用户隐私说明,尤其是涉及好友数据、手机存储权限的,必须逐项列清楚。
- 涉嫌诱导分享。分享按钮只能放置在用户主动触发的位置,不能自动弹窗诱导。
- 测试账号无法进入游戏。审核人员用他们自己的微信登录,如果你的游戏注册流程依赖特殊设备信息,要保证普通用户也能直接进来。
这几条我都是在被驳回一次、修好再提之后总结出来的。所以你要做微信小游戏,这些合规问题最好在开发中期就考虑进去,别等到提审再返工。
最后再多说一句,这次20天“一人四岗”做下来,我最大的感受是:AI工具再怎么强大,也替代不了你对产品本身的判断。Cursor和Codex帮我省掉的,是那些重复、机械、消耗精力的底层执行时间,让我能把省下来的精力投入到手感调试、关卡设计、美术风格统一上。如果你也打算一个人做小游戏,不妨先花一周时间把AI工作流跑顺,把工具当成团队里那个永远不下班、不发牢骚的初级员工,你会发现,一个人真的可以做完一个团队的事。