# 什么是游戏刻和红石刻?

在讲解 Minecraft 的文章中, 尤其是讲解红石系统的文章, 经常会看到"刻(tick)"、"游戏刻(Game Tick)"、"红石刻(Redstone Tick)"的名词, 他们到底是什么意思呢?

"刻"的本质是 Minecraft 设定的时间单位, 就像现实生活中使用的"秒、分、小时"一样.

为什么 Minecraft 不直接使用"秒"作为时间单位, 而要引入"刻"这个概念?

  1. 在游戏开发中, 几乎所有的程序都是由一个大的循环程序运行. Minecraft 的开发人员将循环程序的一个周期称为"刻(tick)". 在这个时间内, 游戏世界进行更新(比如太阳移动, 饥饿值改变...)
  2. 由于程序每次循环的时间非常短 -- Minecraft 内部的循环程序是以每秒 20 个周期的速度在运行, 也就是说每个循环用时 0.05 秒. 为了方便游戏开发, 所以将这个 0.05 秒定义为 "1 个游戏刻"
  3. Minecraft 的开发人员将"红石系统"每次循环检测的时间设定为 0.1 秒. 同样的, 为了方便游戏开发, 将这个 0.1 秒定义为 "1 个红石刻"

所以:

  • 1 游戏刻 = 0.05 秒
  • 1 秒 = 20 游戏刻
  • 1 红石刻 = 0.1 秒
  • 1 秒 = 10 红石刻
  • 1 红石刻 = 2 游戏刻
  • Minecraft 中的 1 天 = 24000 游戏刻 = 现实生活的 20 分钟

在 Minecraft 中的一天是 24000 游戏刻, 对应的是现实生活中的 20 分钟. 所以你要把游戏世界的时间改成中午, 需要输入命令/time set 6000

"游戏刻"和现实世界时间的对应关系并不是完全固定的. 如果电脑的性能非常差, 以至于无法达到游戏程序执行所需的速度, 那么完成一个循环程序需要的耗时将增加, 这也就是"游戏卡顿"的来源之一. 不过, 通常我们不需要考虑这个因素, 因为现在的计算机普遍都性能过剩, 而不是性能不足. 你只需要了解这个现象即可, 不需要为此担心

我们以"红石中继器"[1]为例来看看"红石刻":

"红石中继器"自带 4 档延迟, 用右键点击切换, 其延迟分别为 1、2、3、4 红石刻, 也就是

  • 分别延迟 0.1、0.2、0.3、0.4
  • 分别延迟 2、4、6、8 游戏刻

红石元件所需的"红石刻":

  • "红石火把"在收到的信号后, 进行反转时会产生 1 红石刻延迟
  • "红石中继器"默认延迟 1 个红石刻, 我们可以用右键点击它, 可以将延迟调整为 2、3、4 红石刻
  • "活塞"和"粘性活塞"推出去需要 1.5 红石刻 (如果激活活塞的脉冲电流短于 1.5 红石刻, "活塞"和"粘性活塞"会将其推出去的方块留在推出的位置, 且活塞臂会瞬间缩回. 这样, "粘性活塞"无法拉回自己推出的方块)
  • "漏斗"传输或者抽取一个物品都需要 4 红石刻(如果是吸取掉落物则没有延迟)
  • "红石比较器"对收到的信号做出反应需要 1 红石刻
  • 激活"木质按钮"需要 1 红石刻, 产生的红石信号将持续 15 刻(不包括被箭射中的情况), 而激活"石质按钮"也需要 1 红石刻, 但是红石信号只持续 10 红石刻
  • 激活"压力板"需要 1 红石刻, 产生的红石信号将持续 4 红石刻

注意"简称":
你所看到的"刻"有可能是指"游戏刻"也可能是指"红石刻", 需要注意文章前后文的背景. 如果是讲"红石系统"的文章, 那么"刻"一般是指"红石刻", 如果是其他情况, "刻"一般是指"游戏刻"


  1. 关于"红石中继器"的详细介绍请参考这里 ↩︎