社区讨论V2EX 技术
用 Claude 做了个安卓小游戏,从有想法到 Play 内测上线用了一天,记一下过程
先说结论:能做完,而且比我预想的完整。但“一句话生成一个游戏”不是真的,中间有不少地方得人来拿主意。记一下,给想试的朋友参考。 做了个什么 一个离线的安卓卡牌小游戏,题材是“AI 账号被封”:每天一张事件卡二选一,赶在被封之前把项目做完,被封了可以申诉。33 张卡,10 种结局,中英文。Kotlin + Compose 。 我干了什么 出想法:就一句话,“做一个模拟 AI 封号体验的小游戏” 拿主意:游戏里的 AI 产品用虚构的名字、只做中英文、默认语言、目标年龄、要不要开源、什么时候开源 试玩,然后提意见。比如…
内容摘要
先说结论:能做完,而且比我预想的完整。但“一句话生成一个游戏”不是真的,中间有不少地方得人来拿主意。记一下,给想试的朋友参考。
做了个什么
一个离线的安卓卡牌小游戏,题材是“AI 账号被封”:每天一张事件卡二选一,赶在被封之前把项目做完,被封了可以申诉。33 张卡,10 种结局,中英文。Kotlin + Compose 。
我干了什么
出想法:就一句话,“做一个模拟 AI 封号体验的小游戏”
拿主意:游戏里的 AI 产品用虚构的名字、只做中英文、默认语言、目标年龄、要不要开源、什么时候开源
试玩,然后提意见。比如结局图鉴里没解锁的结局一开始显示成“???”,我以为是坏了,后来改成了“未解锁”加一句提示
过人机验证,听音乐(后面说)
Claude 干了什么
写代码。规则部分是纯 Kotlin ,不依赖安卓,所以能直接跑单元测试
写内容。33 张事件卡,中英文各一份,写在同一个 JSON 里
自己测平衡 。这是我觉得最有意思的一点:它写了个测试,让程序随机玩几千局,看每种结局出现的比例。第一版“破产”结局占了 27%,它自己发现不对,加了三张能挣钱的卡,把开局的钱调高。现在乱选的胜率大约 17%,认真选大约 65%
准备上架材料:图标和宣传图是用代码画的,截图是在模拟器里自己点出来截的,商店文案、隐私政策也是它写的
填 Play Console 。这一步是桌面版 Claude 操作浏览器做的,内容分级问卷、数据安全表、测试轨道,一项一项填;要我点头的地方(声明、送审)会停下来问我
从有想法到封闭测试审核通过,是同一天的事。Play 那边审核不到半小时。
它做不了、或者做不好的
听不见声音 。第二版我想加背景音乐,它用一个 Python 脚本把音乐“算”了出来:方波旋律、低音、鼓点,20 秒一个循环,没用任何现成素材。它能保证音量不爆、首尾接得上、乐理上没错,但好不好听,它明说了自己判断不了,得我来听。
人机验证它过不去,得我自己来
它不知道哪些事我在意。有些东西一旦传到商店就永远改不了(比如包名),等我看到的时候已经定了。所以这类改不了的东西,最好一开始就说清楚要求
会踩坑,但踩了会记。比如安卓资源文件里以问号开头的字符串会被当成引用,编译不过;又比如循环音乐解码后超过 1 MB 会被系统悄悄截断,所以音乐做成了 22 kHz 单声道
几点体会
把“可以反悔的事”和“不能反悔的事”分开。前者让它直接做,后者(送审、发帖、包名)让它先问
让它自己能验证。规则写成纯逻辑、能跑测试,它就能自己发现“破产太多了”这种问题;纯界面的东西它也能在模拟器里点,但慢得多
交接靠文件。写代码的会话和操作浏览器的会话不是同一个,中间靠一份“做到哪一步、下一步做什么”的文档接力,这份文档也是它写的
它不是不会错,是错了能查出来。前提是你给它查的办法
这篇帖子的初稿也是它写的。
想试试成品,或者帮忙内测
游戏在 Google Play 封闭测试里。个人开发者的新账号要凑够 12 人连续测 14 天才能发正式版,愿意帮忙的朋友:
加入测试群组(点“加入群组”就行,不用等审批): https://groups.google.com/g/ai-ban-simulator-testers
打开测试链接,点“成为测试人员”: https://play.google.com/apps/testing/com.weijiazhao.bansim
用同一个账号在 Play 里安装,装着别卸载,留 14 天
内测满 100 人就开源。
资讯来源
V2EX