打开网易新闻 查看更多图片

这个月10号,赛博朋克2077解禁,世超周围的小伙伴有一个算一个,全部一头扎进了夜之城,上起了夜班。

本来世超也想抽空玩来着,奈何显卡版本太老,游戏是能进,画质确实没法看。

换新显卡吧,现在RTX的价格又被那群矿难孤儿炒到了天上,别提有多闹心了。

唉,快乐都是别人的,小丑竟是我自己。

也是在这个月,有位叫Eric Engstrom微软大佬去世了。

打开网易新闻 查看更多图片

这位老哥没有比尔盖茨这么大的名气,但要是没他,我们现在想要在夜之城夜夜笙歌,估计没那么容易。

甚至说 Windows 电脑,可能还只是一台主要的生产力工具,就像苹果 Mac 一样。

Eric Engstrom 所创立的 DirectX 接口,把 PC 个人电脑,拽进了电子游戏的世界。“ 玩电脑游戏 ” 成为了一种游戏方式。

这事儿展开聊聊还挺有意思的。

大家小时候有没有玩盗版游戏的经历?

先是辛辛苦苦从 3XM游 X Sky 上找到资源,然后冒着被老妈发现的危险,电脑挂一晚上把游戏下下来。

好不容易下完了解压好,兴奋的打开游戏的 exe 文件,正准备抄起鼠标大杀四方,系统却弹出了这么一个窗口。。。

打开网易新闻 查看更多图片

对那时还没有被社会毒打的世超来说,看到它之后,一秒钟前因为兴奋而怦怦跳的心脏直接骤停。。。

。。。三秒钟后恢复心跳开始发疯似的满世界寻找这个拓展名 .dll 的文件。

后来世超才知道,这个文件其实是 DirectX 的驱动文件,重新装一下 DirectX 最新驱动就行了。

正版游戏在运行之前会有一个自检的环节,来确认电脑中是否有相关的驱动文件。

而上传盗版游戏的黑客,并不会把这部分自检程序放到压缩包里。

这样一来,用户在解压完游戏之后就会发生文件缺失的情况,需要自己去网上找到对应的文件把它补上。

没有. dll 文件,游戏就跑不起来。

那个时候玩的单机游戏,从CS 、红警、魔兽争霸3GTA 罪恶都市、骑马与砍杀、文明 IV 等等等等游戏,都是基于DirectX 接口开发的。

DirectX 的存在,覆盖了整个电脑游戏发展史。

那问题来了,为什么在电脑上的游戏离不开 DirectX 呢?

要解答这个问题,我们得先了解一下图形 API 的发展历史。

打开网易新闻 查看更多图片

早期的软件开发没有统一标准,往往是一个新的硬件出来,程序员就得为它定制开发一套软件来用。

这就造成了硬件与硬件,软件与软件之间并不互通。

打个比方来说,你跑到金拱门问服务员点单,要一份双层天椒皇堡,外加一块吮指原味鸡打包带走。。。

服务员可能会把你当傻子看,他们的炸炉根本就做不出原味鸡,想要吃到这些东西,只能去不同的店买。

那时候程序员们开发游戏也是如此,为了让游戏能在不同的硬件上跑,就要一个个适配过来。

比如《仙剑奇侠传》,想要在不同的平台上玩,就需要程序员适配三次。

可以做,但没必要,还掉头发。。。

基于此,在人类的原始生产力 懒 ”的驱使下,程序员们发明出了 Application Programming Interface ( 应用编程接口 ),简称 API 。

它的出现统一了所有的开发规范,解决了不同硬件需要适配的问题,大大节省了开发的成本。

要是用统一的API,就不需要重复开发了,直接适配。▼

这玩意的出现就好像是外卖平台,啥汉堡炸鸡店都有,想吃啥直接动动手指下单就会送上门,不用亲自跑去买。

不过那时候率先登场的 API 的并不是 DirectX ,而是大名鼎鼎的 Glide 和 OpenGL ,还没微软什么事。

