睡觉会让你的建筑工人损失多少?
如果挑选升级时把夜里考虑进去,几乎没有损失。12本、每晚睡八小时,60天里由 ClashClock 的规划器决定顺序时,5位模拟的建筑工人一共只空闲了6个建筑工人小时,占其时间的0.1%。不考虑夜里时,同一个规划器损失了114小时,即1.6%;13本及以上损失不超过0.4%。下一级大本营则是另一回事:在“策略冲本”下,它只变动几小时(平均最多2.4小时,最坏的一次9小时);在要等实验室的“满级”策略下,则变动几天(平均最多2.4天,最坏的一次2.5天)。
本页内容
我测试了什么
我搭建了两个刚升到新大本营的村庄,一个12本,一个15本,上一级的一切都已升满,各有5位建筑工人:分别有157项和196项建筑、陷阱、英雄、部队、法术和战宠。然后让规划器用“满级”策略在七组不同的离线时段下安排60天,并统计因为我不在而让建筑工人闲着的每一个建筑工人小时。5位建筑工人60天共7,200个建筑工人小时。
| 作息 | 你何时离线 | 每周离线小时数 |
|---|---|---|
| 始终醒着 | 从不 | 0 |
| 睡6小时 | 每天00:00到06:00 | 42 |
| 睡8小时 | 每天23:00到07:00 | 56 |
| 睡10小时 | 每天22:00到08:00 | 70 |
| 睡8小时加朝九晚五上班 | 睡觉,外加周一到周五09:00到17:00 | 96 |
| 夜班 | 工作日夜里22:00到06:00上班,07:00到14:00睡觉 | 89 |
| 每天打开四次应用 | 在07:30、12:30、18:30和22:30各在线30分钟 | 154 |
每种作息都用两种方式运行。规划器就是正式发布的 ClashClock:它在挑选下一项升级时会考虑你的离线时段。盲排是同一个规划器,但挑选时被要求忽略离线时段。你不在时它照样什么都不能开始,所以03:00完工的建筑工人要等你回来。这就是一个只按价值挑升级、别的都不管的人排出的队列。
每个数字都是12次运行的平均值,每次从一周中不同的时刻开始,并且已有五项升级在进行,进度随机。唯一的例外是靠后的“满级”策略大本营开始日,那是6次运行的平均值。
答案:两个月里只有几个建筑工人小时
| 作息 | 12本,规划器 | 12本,盲排 | 15本,规划器 | 15本,盲排 |
|---|---|---|---|---|
| 睡6小时 | 4小时(0.1%) | 93小时(1.3%) | 4小时(0.1%) | 12小时(0.2%) |
| 睡8小时 | 6小时(0.1%) | 114小时(1.6%) | 7小时(0.1%) | 19小时(0.3%) |
| 睡10小时 | 9小时(0.1%) | 121小时(1.7%) | 10小时(0.1%) | 26小时(0.4%) |
| 睡8小时加上班 | 12小时(0.2%) | 141小时(2.0%) | 12小时(0.2%) | 26小时(0.4%) |
| 夜班 | 8小时(0.1%) | 130小时(1.8%) | 11小时(0.2%) | 27小时(0.4%) |
| 每天上线四次 | 71小时(1.0%) | 205小时(2.8%) | 14小时(0.2%) | 45小时(0.6%) |
始终醒着时,5位建筑工人在60天里工作300个建筑工人日。12本、睡8小时、由规划器安排时,他们工作了其中的299.7个。把差额摊到你睡觉的每个小时上,就是值得记住的数字:
所以顺序得当时,每睡一小时,一位建筑工人约损失10秒(0.16和0.18分钟)。顺序不当时,你每睡一小时,12本的建筑工人损失将近3分钟,15本的约半分钟。在12次运行中,12本睡8小时时,规划器的空闲时间在2到14小时之间,盲排在82到147小时之间。两个区间毫无重叠。
为了不依赖我自己加的开关来核对盲排的数字,我干脆不重新排计划。我拿为始终醒着的玩家做的计划,让每位建筑工人按同样的顺序走同样的步骤,只在该建筑工人空闲且我在线时才开始一步。结果12本睡8小时空闲124小时,盲排规划器是114小时;15本是19小时,盲排也是19小时。
为什么夜里损失小,为什么12本损失更多
只有当升级在你不在时结束,建筑工人才会损失时间。大多数升级都很长。在12本的时间表里,64%的步骤需要一天或更久,占建筑工人时间的89%。15本时是96.5%的步骤,占99.7%的时间。其中大多数正好是半天的整数倍:12本有66%的步骤(占建筑工人时间的88%),15本有98%(99.9%)。
这带来一个附带效果。你醒来时开始一项96小时升级的建筑工人,四天后你醒来时正好又空闲。19:00开始一项84小时升级的,会在07:00空闲。建筑工人一旦和你的作息合拍,长升级会让它一直保持合拍。要等你的建筑工人,是那些睡前开始了一项时长零散的升级(比如3小时的一级),或者长升级的结束时间正好落在午夜错误一侧的。
盲排
地狱之塔 5->6
周日 12:29 + 96小时 -> 周四 12:29
十字连弩 5->6
周四 12:29 + 84小时 -> 周一 00:29
特斯拉电磁塔 9->10
周一 07:00 + 48小时 -> 周三 07:00
(等了你6.5小时)
规划器
地狱之塔 2->3
周六 12:29 + 48小时 -> 周一 12:29
天鹰火炮 2->3
周一 12:29 + 168小时 -> 周一 12:29
特斯拉电磁塔 9->10
周一 12:29 + 48小时 -> 周三 12:2912本剩下的几小时长的等级更多,所以在夜里结束的机会也更多。大本营等级越高,这种机会越少:
在我试过的每一级大本营里,规划器都保持在0.1%到0.3%之间。我没有把11本放进图里:由于实验室决定了进度,它的建筑工人在60天内就没活可干了,所以它的空闲比例没有可比性。
冲本的村庄也是一样。建筑停在10本水平的13本,用规划器损失0.3%,盲排0.7%。建筑停在12本水平的15本损失0.1%和0.2%,有第6位建筑工人的15本损失0.1%和0.3%。
下一级大本营:“策略冲本”几乎不受影响,“满级”跟着实验室走
我还用“策略冲本”(游戏一允许就升级大本营)测算了从计划开始算起,要多少天才能升到下一级大本营。变动量是与同一村庄始终醒着时的运行相比。
| 作息 | 12本升13本 | 变动 | 15本升16本 | 变动 |
|---|---|---|---|---|
| 始终醒着 | 9.28天 | 0小时 | 17.99天 | 0小时 |
| 睡6小时 | 9.26天 | -0.6小时 | 18.02天 | +0.5小时 |
| 睡8小时 | 9.25天 | -0.8小时 | 18.05天 | +1.4小时 |
| 睡10小时 | 9.24天 | -1.1小时 | 18.07天 | +1.7小时 |
| 睡8小时加上班 | 9.33天 | +1.2小时 | 18.09天 | +2.4小时 |
| 夜班 | 9.28天 | -0.2小时 | 18.08天 | +2.1小时 |
| 每天上线四次 | 9.38天 | +2.3小时 | 18.08天 | +2.1小时 |
大本营是一项长升级,条件一满足就开始,所以没有需要填补的空档。12次运行中最大的延迟是9小时。睡觉有时甚至让这一天稍稍提前:12本时,睡6、8和10小时的平均变动都小于零。我没有追查原因,而且无论提前还是推迟,一小时上下我都不会过度解读。
在“满级”策略下,大本营最后升,要等最后完成这一级工作的那一方。我检查的全部6次运行里(两个村庄,始终醒着和睡8小时),最后结束这一级的都是实验室。所以大本营能开始的日子取决于实验室的空闲时间,而不是建筑工人的。
| 作息 | 12本 | 15本 |
|---|---|---|
| 始终醒着 | 138.4 | 290.3 |
| 睡8小时 | 139.4(+1.0) | 290.4(+0.1) |
| 睡8小时加上班 | 139.8(+1.4) | 290.0(-0.3) |
| 每天上线四次 | 140.2(+1.8) | 292.7(+2.4) |
12本时,这些天数大约都由实验室造成。睡8小时时,实验室每60天停工10小时,138天下来约24小时,也就是一天。每天上线四次时,它每60天停工19小时,138天下来约44小时,即1.8天。逐次来看,每天上线四次让12本的大本营推迟1.4到2.2天,15本推迟2.2到2.5天。
每天上线四次比睡觉损失更多
损失最大的作息并不是睡得最多的那种。每天打开应用四次、每次半小时,等于每天离线22小时。12本时,它让规划器损失70.8个建筑工人小时(1.0%),是睡10小时所损失9.4小时的7.5倍;盲排损失205小时(2.8%)。15本时损失0.2%和0.6%。
这里暴露出规划器的两个局限。实验室没有受到保护:规划器挑选研究时不看你的作息,12本睡8小时时,实验室60天里停工10小时(0.7%),而5位建筑工人加起来才6小时。另外,在线窗口这么短时,提前预判就不起作用了:14本每天上线四次时,规划器损失0.9%,盲排损失0.7%。
这对你的村庄意味着什么
- 从13本起,建筑工人并不是在夜里损失时间。不必把某项升级留到睡前,也不必为03:00结束的升级定闹钟。
- 12本时,只要几小时的等级很常见。睡前给建筑工人安排一项一天左右的升级,而不是3小时的。规划器省下的1.5个百分点就是这么来的。
- 每天打开几次应用比睡觉损失更多,即使由规划器决定顺序也是如此:12本时是1.0%对0.1%。
- 冲本时,睡觉只让下一级大本营建成的日子变动几小时,而不是几天:平均最多2.4小时,最坏的一次9小时,所以冲本几乎不需要为睡觉做调整。在“满级”策略下,大本营要等实验室,而实验室在你不在时会停工:12本时睡觉约推迟一天,每天上线四次最多推迟2.4天。
方法与局限
这是两个模拟的村庄,不是你的村庄。它们展示的是规划器如何对待夜晚。
- 村庄:刚升到新的大本营,上一级的一切都在最高等级(从17本起,按游戏文件和应用数据的处理方式,合并的防御设施保持合并状态,天鹰火炮算作这一级大本营的一部分),5位建筑工人,没有帮手、黄金令牌、药水或活动。城墙不花时间。建筑工人时间来自“满级”策略,大本营日期来自“策略冲本”。
- 始终醒着是上限。那种情况下建筑工人从不空闲,就像升级一结束你就立刻打开了应用。
- 资源从不阻碍升级开始。在游戏里,建筑工人也会等金币或圣水,而规划器为跨过夜晚挑的升级,到时可能你付不起。加上资源限制后,真实数字可能更高也可能更低;这次测试没有测量这一点。
- 盲排在运行时关掉了排程器的两行代码:升级结束时会造成的等待时间,以及对下一段离线时段的预判。你不在时建筑工人仍然不能开始。应用本身没有任何改动。
- 我统计的是建筑工人时间,而不是建筑工人在做什么。按规划器自己的重要性评分,睡8小时时60天完成的工作与始终醒着相差不到1%(12本99.6%,15本100.2%)。这是规划器给自己打分。
- 我统计的是建筑工人小时,而不是一级大本营升满的日子。在这些村庄里,最后结束这一级的是实验室,所以那一天取决于实验室的空闲时间,而不是建筑工人的。
- 规划器是贪心的:每当有建筑工人空出来,它就挑看起来最好的一步,从不回头(见“ClashClock 的工作原理”)。这些是这个规划器的结果,不是最优顺序的结果,可能存在更好的顺序。
ClashClock 会替你安排顺序:在规划器里填上你睡觉或工作的时间,它就会挑选每一项升级,让它在你回来时结束,并用红色标出无法避免的空闲时间。
打开追踪器你的村庄,而不是样例
ClashClock 会按你自己的村庄算出这些数字,计入你正在进行的计时器、你的建筑工人和你的离线时段。免费,无需账号,直接在浏览器里运行。