网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络渗透测试

游戏黑客之道

John Carmack 说过,“在信息时代,客观障碍已不复存在,所谓障碍都是主观上的。如果你想动手开发什么全新的技术,你不需要几百万美元的资金,你只需要在冰箱里放满比萨和可乐,再有一台便宜的计算机,和为之献身的决心。”他做游戏时是这样,他玩火箭时是这样,他开发虚拟现实技术时想必更是如此。“我们在地板上睡过,我们从河水中趟过。”

游戏,黑客

Carmack 不是 Steven Levy 那部书中的黑客,他是读着 Levy 在1984年出版的这本《黑客:计算机革命的英雄们》而成长为一名英雄的。他是游戏黑客,是火箭黑客……更为重要的是,他早已是所有技术人的象征。

用 Levy 在书中所总结的黑客伦理来理解 Carmack 的故事是非常自然的。并且在1996年,黑客大师 Eric S. Raymond 为黑客圈写下了一份更为系统的入门文档。这里不妨就用这份一直在保持更新的黑客文档——《如何成为一名黑客》 作为参考,进一步来理解 Carmack 的故事以及黑客文化。

首先是态度。

⒈The world is full of fascinating problems waiting to be solved.

作为一名黑客,你可以从解决问题、磨练技能以及锻炼智力的愉悦中获得动力。(你还必须对自己的学习能力树立信心——这种信念使你相信,尽管你所掌握的知识可能不足以解决你当前的问题,可一旦你从问题的一小部分入手并从中学习,你将会学到足够的知识用来解决下一部分——如此往复,直到整个问题都会被你解决。)

Carmack 解决问题的办法正是如此,“先尝试最直接的办法,如果不行,再拓宽思路。”在开发透视三维图像的技术时,他最终独辟蹊径地使用了所谓的“射线追踪”算法(raycasting)。这种解决问题的信念在他开发 Quake 游戏引擎,面对计算机图形学界的泰斗迈克尔·亚伯拉什(Michael Abrash)时无疑更为显著,亚伯拉什被打动的这一节是这样描述的:

和其他图形领域的程序员一样,他(指亚伯拉什)也经常在理论上描述虚拟世界,当他读到《雪崩》里的“变体”时,他想,我已经可以实现这里面的80%,至少在理论上。而现在,一个年仅二十四岁,但却充满信心的年轻人就坐在他面前,谈论着使它变为现实,亚伯拉什毫不怀疑他有这个能力。随后,亚伯拉什聊起说他在做完一个项目后总会怀疑自己是否还能百尺竿头更进一步,听到这话,Carmack 皱了皱眉:“我从没怀疑过,嗯。”

⒉No problem should ever have to be solved twice.

作为修改游戏的两个老手,Carmack 和 Romero 对于玩家们乐于修改和替换《德军总部 3D》的游戏数据再高兴不过了。事实上,开放的、自由的、充满乐趣的游戏修改有助于开发者和玩家社区相互促进,形成良性的互动。从《毁灭战士》开始,Carmack 一直积极为玩家们做“正确的事情”,让游戏便于玩家修改。

为此,Carmack 专门公布了《毁灭战士》的关卡编辑器和其他辅助工具的源代码。然后,新西兰坎特伯雷大学的 Brendon Wyber 则如同疱丁解牛般从源代码中分离出各种功能,全球各地玩家的帮助下制作出了《毁灭战士》编辑工具——DEU: Doom Editor Utility,向玩家展示了如何从无到有地建造出一个关卡。10天后,比利时学生 Raphael Quinet 协助 Brendon 制作的 DEU 增强版发布——“你几乎可以在关卡里做任何事,你可以移动、添加、删除各种怪物和宝物,改变墙的位置,或是改变它的墙纸,或是安置新的升降机、门、酸液池,你还可以调整天花板的高度……甚至,建造一个全新的关卡。”而密歇根大学的学生 Greg Lewis 则更进一步,他编写的 DeHackEd 软件所能修改的不只是包含图像、声音、关卡的外部 WAD 文件,而是游戏的核心——可执行文件,这里面包含了游戏的运行逻辑,譬如怪物们如何行动、武器如何开火、文字如何显示。

而这种编辑器后来演变成了其他公司游戏的标配,比如暴雪的《魔兽争霸》与《星际争霸》,并且大名鼎鼎的《反恐精英》就是《半条命》的一个修改包,而风靡世界的《DotA》则只是《魔兽争霸3》的一张自定义地图。“不必重复发明轮子”的效果可见一斑。

⒊Boredom and drudgery are evil.

(责任编辑:admin)