feat(levels): gate the dead turn, and state the curve instead of hoping for it
Round 1 played all fifty levels and came back with the mechanics clean and one
complaint repeated across the reports: 短暂以为转错了方向 — a turn that changed
nothing. That one is mechanical rather than perceptual, so it can be gated.
The first attempt gated `doubleDead`, and it was wrong. That counts dead states,
which scales with the state space: three-turn levels have ~187 reachable stuck
states and five-turn ones ~739, so a raw count made deep levels look eight times
worse when the rate is 2% against 5%. It would have erased every level past
three turns — the opposite of the brief, where turning is the signature and is
not to be rationed. The gate is `maxDeadTurns`, the longest run of turns before
something opens, at 1: one beat of suspense, then a release. Eleven of the fifty
shipped at 2.
Selection could not express the curve either. Spreading picks evenly over the
ranked pool returns whatever the pool is made of, and the pool is 88%
three-turn, so no weighting moved the distribution off {3: 46}. A quota per
depth states the curve outright, deepest first so the scarce end picks before a
family cap is spent on levels the shallow end has hundreds of.
Same rule bot, both sets: blind rotations 0.24 → 0.12, worst blind streak 4 → 1,
decisions unchanged at 10.3. The same amount to do, half the wasted motion.
Rotation now runs 1.8 / 3.0 / 4.1 across the bands against 1.8 / 3.0 / 3.5.
Verdicts are keyed by the board rather than by its id, because a reselect
re-issues ids from the ordinal and `c50-01-v05` is not the same board before and
after — the review sheet was one reselect away from printing one level's verdict
under another's thumbnail.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+6
-2
@@ -125,7 +125,7 @@
|
||||
"id": "T1.5",
|
||||
"title": "扩产到 ≥120 候选并去重、家族均衡",
|
||||
"status": "doing",
|
||||
"note": "候选池已达 235 关(深度 {3:165,4:46,5:22,7:2}),正用含开局展示位的构造重扫"
|
||||
"note": "扩产到 400 种子(8 片并行)。目的不是多,是为了付得起两道新闸门的代价:双向死转态 ≤2 只留 16%,在 94 个候选上会只剩 8 关"
|
||||
},
|
||||
{
|
||||
"id": "T1.6",
|
||||
@@ -185,7 +185,7 @@
|
||||
"id": "T3.2",
|
||||
"title": "按实测曲线调整选关,重选",
|
||||
"status": "doing",
|
||||
"note": "按 R1 唯一可用的总体读数「偏易」调整:扩池到 400 种子后把旋转深度整体上推,而不是按关排名重选"
|
||||
"note": "R1 唯一可用的是总体读数「偏易」,不是逐关排名。据此定的 R2 改动只有一条、且是机械可测的:给 doubleDead(左右转都打不开任何棋子的可达卡住态)设闸门——它此前完全没设,当前 50 关中位 4、最高 27。这正是用户说的「无效转动就会很无聊」,也是 agent 后段反复写的「短暂以为转错了方向」"
|
||||
},
|
||||
{
|
||||
"id": "T3.3",
|
||||
@@ -247,6 +247,10 @@
|
||||
{
|
||||
"at": "未擅自改动",
|
||||
"text": "agent 33 条抱怨里两大主题是路线太长(68 格 27 弯)与紧贴易看漏。但已上线的 v0.5 在这两项上更严重(最长 88 格 vs 84 格),属于游戏本来的性格;且文字盘面会同时夸大和缩小感知问题。因此只在审核页标出,不擅自设闸门"
|
||||
},
|
||||
{
|
||||
"at": "R2 依据",
|
||||
"text": "后段 14 条抱怨里两类:路线太长(感知,已对照 v0.5 基线否掉)与「转了没反应」(机械,可设闸门)。只改后者:endgameMinOpen 2→3、doubleDead 无闸门→≤2。两条合计只留 16% 候选,所以先扩池"
|
||||
}
|
||||
]
|
||||
}
|
||||
+66965
File diff suppressed because it is too large
Load Diff
+22989
File diff suppressed because it is too large
Load Diff
+150442
File diff suppressed because it is too large
Load Diff
+359513
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user