TUhjnbcbe - 2021/5/17 0:06:00
这个月10号,赛博朋克解禁,世超周围的小伙伴有一个算一个,全部一头扎进了夜之城,上起了夜班。本来世超也想抽空玩来着,奈何显卡版本太老,游戏是能进,画质确实没法看。换新显卡吧,现在RTX的价格又被那群矿难孤儿炒到了天上,别提有多闹心了。唉,快乐都是别人的,小丑竟是我自己。也是在这个月,有位叫EricEngstrom微软大佬去世了。这位老哥没有比尔盖茨这么大的名气,但要是没他,我们现在想要在夜之城夜夜笙歌,估计没那么容易。甚至说Windows电脑,可能还只是一台主要的生产力工具,就像苹果Mac一样。EricEngstrom所创立的DirectX接口,把PC个人电脑,拽进了电子游戏的世界。让“玩电脑游戏”成为了一种游戏方式。这事儿展开聊聊还挺有意思的。大家小时候有没有玩盗版游戏的经历?先是辛辛苦苦从3XM、游XSky上找到资源,然后冒着被老妈发现的危险,电脑挂一晚上把游戏下下来。好不容易下完了解压好,兴奋的打开游戏的exe文件,正准备抄起鼠标大杀四方,系统却弹出了这么一个窗口。。。对那时还没有被社会*打的世超来说,看到它之后,一秒钟前因为兴奋而怦怦跳的心脏直接骤停。。。。。。三秒钟后恢复心跳开始发疯似的满世界寻找这个拓展名.dll的文件。后来世超才知道,这个文件其实是DirectX的驱动文件,重新装一下DirectX最新驱动就行了。正版游戏在运行之前会有一个自检的环节,来确认电脑中是否有相关的驱动文件。而上传盗版游戏的黑客,并不会把这部分自检程序放到压缩包里。这样一来,用户在解压完游戏之后就会发生文件缺失的情况,需要自己去网上找到对应的文件把它补上。没有.dll文件,游戏就跑不起来。那个时候玩的单机游戏,从CS、红警、魔兽争霸3到GTA罪恶都市、骑马与砍杀、文明IV等等等等游戏,都是基于DirectX接口开发的。DirectX的存在,覆盖了整个电脑游戏发展史。那问题来了,为什么在电脑上的游戏离不开DirectX呢?要解答这个问题,我们得先了解一下图形API的发展历史。早期的软件开发没有统一标准,往往是一个新的硬件出来,程序员就得为它定制开发一套软件来用。这就造成了硬件与硬件,软件与软件之间并不互通。打个比方来说,你跑到金拱门问服务员点单,要一份双层天椒皇堡,外加一块吮指原味鸡打包带走。。。服务员可能会把你当傻子看,他们的炸炉根本就做不出原味鸡,想要吃到这些东西,只能去不同的店买。那时候程序员们开发游戏也是如此,为了让游戏能在不同的硬件上跑,就要一个个适配过来。比如《仙剑奇侠传》,想要在不同的平台上玩,就需要程序员适配三次。可以做,但没必要,还掉头发。。。基于此,在人类的原始生产力“懒”的驱使下,程序员们发明出了ApplicationProgrammingInterface(应用编程接口),简称API。它的出现统一了所有的开发规范,解决了不同硬件需要适配的问题,大大节省了开发的成本。要是用统一的API,就不需要重复开发了,直接适配。▼这玩意的出现就好像是外卖平台,啥汉堡炸鸡店都有,想吃啥直接动动手指下单就会送上门,不用亲自跑去买。不过那时候率先登场的API的并不是DirectX,而是大名鼎鼎的Glide和OpenGL,还没微软什么事。Glide的API标准是一家叫3dfx的显卡公司创立的,在英伟达崛起之前,3dfx的Voodoo系列显卡就是当初3D游戏的绝对标杆。不管是古早的《DOOM》、《古墓丽影》还是FPS始祖游戏《雷神之锤》,都体现出了API接口的巨大优势。原本分散的游戏开发者,都聚集到了统一的平台上来做游戏,人多力量大,无数的新技术和好游戏就源源不断的冒出来了。著名的“三角胸”劳拉。▼这3D画面,在当时算得上是跨时代的。而微软这边一开始其实并不看好游戏领域,根本不想在游戏方面投资。一方面Windows95系统做的也差不多了,随时准备发布,管理层觉得这时候再做一个游戏编程界面没有太大必要。另一方面从老的MS-DOS系统上转移到新的环境里开发,谁也不敢保证会怎么样。EricEngstrom看到了这上面的前景,自己偷偷拉了个三人的小团队,开发起了DirectX,顶着微软管理层的压力,把这个项目给做了下来。到了年4月,DirectX正式发布,并在后面逐步融合进了Windows95,为微软打入游戏市场,立下了汗马功劳。有意思的是,在EricEngstrom开发DirectX的过程中,不仅要面对技术上的难题,还要面临微软的上层百般阻挠,面对企业内斗。这个过程还被写成了一本名为《RenegadesoftheEmpire》(《帝国叛逆者》)的书,记述下了那段时间微软内忧外患的处境。内有管理层矛盾,外面临反垄断调查。▼一群程序员腹黑起来玩“宫斗”,也是挺可怕的。。。不过至少结果是好的,DirectX在经过了几个版本的更新之后,已经稳坐了游戏图形API的头把交椅。半条命2在DirectX6.0上的表现已经相当好了。▼而Glide和OpenGL却被命运开了玩笑,相继翻车,给DirectX占领市场提供了很大机会。Glide翻车是因为3dfx的没落,支持Glide的游戏及设备越来越少,它不及Windows系统有这么多的开发者,又不开源,没多久就顶不住了。OpenGL倒是开源的,不过因为内部意见不统一,它逐渐转向了专业图形领域的方向,渐渐弱化了游戏方面的更新。在更新到了DirectX9.0之后,微软在图形API的领域,基本坐稳了龙头老大的位置。顺带一提,微软的XBOX主机用到的也是DirectX,这样一来,就形成了一个闭环,但凡厂商想要在主机平台和PC平台上开发游戏,就绕不过DirectX。随之而来的就是N卡和A卡长达10年的显卡大战,由于两边都要用到DirectX来优化,微软的更新就成了制衡N、A两家发展的砝码。微软不愧是做“操作系统”的公司。不过这两年,OpenGL的母公司Khronos推出了自家的新图形APIVulkan,意欲动摇DirectX的传统优势地位。Vulkan作为一个搅局者,他的强势之处在于跨平台的兼容性,它能在Windows、Linux、Android三个平台上开发,连接了电脑和手机端。在底层硬件的兼容方面,Vulkan会更好一些,游戏开发者能更彻底的榨干显卡的性能。未来的竞争或许会更势均力敌一些。。。世超是觉得,我们在电脑游戏里“突突突”玩爽的时候,也别忘了背后有成千上万个像EricEngstrom一样的程序员,在默默努力。对于世超来说,对于电子游戏的启蒙记忆就是在电脑上的。因为某些原因,我们小时候没办法接触到游戏主机,要是没有电脑上的游戏,世超的童年或许就错失了一个精彩的世界。尽管很多都是盗版。。。所有PC游戏的开发人员,都值得感谢。预览时标签不可点收录于话题#个上一篇下一篇