单人游戏,首作,已在iPhone上线。这是一款镜面解谜游戏:转动镜子,让光束穿过每一颗宝石,然后点射一次。摆放镜子时光束不会显示轨迹,因此你需要在脑中推演路径并一次完成。没有撤销,没有计时。

我没想到的是,应用商店页面竟成了问题。

我发布了一个版本,向所有玩家显示“价格是占位的,不会收取任何费用”,而真正的支付系统就藏在同一个按钮后面。这句话是在商店还是假的时写的——在浏览器中查看时它确实为真。然而在唯一能收钱的地方,它却是假的。

接着苹果拒绝了我的应用,因为我的应用声明它可能会请求追踪用户,而实际执行请求的代码永远不会运行。审核员寻找了一个根本不存在的权限提示框。

然后我发现商店描述中承诺“七十个精心设计的关卡”,实际却只有三十八个;还承诺“色盲辅助功能”,而这项设置早在上一版本就被删除了。

四个独立的声明,写得信心满满,却没有一个是真的。没有崩溃,没有报错。应用运行得和构建时一模一样,但描述它的句子全错了。

于是现在,每次发布前都会运行49项自动化检查——其中近一半就是用来捕捉这种特定错误:不是“代码坏了吗”,而是“应用是否仍然做到了我们声称的事”。有一项检查会读取描述,并对照关卡文件核对关卡数量;有一项会在追踪键和广告标记不一致时拒绝构建;还有一项会在浏览器中渲染网站,并用iPhone相机所用的同款探测器解码二维码——因为没人能用肉眼校对二维码,而一个失效的链接只有在对方拿着手机站在那儿时你才会发现。

所有这些检查都是在bug出现之后写的,而不是之前。我故意触发每一个错误,以确保检查能发现它。

关于生成式AI(通常会被问到):代码、谜题设计以及那三十八个关卡是我自己做的。音乐由ElevenLabs生成,部分界面艺术有AI辅助。

https://apps.apple.com/app/id6802484558