找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 405274|回复: 0

他是最牛游戏程序员,曾靠《雷神之锤3》的算法封神

[复制链接]

该用户从未签到

发表于 2021-1-25 08:43:31 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×

                               
登录/注册后可看大图

约翰·卡马克埃隆·马斯克曾经说过,游戏行业汇聚了很多计算机天才,而在这些天才中,约翰·卡马克二世无疑是最耀眼的之一。
卡马克出生于美国一个普通家庭,他从小就对计算机很感兴趣,开始自学编程,但他对上学这码事不感冒,在进入密苏里大学堪萨斯分校仅2个学期后就退学了。
接下来,他去了磁片公司(Softdisk)打工,这是一家专门做磁盘杂志的公司。当时,卡马克和同事从《超级马里奥》吸取灵感,共同开发了一款滚动卷轴类游戏——《指挥官基恩》。

                               
登录/注册后可看大图

游戏当时的反响还不错,于是卡马克想“为什么我不能自己干呢”,于是他和同事成立了游戏公司——id Software。
在id Software,卡马克将自己的编程天才发挥到淋漓尽致,比如1992年的《德军总部3D》,是历史上首款第一人称射击游戏。可以这样说,卡马克就是第一人称射击游戏之父,他开启了一个全新的游戏时代。

                               
登录/注册后可看大图

卡马克喜欢在电脑图像领域尝试全新的技术,比如他在《毁灭战士》上第一次使用二叉树分割技术,在《雷神之锤》上使用表面缓存技术。卡马克开发的游戏引擎被广泛用于其他大型游戏,比如《半条命》、《使命召唤》和《荣誉勋章》。
但真正让卡马克封神的是“平方根倒数速算法”。
在上世纪90年代,3D游戏还在起步阶段,渲染3D图形能力受到硬件的限制,因此程序员不得不想办法另辟蹊径。

                               
登录/注册后可看大图

1999年,当卡马克在开发《雷神之锤III竞技场》时,需要计算照明和投影的波动角度与反射效果,不得不使用“浮点运算求平方根倒数”,但这样做的成本极高,因为在快节奏、对图形要求高的《雷神之锤III竞技场》中,计算机每秒要进行数百万次运算。
于是卡马克想到了一种快速算法,他选择了一个16进制数字0x5f3759df,然后用牛顿法反复迭代,以求出更精确的近似值。这样做比传统算法快4倍,减少了巨大的运算耗费。
卡马克的神来之笔令整个游戏行业为之震惊,下图就是《雷神之锤III竞技场》的这段魔法代码:

                               
登录/注册后可看大图

2013年,卡马克离开了id Software,他前往Oculus VR担任首席技术官,在2019年改为担任咨询首席技术官。
卡马克是游戏行业的传奇和开拓者之一,正是因为他和团队的付出,玩家今天才能体验更好的游戏。

                               
登录/注册后可看大图
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-23 06:48

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表