下载 App
《忆如泉涌》开发日志 #04:第四个玩法是怎么"玩"出来的
10/202 浏览


前三篇里,涌现分别出现在三个位置:
- #01:难度的随机分布(排列不同,难度自己长);
- #02:规则内部的冲突(字义 vs 字色);
- #03:两个独立维度的绑定(数值 vs 字号)。
这一篇是第四种,也是目前为止最"反直觉"的一种:把观察和作答在时间上切开。
同时,四个玩法都做完了,发布物料也准备好了。这篇一并交代。


一、涌现的第四种形态:让信息先消失
看这张截图。六个数字:1、14、7、17、10、4。
最多只能看 5 秒。
5 秒之后,数字全部消失,只剩下六个空框和它们的序号。你要凭记忆,把刚才那六个数字按原顺序填回去。
这就是新玩法排序记忆。
规则一句话:记住数字和它们的原始顺序,隐藏后逐格复现,整组正确才进下一组。
为什么这次冲突不在屏幕上
前三个玩法的冲突都是即时的——冲突就在你眼前,你当场就要处理:
| 玩法 | 冲突发生的位置 | 时间 |
|---|---|---|
| 色彩辨识 | 屏幕上(字义 vs 字色) | 当下 |
| 意形分离 | 屏幕上(数值 vs 字号) | 当下 |
| 排序记忆 | 玩家脑子里 | 延迟 |
排序记忆的屏幕上没有任何冲突。数字安安静静躺在那儿,你想看多久看多久——最多 5 秒。
冲突发生在数字消失之后:你脑子里存的那个序列,和屏幕上那六个空框,开始对不上了。
信息本身在衰减,这就是难度来源。 不是规则在干扰你,是时间在干扰你。
5 秒 + 60 秒:两个时钟
这个玩法有两个计时,而且它们的关系很关键:
- 每组最多 5 秒记忆——到点自动隐藏,进入复现;
- 整局 60 秒——记忆和复现共用这个总量,换组不重置。
第二条是重点。如果每组单独给 5 秒记忆 + 不限时复现,玩家可以慢慢填,难度就只剩"记不记得住"。
但共用 60 秒意味着:记忆时间是从你的作答时间里抠出来的。 你多看 1 秒,就少 1 秒作答。这逼出一个真实的选择:
多记一会儿求稳,还是赶紧看完留时间填?
而且这个选择是玩家自己做的,不是我们规定的——规则只给了两个时钟,怎么分配是玩家的事。这就是涌现。
一个让玩家自己控制记忆深度的按钮
基于同样的思路,我们加了个按钮:「已记忆」。
如果 5 秒还没到,但你已经记牢了,点一下立刻进入复现,不用干等剩下的时间。
这个按钮看起来是个便利功能,其实是涌现的开关:它把"记忆到什么程度算够"这个判断交还给玩家。新手会等到自动隐藏(稳妥),高手会提前点(抢时间)。
同一条规则,给不同水平的人完全不同的节奏。


二、几个刻意"不帮忙"的设计
做记忆类玩法,最容易犯的错是忍不住帮玩家。我们刻意避开了几个诱惑:
1. 允许重复数字
一组可能是 12、3、0、18、7、12 ——12 出现了两次。
一开始想禁止重复,觉得"这样更清晰"。但仔细想:一旦禁止重复,玩家就能用排除法——“这个位置肯定不是已经用过的数”,记忆负担立刻减半,而且能靠逻辑推出来。
允许重复,就堵死了排除法。 你必须真的记住每个位置的数。
顺带解决了一个隐患:如果禁止重复,数值池只有 20 个数(0~19),那组内数量一旦超过 20 就无解了。允许重复之后,组数可以无限递增,不用为了"池子不够"而封顶。
2. 整组校验,不逐位提示
提交后如果错了,我们不告诉你哪一位错了。
只提示一句「数字或顺序不一致」,然后保留你的输入,让你自己检查。
如果逐位标出正确答案,那这局就废了——你等于重新看了一遍答案,后面的记忆就没意义了。
不帮忙,才是对这个玩法最大的尊重。
3. 答错不换题,也不重新展示
答错了怎么办?留在当前组,保留你的输入,让你继续改。
- 不重新展示原题(那等于白送一次记忆机会);
- 不给第二次 5 秒观察(同上);
- 不换新题(那答错反而成了"跳过"的捷径)。
因为**"记忆已经发生过了"这件事是不可逆的。** 一旦允许重看,整个玩法就塌了。
4. 防止极端排列
有一处细节:如果随机生成的序列恰好是全升序或全降序(比如 1,2,3,4,5,6),代码会把它打散。
不是因为它难或简单,而是因为它太有规律了——玩家记住的不是"这组数字",而是"它是升序",那就不是在考记忆了。
要防的不是难,是"可以绕过记忆的捷径"。


