为了把游戏接口做进Windows,这位大佬干翻微软的管理层
2020-12-30 09:43

为了把游戏接口做进Windows,这位大佬干翻微软的管理层

本文来自微信公众号:差评(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),作者:世超

本内容为作者独立观点,不代表虎嗅立场。未经允许不得转载,授权事宜请联系hezuo@huxiu.com
如对本稿件有异议或投诉,请联系tougao@huxiu.com
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定