计算机内部的战斗
你说什么,“谁在计算机内部?” 弗朗索瓦,计算机内部没有人。 啊,我明白了。 我想你误解了本月焦点“内核内部”的概念。 为什么,除了漂浮在 Linux 内核中的比特和字节之外,还有其他任何东西的想法纯粹是科幻小说,我的朋友。 你在说什么? 不,当然不是。 计算机内部不是一个真实的地方,至少在这个世界里不是。 然而...
什么? 对不起,我的朋友。 我只是想起多年前的一部电影,电影里真的有一个计算机“内部”,程序为了他们的用户与 MCP,即主控制程序作斗争。 弗朗索瓦,你在看什么?
啊,我的朋友们。 欢迎来到 Chez Marcel,这里有美味的 Linux 食物和上好的葡萄酒。 请坐,我让弗朗索瓦去取酒。 今晚我们还有一些令人难以置信的法式加拿大 肉馅饼。 弗朗索瓦,去酒窖取酒。 1997 年纳帕谷赤霞珠葡萄酒味道非常好。
很高兴见到你们,我的朋友们。 弗朗索瓦有一个奇怪的想法,认为内核内部意味着他的 Linux 系统内部正在发生一些涉及 真实 人物的事情。 这让我想起了 1982 年的迪士尼电影 Tron。 在计算机内部,程序参与角斗士般的战斗,为他们的用户而战。 这个虚拟世界中最致命的运动之一是光 cycles 赛车。 参赛者骑着一种摩托车,在身后留下一道光墙。 cycles 本身无法停止。 你唯一能做的就是骑行,避开对手的光墙,同时试图让他们撞到你的光墙上。 最后一个站着的程序获胜。
弗朗索瓦,你回来了。 请为我们的客人倒酒,然后回到厨房拿 肉馅饼。 正如我所说的,我的朋友们,尽管 Tron 在今天的世界中显得过时,但光 cycles 战役是各种街机游戏的灵感来源,这些游戏基于一个简单的概念,即必须不惜一切代价避开不断增长的光迹。 这种灵感一直延续至今,并在几个开源项目中得到体现。
让我们从您系统上可能已经安装的光 cycles 游戏开始。 作为 KDE 游戏包的一部分,您会找到 Matthias Kiefer 的 KTron,这是一款简单但功能强大的光 cycles 游戏。 您可以在 K 菜单下的街机游戏中找到它,命令名称是 ktron。 当游戏开始时,您会在屏幕中心附近看到两个方块,一个红色和一个蓝色。 要玩游戏,请按向左或向右光标,比赛立即开始(图 1)。

图 1. KTron:KDE 自己的光 cycles 游戏
为了更改游戏玩法,请单击菜单栏上的“设置”,您可以使用多种修改选项。 例如,如果游戏速度对您来说有点快,请调低速度。 或者,如果您在光 cycles 的车轮上睡着了,请加快速度。 您还可以更改 cycles 光迹的大小或修改默认颜色。
这个小游戏实际上非常有趣,特别是如果您更改竞技场的大小,但要真正感受光 cycles 战斗的感觉,您必须进入三维世界。 这就是,我的朋友们,您进入计算机的方式。 您将需要 3-D 加速显卡和 OpenGL 或 Mesa 3-D 视频库。
就显卡本身而言,许多显卡在 Linux 下都得到了极好的支持。 不幸的是,即使显卡受到支持,显卡的制造商也可能不会授权加速驱动程序包含在 Linux 发行版本身中。 这并不意味着它们不可用,但您可能必须访问供应商的网站并下载它们。 对于某些显卡,XFree86 直接支持完整的 3-D 加速。 那么,您如何判断自己是否已准备就绪? 测试是否存在 3-D 支持的一种快速方法是使用以下命令
glxinfo | grep rendering
系统应回复此信息
direct rendering: Yes您可以执行的另一个有趣的小测试是运行一个名为 gears 的程序(Mesa-demos 软件包的一部分)。 要执行此操作,只需在 shell 提示符下键入命令 gears。 您的辛勤工作将得到回报,屏幕上会显示三个旋转的齿轮(图 2)。