三、发布物料:截图是"玩"出来的
四个玩法做完,该准备发布物料了。
五张实机截图已经备好:
| 顺序 | 内容 |
|---|---|
| 1 | 舒尔特方格:5×5 题面与点击进度 |
| 2 | 色彩辨识:字色字义干扰与五色作答区 |
| 3 | 意形分离:不同字号数字与升序消除 |
| 4 | 排序记忆:记忆阶段与原始序列 |
| 5 | 排序记忆:复现阶段与数字键盘 |
这里有个我想特别说明的点:这五张图不是摆拍,也不是 AI 重绘的。
它们是用一个自动化脚本真的把游戏玩了一遍采集下来的。脚本做的事情很朴素:
- 调用真实的页面入口(和玩家点击走的是同一套代码);
- 在舒尔特方格里找到当前目标数字并真的点击它;
- 在色彩辨识里真的选择答案色块;
- 在排序记忆里真的填入数字;
- 到了预设的时间点截图。
脚本里有一行注释我挺喜欢:“演示结束,不记录或提交成绩” —— 它玩,但不污染排行榜。
为什么坚持这么做?
因为截图骗不了人。用 AI 画一张"看起来很棒的界面图"很容易,但那玩意儿跑不起来。而用真实入口跑出来的截图,它长什么样,游戏就长什么样。
发布文案里我也写清楚了这一点:“由自动化操作驱动真实玩法接口采集,未使用 AI 重绘,未添加外部宣传字、设备框或拼图。”
顺带说个挫折:平台的上传接口返回了 screenshot_index 超出范围或槽位无效: 0,这一轮截图没上传成功。 本地素材是齐的,但上传通道还没打通,得接着查。发布路上这种小坑挺多的。


四、四个玩法的测试现状
跑完四套无头断言:
| 玩法 | 断言总数 | 通过 | 失败 |
|---|---|---|---|
| 舒尔特方格 | 5832 | 5831 | 1 |
| 色彩辨识 | 286 | 286 | 0 |
| 意形分离 | 3509 | 3509 | 0 |
| 排序记忆 | 967 | 967 | 0 |
排序记忆这 967 项里,有两条我觉得特别值得说:
1. 多指按住旧组按钮,跨组松开
场景是这样的:玩家用两根手指,一根按在"上一组的数字键"上没松,同时另一根手指点完成了当前组。
这时候旧按钮的"松开"事件才姗姗来迟——它会不会误触发到新一组上?
断言专门测了这个:答案是不会。因为每个输入都绑定了 groupId,换组之后旧组的事件一律拒绝。
这种 bug 只有真实手指才能制造出来,而且极难手动复现。 但玩家会碰到。
2. 到截止点但还没轮到 Update
另一个刁钻场景:60 秒到了,玩家按了返回键,但这个事件比下一帧的 Update 更早到达。
如果处理顺序写错,就会出现"已经到时间了,却因为先收到返回事件而被判作废"——玩家明明完整玩满了 60 秒,成绩却没了。
规则里写死了:已经到 60 秒就优先正常结算,即使返回/后台事件先到,也不作废。 断言把这个顺序钉死了。
那个还没修的 bug
诚实交代:舒尔特方格的 T10 布局溢出,这一轮还是没修。
上一篇我定位到了根因(单格尺寸求解器的 300 次迭代预算不够,一段横屏需要约 409 次),但这次的工作重点是第四玩法和发布物料,没动它。
验证记录里我明确写了:“本次未改动该棋盘实现,不将其列为通过。”
5831/5832 不是"基本通过",是"有 1 个已知问题还没修"。 这两个说法差别很大,我不想糊弄过去。


五、当前状态
| 项 | 状态 |
|---|---|
| 舒尔特方格 | ✅ 实装,5831/5832(1 项已知布局 bug 待修) |
| 色彩辨识 | ✅ 实装,286/286 |
| 意形分离 | ✅ 实装,3509/3509 |
| 排序记忆 | ✅ 实装,967/967 |
| 主菜单四玩法入口 | ✅ |
| 四玩法独立排行榜 | ✅ |
| 发布物料(5 图 + 图标 + 封面) | ✅ 本地已备齐,平台上传通道待打通 |
| 真实账号联网榜单验收 | ❌ 尚未进行 |
下一步:
- 修掉 T10 —— 根因清楚,该动手了。这个 bug 挂了三篇日志了,不能再拖;
- 打通平台截图上传 —— 发布物料卡在上传这一步;
- 真实设备验收 —— 现在所有验证都是离屏渲染 + 断言,真机的后台行为、联网提交都还没验;
- 意形分离的容量极限 —— 仍然是发布前阻断项。


六、四个玩法,四种涌现
回头看,四个玩法做下来,涌现走了四条不同的路:
| 玩法 | 涌现来自 |
|---|---|
| 舒尔特方格 | 难度的随机分布 |
| 色彩辨识 | 语义与视觉的冲突 |
| 意形分离 | 数值与字号的绑定 |
| 排序记忆 | 信息随时间的衰减 |
同一条设计原则贯穿始终:我们只给规则,不给答案。
- 不设计难度,让排列去生成;
- 不编排冲突,让属性去打架;
- 不规定节奏,让玩家自己分配时间。
这四个玩法加起来,代码里没有任何一处的"关卡设计"。 没有手工摆的题、没有预设的难度曲线、没有写死的关卡顺序。
全部是:规则 + 随机 → 涌现。
这大概就是这次 gamejam 我最想做的事——不是做一个内容很多的游戏,而是做一个规则很干净、但玩不腻的游戏。


本文为《忆如泉涌》开发日志第 4 篇,记录 2026-10-20 的第四玩法实装与发布物料准备。












