我们玩游戏的时候,经常会碰到一些莫名其妙的bug。一般来说,大家都认为这肯定是游戏开发商的锅,要么是程序员不够给力,要么是测试人员不够细心!那么,如果一个游戏bug只有你能遇到,别人都碰不到,会是什么原因呢?这个可能就是自己硬件设备的问题。如果你的电脑(或主机)也完全没问题,游戏bug从何而来呢?
海外UP主“Veritasium”近日给粉丝们分享了一段科普视频,其中美国太空总署喷气推进实验室的辐射效应工程师Leif Scheick博士表示:宇宙射线可以影响到地球上的电子设备,造成一系列问题的!也就是说,玩家们碰到的一些匪夷所思的游戏bug背后的罪魁祸首有可能是宇宙射线!
“Veritasium”还举了一个经典的案例:早在2013年,《超级马里奥64》速通高手“Teabag”在挑战“Tick Tock Clock”关卡时,不小心让马里奥飞到了地图上层!这显然是一个游戏bug,其他玩家看到后自然想要模仿,但都以失败告终,就连“Teabag”自己也不知道是怎么触发的!为了找到答案,甚至有土豪玩家悬赏1000美元,奖励能够重现该bug的玩家!
好多年过去了,1000美元始终没有被人领走。直到2019年,那位土豪玩家不知从何处搞到了“答案”,并公布了方法:玩家们只要把马里奥垂直位置座标参数通过“位翻转(bit flip)”使之从1变成0,那么马里奥就可以“翻转”到游戏空间的上层,那么“位翻转(bit flip)”是谁弄的呢?
当然,相关的硬件故障和软件故障都可以导致电子器件的“位翻转(bit flip)”,而其中宇宙射线则非常可能是诱因。早在1978年,英特尔(Intel)就曾经遭遇过旗下器件自发性位翻转问题,当时宇宙射线中的α粒子进入器件芯片内部,穿过硅产生“电子空穴对”(electron hole pairs)的现象,并解放电荷载体,在半导体阱中造成电子的堆积,进而导致位参数从1转换成0。
人们了解到上述现象后,后续在半导体制造中采取了对应的手段防止意外的发生,因此现代的电脑(或主机)绝大多数情况下不会因为宇宙射线而发生故障。不过现代的技术并不能完全杜绝“位翻转”,因此宇宙射线导致“Teabag”的硬件设备发生“位翻转”,触发《超级马里奥64》离奇bug是完全有可能的。
值得一提的是:上述的“位翻转”不仅会影响个人电脑或游戏机,就连飞机或者汽车也不能避免。2008年,一架从新加坡飞往澳洲的飞机曾经因为上述现象导致自动驾驶模式出现了短暂的问题,让飞机在空中俯冲了一段距离,导致多人受伤。因此,相关的产业中使用的芯片都专门针对“位翻转”设计了保护措施。
我们一般玩家的电脑或者游戏设备对于宇宙射线可没有层层保护,所以碰到“位翻转”是完全有可能。不过,“Teabag”又很幸运,他遇到的“位翻转”刚好发生在马里奥垂直位置座标参数,这样才能触发难得一见的bug。