早早出局?你不必再干坐着看完
破产后,你会被留在一张还在运转、却什么都碰不了的棋盘前,没有提示,也没有出口,而其余人还要再打十分钟。现在不会了。

通俗版
在一局大富翁式的对局里被淘汰是很正常的事——对大多数人来说,这局游戏就是这样结束的。不正常的是 opolyx 接下来做了什么:什么都没做。棋盘仍留在屏幕上,画得完完整整却完全动不了,所有控件一律变灰。没有一句话告诉你已经出局,没有你这局打得如何的小结,也没有一个可以离开的按钮。那一刻你唯一合理会想要的东西——再来一局——要等到还在场上的人打完才有,而在一张普通的棋盘上那还要再等十来分钟,有时接近四十分钟。
现在,在你的座位出局的那一刻,会出现一块界面把这件事说清楚,告诉你最终的名次,并且立刻提供一局新的对局。如果你更想看看结局,点「继续观战」会把你送回棋盘,同时在屏幕上保留一个小而常驻的出口——而当对局真的结束时,你会被直接带到真正的结算界面,不需要重新加载任何东西。
结算界面在同一次改动里多了两样东西。它会告诉你最接近完成的是哪个目标,而不是按菜单顺序把它们排出来——对一个刚刚破产的人提议「赢下一局」并不算鼓励——并且在你正处于连胜时把连胜显示出来。按钮也移到了领奖台的正下方,因为在大多数笔记本电脑上它们原本落在折线以下:一局结束后你看到的第一样东西是领奖台和一叠奖励卡牌,整个屏幕上没有任何可以按的东西。
技术细节
这一刻值得修,是因为它所处的位置。一个人会不会再回到 opolyx,几乎完全取决于他在第一天打了几局,而这个台阶很陡:只打一局的人极少回来,打满三局的则接近抛硬币。大约三分之二的新玩家在第一天只打一局。所以站点能做的最有价值的事,就是让第二局容易开始——而此刻最有条件开始第二局的最大一群人,正是刚刚被淘汰出第一局的玩家。
| 第一天打了几局 | 日后又回来过 |
|---|---|
| 一局 | 9% |
| 两局 | 25% |
| 三局或更多 | 47% |
没人注意到的原因,是一小段被完全读反了的逻辑。离开按钮是否渲染,由「对局正在进行、你在其中、并且你没有被淘汰」来决定——一个看上去很合理的条件,却恰恰把出口藏了起来,藏的对象正是那个已经打完的玩家。与此同时,结算界面只有在对局本身结束之后才会渲染。夹在这两条规则之间的,是一个没有控件、没有小结、也没有出口的玩家,而且没有任何一条代码分支去照顾他。
这块界面刻意不显示经验、评分变化和等级条。这些都是在对局结束时写入的,而不是在某个座位出局时,所以此刻它们根本还不存在——把它们显示出来,就等于对着一个刚被告知出局的玩家打印一份「零」奖励。预测这些数字是可行的,但被否决了:那意味着要在浏览器里复制一遍服务端的算术,而且没有任何一个测试能同时覆盖两边。界面上有一行字说明奖励会在对局结束时结算,这是事实,也正好回答了真正被问到的那个问题。
