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

这个月 10 号 , 赛博朋克 2077 解禁 , 周围的小伙伴有一个算一个 , 全部一头扎进了夜之城 , 上起了夜班 。本来也想抽空玩来着 , 奈何显卡版本太老 , 游戏是能进 , 画质确实没法看 。换新显卡吧 , 现在 RTX 的价格又被那群矿难孤儿炒到了天上 , 别提有多闹心了 。
访问:
微软中国官方商城 - 首页

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

唉 , 快乐都是别人的 , 小丑竟是我自己 。也是在这个月 , 有位叫Eric Engstrom微软大佬去世了 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

这位老哥没有比尔盖茨这么大的名气 , 但要是没他 , 我们现在想要在夜之城夜夜笙歌 , 估计没那么容易 。
甚至说 Windows 电脑 , 可能还只是一台主要的生产力工具 , 就像苹果 Mac 一样 。Eric Engstrom 所创立的 DirectX 接口 , 把 PC 个人电脑 , 拽进了电子游戏的世界 。让 “ 玩电脑游戏 ” 成为了一种游戏方式 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

这事儿展开聊聊还挺有意思的 。
【Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层】大家小时候有没有玩盗版游戏的经历?先是辛辛苦苦从 3XM 、游 X Sky 上找到资源 , 然后冒着被老妈发现的危险 , 电脑挂一晚上把游戏下下来 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

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

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

那时还没有被社会毒打 , 看到它之后 , 一秒钟前因为兴奋而怦怦跳的心脏直接骤停……三秒钟后恢复心跳开始发疯似的满世界寻找这个拓展名 .dll 的文件 。后来才知道 , 这个文件其实是 DirectX 的驱动文件 , 重新装一下 DirectX 最新驱动就行了 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

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

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

而上传盗版游戏的黑客 , 并不会把这部分自检程序放到压缩包里 。这样一来 , 用户在解压完游戏之后就会发生文件缺失的情况 , 需要自己去网上找到对应的文件把它补上 。没有. dll 文件 , 游戏就跑不起来 。那个时候玩的单机游戏 , 从CS 、红警、魔兽争霸 3 到GTA 罪恶都市、骑马与砍杀、文明 IV 等等等等游戏 , 都是基于DirectX 接口开发的 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

DirectX 的存在 , 覆盖了整个电脑游戏发展史 。那问题来了 , 为什么在电脑上的游戏离不开 DirectX 呢?要解答这个问题 , 我们得先了解一下图形 API 的发展历史 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

早期的软件开发没有统一标准 , 往往是一个新的硬件出来 , 程序员就得为它定制开发一套软件来用 。
这就造成了硬件与硬件 , 软件与软件之间并不互通 。打个比方来说 , 你跑到金拱门问服务员点单 , 要一份双层天椒皇堡 , 外加一块吮指原味鸡打包带走 。。。
服务员可能会把你当傻子看 , 他们的炸炉根本就做不出原味鸡 , 想要吃到这些东西 , 只能去不同的店买 。那时候程序员们开发游戏也是如此 , 为了让游戏能在不同的硬件上跑 , 就要一个个适配过来 。比如《仙剑奇侠传》 , 想要在不同的平台上玩 , 就需要程序员适配三次 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

可以做 , 但没必要 , 还掉头发 。。。基于此 , 在人类的原始生产力 “ 懒 ” 的驱使下 , 程序员们发明出了 Application Programming Interface ( 应用编程接口 ) , 简称 API。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

它的出现统一了所有的开发规范 , 解决了不同硬件需要适配的问题 , 大大节省了开发的成本 。要是用统一的API , 就不需要重复开发了 , 直接适配 。▼

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

这玩意的出现就好像是外卖平台 , 啥汉堡炸鸡店都有 , 想吃啥直接动动手指下单就会送上门 , 不用亲自跑去买 。
不过那时候率先登场的 API 的并不是 DirectX  , 而是大名鼎鼎的 Glide 和 OpenGL  , 还没微软什么事 。Glide 的 API 标准是一家叫 3dfx 的显卡公司创立的 , 在英伟达崛起之前 ,  3dfx 的 Voodoo 系列显卡就是当初 3D 游戏的绝对标杆 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

