
1. 一个非游戏开发者的真实起点我做了八年后端开发主要写Java和Python游戏开发的经验基本为零。Unity没碰过Cocos只会新建项目微信小游戏对我来说一直是个“看起来不难但不知道从哪下手”的东西。直到去年年底我想做一个轻量的答题类小游戏放到微信上才真正开始动手。这篇文章就是整个过程的完整记录从用AI聊出MVP、到备案花了27天、再到踩过的各种坑全部如实写出来。先说结论非游戏开发者用AI做微信小游戏技术上完全可行但真正的门槛不在写代码而在备案流程、平台规则和发布环节。代码部分AI能帮你搞定七八成剩下的是你要理解微信小游戏的运行机制和审核逻辑。这篇文章适合那些有基础编程能力、想尝试小游戏但不知道从哪开始的人也适合已经在做但卡在某个环节的开发者参考。整个项目从想法到上线前后大概花了六周时间。其中写代码和调试用了不到两周备案和审核占了将近四周。这个时间分配本身就说明了很多问题后面我会详细展开。2. 用AI聊出MVP从模糊想法到可运行原型2.1 为什么选择“聊天式开发”而不是直接写代码我最开始的想法很简单做一个答题小游戏用户可以选择不同题库限时作答最后看排名。但我不知道怎么在微信小游戏里实现页面切换、怎么做计时器、怎么存储用户数据。如果按照传统方式我得先花几天看文档、学框架然后才能开始写第一行代码。我换了个思路把AI当成一个懂微信小游戏开发的技术合伙人用对话的方式让它帮我做技术选型和架构设计。具体做法是我先用自然语言描述需求让AI给出技术方案然后逐步细化到具体代码。这个过程不是一次性的而是反复迭代的。我用的AI工具主要是两个一个通用大模型用来做方案讨论和代码生成另一个专门用来查微信小游戏的API文档。两者配合使用效果比单独用一个好很多。通用模型负责逻辑和架构专用工具负责确认API的调用方式和参数格式。2.2 第一轮对话让AI帮我做技术选型我的第一轮提问大概是这样的“我想做一个微信小游戏答题类的用户选择题库后限时答题最后显示得分和排名。我没有游戏开发经验有后端开发基础。请给出技术方案包括用什么引擎、怎么组织代码、数据怎么存储。”AI给出的方案是使用微信小游戏原生框架不引入Unity或Cocos等重型引擎因为答题类游戏不需要复杂的渲染和物理引擎。代码结构分为三层页面层负责UI渲染和用户交互逻辑层负责题目管理和计分数据层负责本地存储和云端同步。本地存储用wx.setStorageSync云端用微信云开发。这个方案的好处是轻量、启动快、不需要额外学习游戏引擎。坏处是如果以后想加复杂的动画效果可能需要重构。但对我这个MVP来说轻量是首要考虑。提示让AI做技术选型时一定要把你的背景和约束条件说清楚。比如“我没有游戏开发经验”这个信息直接影响了AI是否推荐Unity。如果你不说AI可能会默认你有游戏开发基础给出一个你根本跑不起来的方案。2.3 第二轮到第五轮逐步细化到可运行代码技术方案确定后我开始让AI帮我写具体代码。这个过程是分模块进行的每次只处理一个功能点。比如第一轮写游戏主页面第二轮写答题逻辑第三轮写计时器第四轮写得分计算和排名展示。每一轮我的提问方式都是“我要实现XXX功能当前代码是这样的粘贴代码请帮我补充XXX部分的实现。”AI会给出代码和解释我复制到微信开发者工具里运行遇到报错再贴回去让AI分析。这里有个关键技巧不要一次性让AI写完整项目而是按功能模块逐个突破。一次性生成的代码往往有很多隐藏问题而且你很难定位错误。分模块的好处是每个部分都能单独测试出了问题也容易排查。我大概用了五轮对话就完成了核心功能的代码。具体包括游戏主页面布局、题库数据结构、答题交互逻辑、倒计时功能、得分计算、本地排行榜存储。代码总量不大核心逻辑大概三百多行JavaScript。2.4 MVP的功能边界怎么定做MVP最容易犯的错误是功能贪多。我一开始想加好友对战、想加每日挑战、想加成就系统后来全部砍掉了。MVP只保留最核心的闭环选题库、答题、看得分、存本地排名。其他功能全部放到后续迭代。这个决策的依据是MVP的目的是验证核心玩法是否成立而不是做一个完整产品。如果核心玩法不成立加再多功能也没用。而且功能越多备案和审核时被卡的概率越大。我最终上线的MVP只有三个页面首页选择题库、答题页显示题目和选项、结果页显示得分和排名。没有登录、没有支付、没有社交分享。这些“没有”反而让审核过程顺利了很多。3. 微信开发者工具实操从零到本地跑通3.1 环境搭建与项目初始化微信开发者工具是官方提供的IDE下载安装没什么难度但有几个细节需要注意。首先必须用邮箱注册微信开放平台账号并且完成开发者资质认证。个人开发者可以注册但部分类目的小游戏需要企业资质。答题类小游戏个人开发者可以发布但如果有社交或支付功能就需要企业资质。安装完成后新建项目时选择“小游戏”类型不是“小程序”。这两个是不同的技术栈小游戏用的是Canvas渲染小程序用的是WebView渲染。选错了后面改起来很麻烦。项目初始化后目录结构大概是这样的game.js是入口文件game.json是配置文件project.config.json是项目配置。AI生成的代码需要按照这个结构组织。我一开始把代码全写在game.js里后来发现太乱了就拆成了几个模块文件用require引入。3.2 核心代码结构与关键实现我的代码结构最终是这样的game.js作为入口负责初始化和页面路由pages目录下放三个页面的逻辑utils目录下放工具函数比如题库加载、得分计算、存储读写。答题逻辑的核心是一个状态机当前题目索引、剩余时间、得分、答题记录。每次用户点击选项状态机更新然后判断是否还有下一题。如果没有跳转到结果页。计时器用的是setInterval每秒更新一次剩余时间。这里有个坑setInterval在页面切换时不会自动清除会导致内存泄漏和计时错乱。我后来改成在页面隐藏时清除计时器显示时重新创建。// 计时器管理示例 let timer null; function startTimer() { if (timer) clearInterval(timer); timer setInterval(() { this.remainingTime--; if (this.remainingTime 0) { clearInterval(timer); this.endGame(); } }, 1000); } function stopTimer() { if (timer) { clearInterval(timer); timer null; } }这段代码看起来简单但实际调试时我遇到了计时器在后台继续运行的问题。微信小游戏在切到后台时setInterval会被暂停但切回来后会继续执行导致时间计算错误。解决方案是用Date.now()记录开始时间每次更新时计算实际经过的时间而不是依赖setInterval的累加。3.3 本地调试与真机预览微信开发者工具支持模拟器预览和真机预览。模拟器适合快速调试逻辑但有些问题只有在真机上才能发现比如触摸事件、屏幕适配、性能表现。真机预览需要用手机微信扫描开发者工具生成的二维码。这里有个细节预览二维码有时效性过期后需要重新生成。而且预览版本和体验版本不同预览版本只有开发者自己能扫体验版本可以分享给其他人。我在真机调试时发现了一个模拟器上没出现的问题在部分安卓机型上Canvas的触摸事件坐标有偏移。原因是不同机型的屏幕密度不同需要做坐标转换。解决方案是用wx.getSystemInfoSync()获取屏幕信息然后按比例换算。注意真机调试是必须的环节不要只依赖模拟器。模拟器上的表现和真机差异可能很大尤其是涉及触摸、音频、性能的场景。3.4 把体验版发给别人试用的正确姿势微信开发者工具里有个“上传”功能上传后可以在微信公众平台的后台看到版本管理。在这里可以把某个版本设为体验版然后生成体验二维码。体验版最多可以添加一定数量的体验成员具体数量根据账号类型不同。我当时的做法是上传代码后在后台设为体验版然后把体验二维码发给几个朋友让他们试玩并反馈。收集反馈大概用了三天主要问题集中在题目难度和计时器体验上。根据反馈调整后才提交审核。这里有个容易忽略的点体验版的数据和正式版是隔离的体验版的本地存储不会带到正式版。所以如果MVP依赖本地存储体验版和正式版的数据是分开的。这个不影响功能测试但要注意别把体验版的数据当成正式数据。4. 备案27天最耗时的环节没有之一4.1 备案流程全解析微信小游戏的备案和网站备案类似但流程更长。整体步骤是在微信公众平台提交备案申请填写主体信息和游戏信息然后等待审核。审核分为两个阶段平台初审和管局审核。平台初审一般1到3个工作日主要检查材料是否齐全、信息是否一致。管局审核是主要耗时环节官方说法是20个工作日内实际我用了27天。这个时间不可控只能等。需要准备的材料包括主体证件个人是身份证企业是营业执照、负责人信息、游戏内容说明、技术方案说明。个人开发者还需要提供个人承诺书。所有材料都需要扫描件或照片清晰度要够。4.2 备案被卡住的三个常见原因我的备案被退回过一次原因是游戏内容说明写得太简单。管局要求详细描述游戏玩法、内容来源、是否有用户生成内容、是否有社交功能。我第一版只写了“答题类小游戏”被退回后补充了题库来源、答题机制、无社交功能的说明才通过。第二个常见原因是主体信息不一致。比如身份证上的名字和微信公众平台注册的名字不一致或者证件照片模糊。这个只能仔细核对没有捷径。第三个原因是游戏名称或内容涉及敏感词。答题类游戏如果题库涉及某些领域可能会被要求提供额外说明。我的题库是通用知识没有这个问题但如果你做的是特定领域的答题需要提前确认。4.3 备案期间可以做什么备案审核期间代码不能提交审核但可以继续开发和调试。我利用这段时间做了几件事优化UI、增加题库、写用户反馈收集逻辑、准备审核材料。另外备案期间可以先把体验版发给更多人试用收集更多反馈。体验版不需要备案但也不能正式发布。这个阶段适合做产品打磨等备案通过后直接提交审核。提示备案时间不可控建议在项目启动初期就同步准备备案材料不要等代码写完再开始。备案和开发可以并行能节省不少时间。4.4 备案通过后的审核环节备案通过后还需要提交微信平台审核。这个审核主要检查游戏内容是否符合平台规范比如是否有违规内容、是否有诱导分享、是否有未声明的功能。审核一般1到7个工作日。我的审核一次通过因为MVP功能简单没有社交和支付内容也是通用知识。如果你要做带社交或支付的小游戏审核会更严格可能需要提供额外资质。5. 踩坑实录与排查技巧5.1 代码层面的五个坑第一个坑是Canvas渲染的坐标系统。微信小游戏的Canvas坐标原点在左上角但不同机型的屏幕比例不同需要做适配。我一开始用固定像素值在部分机型上显示不全。后来改用相对坐标按屏幕宽高比例计算。第二个坑是本地存储的容量限制。wx.setStorageSync单个key最大1MB总容量10MB。我的题库数据一开始全存在一个key里超过了限制。后来拆分成多个key每个题库单独存储。第三个坑是音频资源的加载。微信小游戏支持音频但加载是异步的如果没加载完就播放会报错。解决方案是预加载音频加载完成后再开始游戏。第四个坑是页面切换时的状态管理。微信小游戏的页面切换不像Web那样有完整的生命周期需要在切换时手动保存和恢复状态。我后来用了一个全局状态对象来管理。第五个坑是代码包大小限制。微信小游戏主包最大4MB总包最大20MB。我的代码和资源加起来不到1MB没遇到这个问题但如果做复杂游戏需要分包加载。5.2 备案和审核的四个坑第一个坑是材料格式。管局对照片的格式、大小、清晰度有要求不符合会被退回。建议用扫描件而不是手机拍照清晰度更高。第二个坑是信息一致性。所有材料上的信息必须一致包括名字、证件号、联系方式。不一致会被退回。第三个坑是游戏内容说明。要详细、具体不能笼统。最好附上游戏截图和玩法说明。第四个坑是审核期间的修改。提交审核后不要修改代码否则需要重新提交。我有个朋友在审核期间改了代码结果审核通过后版本不对又重新走了一遍流程。5.3 常见问题速查表问题可能原因解决方案真机上触摸无响应坐标偏移或事件绑定错误用相对坐标检查事件绑定计时器在后台错乱setInterval被暂停后继续用Date.now()计算实际时间本地存储写入失败超过容量限制拆分key清理旧数据备案被退回材料不全或信息不一致仔细核对补充说明审核被拒内容违规或功能未声明检查内容补充功能说明体验版无法分享未添加体验成员在后台添加成员后重新生成二维码5.4 独家避坑心得心得一备案材料提前准备。不要等代码写完再准备备案可以在项目启动时就同步准备。备案时间不可控提前准备能节省至少一周。心得二MVP功能越少越好。每增加一个功能备案和审核的复杂度就增加一分。社交、支付、用户生成内容这些功能能不加就不加。心得三真机测试覆盖主流机型。至少测试安卓和iOS各两台不同品牌的手机屏幕比例和性能差异会暴露很多问题。心得四保留所有审核记录。备案和审核的每一次提交、退回、通过都要截图保存万一后续有问题可以追溯。心得五不要依赖单一AI工具。不同AI工具擅长的领域不同通用模型适合方案讨论专用工具适合查API文档。多工具配合使用效率更高。6. 上线后的数据与后续迭代方向6.1 上线初期的真实数据上线第一周日活大概几十人主要来自朋友圈分享。留存率不高次日留存大概20%左右。这个数据不算好但对于一个没有推广的MVP来说能跑通完整流程已经是达到了预期目标。用户反馈主要集中在两个方面题目难度不均匀有些太简单有些太难计时器在最后几秒没有提示容易错过。这两个问题在后续版本中做了优化。6.2 后续可以扩展的方向如果继续迭代我会优先做三件事一是增加题库分类和难度分级让用户可以选择适合自己的难度二是增加答题结果的分享功能但要注意微信对分享的规范三是增加简单的用户系统用微信登录记录历史成绩。但这些都是后话。MVP的核心价值是验证了“非游戏开发者用AI做微信小游戏”这条路是走得通的。代码不是门槛备案和审核才是。理解了这一点后面的迭代就有方向了。6.3 给后来者的实用建议如果你也想走这条路我的建议是先用AI做一个最小可运行的版本跑通本地调试和真机预览然后立刻开始准备备案材料不要等备案期间继续打磨产品和收集反馈备案通过后提交审核审核期间不要改代码上线后先看数据再决定迭代方向。整个过程最需要的是耐心尤其是备案阶段。技术问题AI基本都能帮你解决但流程问题只能自己走。踩过的坑我都写在上面了希望能帮你少走弯路。