本月10日,赛博朋克2077解禁,世超身边的小伙伴们一一数数,纷纷一头扎进了夜城,上夜班。本来世超也想抽点时间玩玩,但是显卡版本太旧了,游戏还能玩,画质实在是难看。换个新显卡,现在RTX的价格已经被那群矿难孤儿给炒上天了,别提多麻烦了。唉,幸福属于别人,小丑却是自己。同样在这个月,一位名叫EricEngstrom的微软老板去世了。这位老人虽然没有比尔盖茨那么有名,但是没有他,我们夜城夜夜歌唱或许就没那么容易了。即使是Windows计算机也可能只是一种主要的生产力工具,例如AppleMac。EricEngstrom创建的DirectX界面将PC个人电脑带入了视频游戏世界。让“玩电脑游戏”成为一种游戏。谈这个很有意思。你小时候有过玩盗版游戏的经历吗?先是你辛辛苦苦从3XM和YouXSky找资源,然后冒着被你妈发现的危险,连夜电脑挂了,下载了游戏。好不容易下载解压后,兴冲冲地打开了游戏的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。在微软管理层的压力下,他完成了这个项目。1995年4月,DirectX正式发布,后来逐渐融入Windows95,为微软进军游戏市场立下汗马功劳。有趣的是,埃里克·恩斯特罗姆在开发DirectX的过程中,不仅要面对技术上的困难,还要面对微软高层的种种阻挠,还要面对企业内部的内斗。这个过程也被写进了一本书,名叫《 Renegades of the Empire 》(《帝国叛逆者》),描述了那段时间微软内忧外患的情况。里面有管理矛盾,外面有反垄断调查。▼一群腹黑玩“宫斗”的程序员,挺吓人的。..但至少结果是好的。经过几个版本的更新,DirectX已经稳坐游戏图形API的头把交椅。《半条命2》在DirectX6.0上表现相当出色。▼然而,Glide和OpenGL被命运玩弄,相继翻车,为DirectX占领市场提供了绝佳机会。Glide翻身是因为3dfx没落。支持Glide的游戏和设备越来越少。它没有Windows系统那么多开发者,也不是开源的。久了就受不了了。OpenGL是开源的,但因为内部分歧,逐渐转向专业绘图方向,逐渐弱化游戏的更新。更新到DirectX9.0后,微软基本坐稳了在图形API领域的领先地位。顺便说一句,微软的XBOX主机也是用的DirectX,这样就形成了一个闭环。每当厂商要在主机平台和PC平台开发游戏时,都绕不开DirectX。随之而来的是一场长达10年的N卡与A卡的显卡大战。由于双方都需要使用DirectX进行优化,所以微软的更新就成了制衡N卡和A卡发展的砝码。微软不愧是一家“操作系统”公司。不过近两年Nvidia崛起了,老黄推出了自己的图形APIVulkan,意在撼动DirectX的传统霸主地位。剧透一下,Vulkan的强项在于跨平台兼容性。可在Windows、Linux、Android三个平台开发,连接电脑和手机。在底层硬件的兼容性上,Vulkan会更好,游戏开发者可以更彻底地榨取显卡的性能。未来的竞争可能会更加势均力敌。..世超认为,当我们在玩电脑游戏的时候,不应该忘记,在我们身后有成千上万像埃里克·恩斯特罗姆这样的程序员在默默地工作。对于世超来说,电子游戏的启蒙记忆就在电脑上。出于某种原因,我们小时候没有机会接触游戏机。如果电脑上没有游戏,世超可能就错过了童年的美好世界。虽然很多都是盗版的。..感谢所有PC游戏的开发者。
