菜单 搜索

《半条命》神级源代码:用26个字母实现灯光效果

媒体资源网 http://www.allchina.cn 2022/11/18

《半条命》是史上最经典的第一人称射击游戏之一,它的画面极有沉浸感。那么,你知道Valve(V社)是怎么用代码写出游戏的灯光效果吗?

最近,网友CrazyGiaky在社交媒体上写道:“22年后,V社重新使用了闪烁灯光的源代码。”

下图分别是1998年的《半条命》和2020年的《半条命:爱莉克斯》,可以发现游戏中的灯光闪烁风格很类似。

事实上,自从初代《半条命》以来,“照明预设”几乎没有多少变化,游戏的灯光效果是通过分配26个英文字母来处理的,每个字母代表不同的亮度,其中a是完全暗的,z是最大亮度,如下图所示:

V社通过不同的字母组合,来达到不同的灯光效果,比如mmamammmmammamamaaamammma是荧光效果,jklmnopqrstuvwxyzyxwvutsrqponmlkj是温柔的脉冲,mamamamamama是快速频闪等。

下图是《半条命》的源代码,可以发现大量的字母组合实现了不同的灯光效果。在那个年代绝对是非常震撼的。

有意思的是,早在1996年的神作《雷神之锤》中就可以看到这样的代码,如下图所示:

这两个游戏的发行时间只相差2年,其实很难说是谁借鉴谁。不过,《半条命》基于《雷神之锤2》引擎修改的GoldSrc引擎,因此可见两者的渊源。

作为V社开发的第一款游戏,《半条命》从早期不被看好走向游戏史的神作,斩获超过51个年度最佳游戏奖项。游戏的玩法对FPS影响深远,更被称为史上最优秀的游戏。