[闲聊] 雷神之锤某段程式码传承20年仍在作用

楼主: whe84311 (Rainsa)   2021-07-22 19:29:20
在Reddit论坛上,一名玩家最近偶然发现了《战栗时空》系列里的灯光闪烁频率有种奇怪的既视感,23年前的初代《战栗时空》里的灯光,居然和2020年诞生的《战栗时空:艾莉克丝》有着同样的闪烁频率。
这名资深玩家立即意识到了事情的有趣之处,如果这不是什么彩蛋(经过验证后确实不是),那只能解释为制作方的无心之举,如果是无心之举,那就意味着V社将一条放了20多年的程式码搬到了新游戏上。
之后,有人发现了更戏剧的内容:这串程式码不仅历史悠久,甚至还见证了V社的游戏历史。因为除了能在战栗时空全系列中找到相同的灯光场景,在V社的另一个知名系列《传送门》里,也有不少类似景象。
这名玩家顺藤摸瓜,最后找到了这个场景的源头——1996年发售的经典FPS游戏《雷神之锤》。
《雷神之锤》《战栗时空》《战栗时空2》和《传送门》,将四个场景放到一块后,虽然发光的设备不同,但可以很明显地看出它们维持着相同的闪烁频率。
在仔细研究了战栗时空已经开源的程式码后,另一位玩家给出了相对合理的解释。V社自初代《战栗时空》诞生以来,一直使用26个字母来表示灯光的明暗程度,字母“a”代表完全熄灭,“Z”则表示最大亮度。
而在这些游戏的源程式码中,都能找到一条
“mmamammmmmammamamaaamammma”的程式码,注释也正好是“灯光闪烁”
所以在这20年的开发历史中,凡是涉及到需要“灯光闪烁”的场景,V社基本就是从原先的程式码数据库中复制贴上,这才有了“祖传程式码”的说法,但真要细究,可能这段程式码也不能算在V社的头上。
最早出现这个场景的是《雷神之锤》,这是id Software的创始人约翰·卡马克利用同名引擎Quake制作的FPS游戏,而随后的初代《战栗时空》也同样基于该引擎的改良版开发而成。
于是一代传一代,最终造就了一段“祖传程式码”,这也正好印证了编程领域的一句名言:永远不要重复造轮子。
仔细想想,这也算是个制作组无意中留下的彩蛋了,发现这个秘密的玩家最后感慨道:“现在当我看到这个不规则闪烁的灯光,我就好奇还能在多少游戏中看到这个场景。”
https://www.techbang.com/posts/88570-game-code-20years
作者: aya16810 (深红眼镜)   2021-07-22 19:31:00
看过比较影片真的一模一样
作者: HELLDIVER (Ζzz...)   2021-07-22 19:32:00
祖传秘方
作者: dannyko (dannyko)   2021-07-22 19:33:00
当你在论文写了Bob和Alice 可能也会改变一切
作者: npc776 (二次元居民)   2021-07-22 19:33:00
(╮′_>`)<我以为你要说那个3D绘图运算的神之常数
作者: r85270607 (DooMguy)   2021-07-22 19:34:00
传家闪光
作者: kaj1983   2021-07-22 19:34:00
这种特效不会变的复制贴上很合理不是?
作者: ZooseWu (N5)   2021-07-22 19:35:00
作者: gcobc12632 (Ted)   2021-07-22 19:38:00
还以为是说反平方根快速算法
作者: jojojen (JJJ)   2021-07-22 19:39:00
弱 台湾传产一堆系统直接传承2X年
作者: amkust (社会新手)   2021-07-22 19:40:00
楼上这个也是传承2X年了啊
作者: ab37695543xs (bill_kotori)   2021-07-22 19:43:00
我也以为是反平方根
作者: GelBanana (胶蕉)   2021-07-22 19:57:00
coding日常 贴来贴去
作者: x94fujo6   2021-07-22 19:57:00
临(ㄩㄥˇ)时(ㄐㄧㄡˇ)解法
作者: BSpowerx (B.S)   2021-07-22 20:04:00
越厉害的工程师越不用写程式
作者: spfy (spfy)   2021-07-22 21:02:00
身为一个工程师 能复制绝对不自己写
作者: erisiss0 (965005)   2021-07-22 21:10:00
祖传灯泡闪烁,20年如一日其实这很正常,都有现成的干麻刻意重作对吧
作者: tim800224 (西村アクジ)   2021-07-22 21:22:00
约翰卡马克永远的神

Links booklink

Contact Us: admin [ a t ] ucptt.com