图 2. 来自 Mesa 的 3-D 齿轮演示
不要被旋转的齿轮分心。 再喝一口酒,然后回头看看您的终端窗口。 您将看到一些关于您的 3-D 硬件性能的统计信息
1778 frames in 5.001 seconds = 355.529 FPS
该结果来自我的测试系统,该系统配备了 NVIDIA GeForce2 显卡。 这实际上是一个相当令人印象深刻的硬件性能。 相比之下,我的小型笔记本电脑由于完全缺乏加速硬件,因此产生了以下结果
312 frames in 5.004 seconds = 62.350 FPS没有显卡加速功能不会阻止程序运行; 它只会运行得非常非常慢。 现在我们已经解决了这个问题,我的朋友们,让我们回到 Manuel Moos 的 Armagetron (armagetron.sourceforge.net) 的三维光 cycles 世界。 正如 Manuel 的主页所建议的那样,将 Armageddon 想象成一个带有“tr”而不是双“d”的词。 预编译的二进制文件很容易找到,当然,源代码也在那里。
我第一次尝试这款游戏时,立刻撞到了墙上。 这是我前三次左右的经历,直到我意识到也许我需要配置用于转向的按键。 导航菜单到“玩家设置”(无论您碰巧是哪个玩家编号),然后更改“输入配置”。 光标向下移动到“左转”并按 Enter 键。 系统会要求您按下您希望用于左转的键。 我知道这听起来很疯狂,但我选择了向左光标键。 对右转以及您可能希望在战斗中使用的任何其他东西重复此过程,例如即时聊天短语,以便您可以使用一个按键嘲讽其他玩家。 退出该菜单,然后退出之前的菜单,直到您返回主菜单。

图 3. 由 Armagetron 提供的 3-D 光 cycles 赛车
现在,从“游戏”菜单中,选择“开始游戏”。 Armagetron 是一款很棒的光 cycles 游戏,它配备了一个无处不在的顶置摄像头,可以跟踪您的动作,并在那些即时、90 度转弯时提供一些令人眼花缭乱的视角变化(图 3)。 Armagetron 也可进行网络游戏,最多可连接 16 台计算机,每台计算机运行四名玩家。
Armagetron 非常容易让人上瘾,因此,它带有一个绝对必不可少的功能:老板键。 换句话说,如果您碰巧正在网络上玩 Armagetron 游戏,而老板来了,请按 Shift-Esc,游戏将立即结束并消失。
Armagetron 很棒,但对于接近照片般真实感的游戏,我们有 Andreas Umbach 的 GLTron。 正如您可能期望的那样,我的朋友们,这种真实感是以硬件和性能为代价的,但如果您有机器,您将不会失望。 您应该可以轻松找到预编译的二进制文件(RPM 可在 rpmfind.net 上找到),但源代码始终可用。 您可以在 www.gltron.org 上获取它。
GLTron 节奏快(假设有合适的 3-D 硬件),图形效果令人印象深刻,并且游戏模式肯定会提高您的心率。
GLTron 有三个主要配置菜单(游戏、视频和音频),其中一些菜单可以极大地改变游戏体验。 例如,您可以全屏模式以及窗口模式运行 GLTron。 软件包中还包含艺术包,因此您可以更改外观和感觉。 我最喜欢的仍然是默认包(图 4),但我有点喜欢 Metaltron 艺术包。

图 4. GLTron——太好了,您会感觉自己身处计算机之中
我最喜欢 GLTron 的地方是能够使用鼠标平移以创建几乎任何相机视角。 按空格键暂停游戏,然后倾斜或旋转您的视点。 如果您真的想在这个 3-D 世界中磨练您的技能,请尝试相对于竞技场更改您的视点并重新开始比赛。 从侧面控制您的光 cycles 与从上方或后方控制完全不同。 尝试按 F10 键更改相机角度和跟踪。 我发现后置摄像头视角特别有趣。 它会改变您的视角,让您感觉自己正在骑在光 cycles 本身中——非常令人兴奋。
默认情况下,一个小型的 2-D 地图漂浮在屏幕上方。 如果您觉得自己特别自大,请尝试关闭地图。
在许多方面,GLTron 是这里提到的三款游戏中打磨得最精细的一款,但它没有 Armagetron 的网络游戏功能。 另一方面,尽管 KTron 很简单,但您可以在任何系统上玩它——无需加速硬件。
所以,我的朋友们,正如您所看到的,您的所有工作站都安装了这三款游戏,并且都已完全联网。 在进入竞技场之前,也许您想再来一杯葡萄酒? 或者来一杯意式浓缩咖啡? 弗朗索瓦很乐意为您提供任何一种。
我的天啊,时间过得真快吗? 由于我无法连接到您的系统并为您倒一杯葡萄酒,我必须在这里处理它,然后弗朗索瓦和我才能在晚上关门餐厅。 弗朗索瓦,您能否好心地为我们的客人最后一次倒满酒杯? 直到下次,我的朋友们,让我们共同祝愿彼此健康。 为您的健康干杯! 祝您好胃口!