Glide 的 API 标准是一家叫3dfx 的显卡公司创立的,在英伟达崛起之前, 3dfx 的 Voodoo 系列显卡就是当初3D 游戏的绝对标杆。

不管是古早的《 DOOM 》、《古墓丽影》还是 FPS 始祖游戏《雷神之锤》,都体现出了 API 接口的巨大优势。

原本分散的游戏开发者,都聚集到了统一的平台上来做游戏,人多力量大,无数的新技术和好游戏就源源不断的冒出来了。

著名的 “ 三角胸 ” 劳拉。▼

这3D 画面,在当时算得上是跨时代的。

而微软这边一开始其实并不看好游戏领域,根本不想在游戏方面投资。

Windows 95系统做的也差不多了,随时准备发布,管理层觉得这时候再做一个游戏编程界面没有太大必要。

另一方面从老的 MS-DOS 系统上转移到新的环境里开发,谁也不敢保证会怎么样。

Eric Engstrom 看到了这上面的前景,自己偷偷拉了个三人的小团队,开发起了 DirectX ,顶着微软管理层的压力,把这个项目给做了下来。

到了1995年4月, DirectX 正式发布,并在后面逐步融合进了 Windows 95 ,为微软打入游戏市场,立下了汗马功劳。

有意思的是,在 Eric Engstrom 开发 DirectX 的过程中,不仅要面对技术上的难题,还要面临微软的上层百般阻挠,面对企业内斗。

这个过程还被写成了一本名为《 Renegades of the Empire 》(《帝国叛逆者》)的书,记述下了那段时间微软内忧外患的处境。

内有管理层矛盾,外面临反垄断调查。▼

一群程序员腹黑起来玩 “ 宫斗 ” ,也是挺可怕的。。。

不过至少结果是好的, DirectX 在经过了几个版本的更新之后,已经稳坐了游戏图形 API 的头把交椅。

半条命2在 DirectX6.0上的表现已经相当好了。▼

而 Glide 和 OpenGL 却被命运开了玩笑,相继翻车,给 DirectX 占领市场提供了很大机会。

Glide 翻车是因为3dfx 的没落,支持 Glide 的游戏及设备越来越少,它不及 Windows 系统有这么多的开发者,又不开源,没多久就顶不住了。

OpenGL 倒是开源的,不过因为内部意见不统一,它逐渐转向了专业图形领域的方向,渐渐弱化了游戏方面的更新。

在更新到了 DirectX 9.0之后,微软在图形 API 的领域,基本坐稳了龙头老大的位置。

顺带一提,微软的 XBOX 主机用到的也是 DirectX ,这样一来,就形成了一个闭环,但凡厂商想要在主机平台和 PC 平台上开发游戏,就绕不过 DirectX 。

随之而来的就是 N 卡和 A 卡长达10年的显卡大战,由于两边都要用到 DirectX 来优化,微软的更新就成了制衡 N 、 A 两家发展的砝码。

微软不愧是做 “ 操作系统 ” 的公司。

不过这两年,OpenGL 的母公司 Khronos推出了自家的新图形 API Vulkan,意欲动摇 DirectX 的传统优势地位。

Vulkan 作为一个搅局者,它的强势之处在于跨平台的兼容性,它能在Windows、Linux、Android 三个平台上开发,连接了电脑和手机端。

在底层硬件的兼容方面,Vulkan 会更好一些,游戏开发者能更彻底的榨干显卡的性能。

未来的竞争或许会更势均力敌一些。。。

世超是觉得,我们在电脑游戏里 “ 突突突 ” 玩爽的时候,也别忘了背后有成千上万个像Eric Engstrom 一样的程序员,在默默努力。

对于世超来说,对于电子游戏的启蒙记忆就是在电脑上的。

因为某些原因,我们小时候没办法接触到游戏主机,要是没有电脑上的游戏,世超的童年或许就错失了一个精彩的世界。

尽管很多都是盗版。。。

所有 PC 游戏的开发人员,都值得感谢。