我正在开发的文字游戏《Character Limit》,过去两个月里一直在接受测试。不过,当TestFlight正式启动后,一个意外的游戏展会机会却进行得特别顺利。
今年二月初,《Character Limit》已经到了一个比较合适的阶段,可以找真实玩家来试玩了。前期的很多工作都已完成,现在该进入修复bug、打磨细节,以及收集真实反馈的环节。
之前我主要是在卡迪夫和其他游戏开发者见面,简单试玩一下。但从这么友好的小圈子里得到的反馈,终究还是有限的。
真正需要的是让普通玩家来实际测试。幸好,苹果早就准备好了这个工具。
TestFlight的蜜蜂试飞
TestFlight是苹果在App Store Connect里提供的测试框架,开发者可以把应用发给别人试用,并收集他们的反馈。
其中一部分作用是确保应用能在各种不同的苹果设备上正常运行。虽然我自己手头有两个iPhone和两个iPad,但还是应该尽量在更多硬件和系统版本组合上测试。
TestFlight的第二个好处,就是能听到大家对你作品的真实看法。
这其实挺吓人的,因为我们都知道,匿名反馈的时候人们是不会客气的。他们可能会挑最小的毛病,评论也可能非常直接甚至残酷。

提交给苹果之前,先把游戏编译好
不过说实话,这正是项目真正需要的反馈。朋友和家人往往会把批评说得委婉一些,不想让你太难受,结果反而让你不知道哪里真正需要改进。
所以,狠一点的反馈是必要的。虽然听起来像是在故意挑刺,但这种反馈往往比面对面时听到的要真实得多。
为了启动TestFlight,我先修复了一些一开始就会导致崩溃的严重bug。等状态稳定些后,我用Unity打包了iOS版本,然后钻进App Store Connect里。
我以前从没提交过东西到App Store Connect,在Xcode里编译完后,靠着ChatGPT的指导,一步步创建归档并上传。折腾了好几次,终于在TestFlight里看到了我的iOS构建。
为了确认一切正常,我先创建了一个内部测试组,也就是团队内部的人可以安装。这次团队只有一个人——我自己。
App Store很快就验证通过,把它标记为“Ready to Test”。我在自己所有设备上都装了,运行起来还挺顺的。

把游戏准备好这个过程,并没有那么顺利。
接着我又设置了一个外部测试组,任何安装了TestFlight的人都可以加入。虽然有个公开链接能支持上万测试者,但我还是选择了单独邀请的方式。
而且,给公众提供测试前,还要经过更严格的审核。这个过程让我等了好几天,感觉像过了好几个月那么煎熬。
最后我把链接人数限制在比较合理的20人,然后发到几个Discord群里,那里应该有人愿意试玩,而且有机会测试威尔士语版本。
结果证明,这个测试计划既不够周全,人数也幸好很少。
到现在为止,只有五个人通过TestFlight安装了游戏,其中一个还是我自己。这其实是件好事,算是不幸中的万幸。

终于上TestFlight了,但审核花了很长时间。
在公测前没发现的问题是:切换UI语言时会出现一次严重崩溃。虽然只发生过一次,之后再玩都没重现,但它毕竟是个崩溃。
不过也收到了一些有建设性的反馈。比如有人说在某些iPhone屏幕上字体有点太小,还希望能加个新手教程。
这些我都能接受,一个可以马上修,另一个本来就在待办清单里。
至少现在我有了面向公众的测试渠道,等再修好一些bug,未来就能继续用了。
公开测试和意外惊喜
虽然TestFlight很适合常规测试,但有时候机会会突然冒出来。
二月份的时候,Emma看到DreamHack Birmingham的Indie Playground板块在招募开发者。这个以电竞赛事为主的活动在三月底举办,他们准备了大概16个展位。我们想争取一个,好让更多人看到游戏。
就在活动开始前一个多星期,我们接到通知,有个位置空出来了,我们排在候补名单的下一个。Emma立刻答应了,于是接下来一周我们赶紧准备展台用品:有错字的背景海报、印满二维码的名片,还有各种装饰。
我们还得凑硬件在现场展示游戏。因为不想自己的Mac被参会者顺走,我们用了最老的台式机和一台电池完全坏掉的Windows笔记本。

游戏需要调整成适合DreamHack的精简演示版
硬件凑齐后,我得把演示版弄好。我做了一个特别版本,把游戏节奏调快很多,一局大概只要5到6分钟。
可惜因为宠物安排、其他事情和路费问题,最后决定我留在家里,Emma一个人去展会周末。临走前我反复给她讲游戏怎么玩、在不同情况下演示版该怎么操作,然后就送她出发了。
上次我们去伯明翰NEC的时候搞得像Fyre Festival一样惨,这次完全相反。Emma说展台一直都有人来,而且大家都在认真玩游戏。

DreamHack Birmingham的展台,以及游戏莫名其妙拿到的奖杯。
幸好我没去,因为活动第一天才过去两个小时,我就接到消息说游戏有两个问题:演示版“太快了”,还有个需要修的bug。
为了让演示版速度合适,同时尽量保持五分钟左右的时长,我调整了初始速度和加速曲线。游戏开头慢一点,但最后还是能在差不多时间内结束。
通过Google Drive小心传过去后,新演示版装好了。结果我改的速度让体验好多了。
接下来的三天,我不断收到消息,有参会者的一些小意见,也有不少夸奖,还有其他记录。Emma偶尔也会发来“游戏出问题了”的消息,尤其是遇到她答不上来的问题时。
让人震惊的是,游戏表现得特别好,远超我们自己的预期。原来Indie Playground有“人民选择奖”投票,我们居然拿到了整体第三名。
这可不是随便投着玩的,还有奖杯呢。
没错,游戏居然在还没正式发布前就拿了个奖。
这给了我们一大堆肯定:游戏是能被接受的。所有这些时间和精力没有白费,大家是真的喜欢它,还在一大群人里投票给了它。
拿着实体奖杯被认可的感觉很奇妙。但我还是得继续加油,把游戏做完并正式发布。
当然了,说起来总是比做起来容易。