本文来自微信公众号:差评(ID:chaping321),作者:世超,题图来自:视觉中国
这个月10号,赛博朋克2077解禁,世超周围的小伙伴有一个算一个,全部一头扎进了夜之城,上起了夜班。
本来世超也想抽空玩来着,奈何显卡版本太老,游戏是能进,画质确实没法看。
换新显卡吧,现在RTX的价格又被那群矿难孤儿炒到了天上,别提有多闹心了。
唉,快乐都是别人的,小丑竟是我自己。
也是在这个月,有位叫Eric Engstrom微软大佬去世了。
这位老哥没有比尔盖茨这么大的名气,但要是没他,我们现在想要在夜之城夜夜笙歌,估计没那么容易。
甚至说Windows电脑,可能还只是一台主要的生产力工具,就像苹果Mac一样。
Eric Engstrom所创立的DirectX接口,把PC个人电脑,拽进了电子游戏的世界。让“玩电脑游戏”成为了一种游戏方式。
这事儿展开聊聊还挺有意思的。
大家小时候有没有玩盗版游戏的经历?
先是辛辛苦苦从3XM 、游XSky上找到资源,然后冒着被老妈发现的危险,电脑挂一晚上把游戏下下来。
好不容易下完了解压好,兴奋的打开游戏的exe文件,正准备抄起鼠标大杀四方,系统却弹出了这么一个窗口……
对那时还没有被社会毒打的世超来说,看到它之后,一秒钟前因为兴奋而怦怦跳的心脏直接骤停……
……三秒钟后恢复心跳开始发疯似的满世界寻找这个拓展名 .dll的文件。
后来世超才知道,这个文件其实是DirectX的驱动文件,重新装一下DirectX最新驱动就行了。
正版游戏在运行之前会有一个自检的环节,来确认电脑中是否有相关的驱动文件。
而上传盗版游戏的黑客,并不会把这部分自检程序放到压缩包里。
这样一来,用户在解压完游戏之后就会发生文件缺失的情况,需要自己去网上找到对应的文件把它补上。
没有. dll文件,游戏就跑不起来。
那个时候玩的单机游戏,从CS 、红警、魔兽争霸 3 到GTA 罪恶都市、骑马与砍杀、文明 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游戏的开发人员,都值得感谢。
本文来自微信公众号:差评(ID:chaping321),作者:世超