不管是古早的《 DOOM 》、《古墓丽影》还是 FPS 始祖游戏《雷神之锤》 , 都体现出了 API 接口的巨大优势 。原本分散的游戏开发者 , 都聚集到了统一的平台上来做游戏 , 人多力量大 , 无数的新技术和好游戏就源源不断的冒出来了 。著名的 “ 三角胸 ” 劳拉 。▼

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

这 3D 画面 , 在当时算得上是跨时代的 。而微软这边一开始其实并不看好游戏领域 , 根本不想在游戏方面投资 。一方面 Windows 95 系统做的也差不多了 , 随时准备发布 , 管理层觉得这时候再做一个游戏编程界面没有太大必要 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

另一方面从老的 MS-DOS 系统上转移到新的环境里开发 , 谁也不敢保证会怎么样 。Eric Engstrom 看到了这上面的前景 , 自己偷偷拉了个三人的小团队 , 开发起了 DirectX  , 顶着微软管理层的压力 , 把这个项目给做了下来 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

到了 1995 年 4 月 ,  DirectX 正式发布 , 并在后面逐步融合进了 Windows 95  , 为微软打入游戏市场 , 立下了汗马功劳 。
有意思的是 , 在 Eric Engstrom 开发 DirectX 的过程中 , 不仅要面对技术上的难题 , 还要面临微软的上层百般阻挠 , 面对企业内斗 。这个过程还被写成了一本名为《 Renegades of the Empire 》(《帝国叛逆者》)的书 , 记述下了那段时间微软内忧外患的处境 。内有管理层矛盾 , 外面临反垄断调查 。▼

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

一群程序员腹黑起来玩 “ 宫斗 ”  , 也是挺可怕的 。。。
不过至少结果是好的 ,  DirectX 在经过了几个版本的更新之后 , 已经稳坐了游戏图形 API 的头把交椅 。
半条命 2 在 DirectX6.0 上的表现已经相当好了 。▼
而 Glide 和 OpenGL 却被命运开了玩笑 , 相继翻车 , 给 DirectX 占领市场提供了很大机会 。Glide 翻车是因为 3dfx 的没落 , 支持 Glide 的游戏及设备越来越少 , 它不及 Windows 系统有这么多的开发者 , 又不开源 , 没多久就顶不住了 。OpenGL 倒是开源的 , 不过因为内部意见不统一 , 它逐渐转向了专业图形领域的方向 , 渐渐弱化了游戏方面的更新 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

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

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

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

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

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

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

微软不愧是做 “ 操作系统 ” 的公司 。不过这两年 , 英伟达雄起 , 老黄推出了自家的图形 API Vulkan  , 意欲动摇 DirectX 的传统优势地位 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

Vulkan 作为一个搅局者 , 他的强势之处在于跨平台的兼容性 , 它能在 Windows、Linux、Android 三个平台上开发 , 连接了电脑和手机端 。在底层硬件的兼容方面 , Vulkan 会更好一些 , 游戏开发者能更彻底的榨干显卡的性能 。
未来的竞争或许会更势均力敌一些……我们在电脑游戏里 “ 突突突 ” 玩爽的时候 , 也别忘了背后有成千上万个像 Eric Engstrom 一样的程序员 , 在默默努力 。

Microsoft|为了把游戏接口做进Windows 这位大佬干翻了微软的管理层
文章图片

对于电子游戏的启蒙记忆就是在电脑上的 。因为某些原因 , 我们小时候没办法接触到游戏主机 , 要是没有电脑上的游戏 , 童年或许就错失了一个精彩的世界 。尽管很多都是盗版……
所有 PC 游戏的开发人员 , 都值得感谢 。

    推荐阅读