《三维弹球:太空军校生》(3D Pinball: Space Cadet)是早期Windows系统自带的经典游戏之一,最初随微软Plus! for Windows 95套件发布,后成为系统内置游戏直至Windows XP时代。然而,将这款游戏从Windows 95移植到NT版本的工程师戴夫·普拉默(Dave Plummer)在其YouTube频道坦承,他曾在移植过程中意外引入了一个程序错误,最终导致游戏运行时帧率飙升至5000 FPS

Cover Image

当普拉默的联合主持人念出“您在微软工作期间是否有过最终流入正式版的编程失误”的提问时,戴夫表示可能有过多次,但最令人难忘的当属移植《三维弹球》时的经历。“我在移植时围绕原游戏引擎编写了新引擎来处理视频渲染和音频等功能”,他解释道,“但这个自制引擎存在缺陷——它会以极限速度疯狂渲染帧画面。”

值得注意的是,当时普拉默使用的测试平台是主频200MHz的单核MIPS R4000处理器,游戏通常只能运行在60至90 FPS,这在当时已属正常水平。由于未给游戏设置帧率限制,当2000年代中期更先进的处理器普及时,《太空军校生》便会“在任何运行时都持续占用整整一个核心资源来运行弹球游戏”。

凭借当时远超移植测试环境的处理器性能,游戏帧率竟可高达5000 FPS。所幸普拉默的同事雷蒙德·陈(Raymond Chen)后续修复了该问题,将帧率上限设定为100 FPS,阻止了这款轻量级游戏持续占满单核资源的状况。

尽管微软对程序错误向来严肃对待,但这个无害的bug反而成为程序员们茶余饭后的趣谈。若在仍配备“涡轮按钮”的电脑时代,这本不会构成问题,但随着多数软件不再将时间步进与时钟频率绑定,该功能也逐渐被淘汰。以当时CPU核心技术的飞跃速度来看,普拉默未能预见这一发展确在情理之中。


文章标签: #三维弹球 #程序错误 #高帧率 #Windows游戏 #工程师趣闻

负责编辑

  菠萝老师先生 

  让你的每一个瞬间都充满意义地生活,因为在生命的尽头,衡量的不是你活了多少年,而是你如何度过这些年。