Linux下的游戏现状分析

本文由 极客范 - 陈舸 翻译自 Chris Hoffman。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

虽然桌面版Linux是一个充满诱惑力的平台,但有一点“硬伤”却让很多人没有选择投入Linux的怀抱——那就是PC Gaming。不管你喜欢与否,Windows平台才是PC Game的事实标准。你没法指望Linux能对你最爱的游戏提供支持,但是你也可能会感到惊讶:有一些Windows上的游戏可以通过Wine这个兼容层来在Linux上运行。

tuxgame-300x300

尽管游戏支持可以算作是桌面版Linux的一大短板,但这种情况似乎正在改变。随着Valve公司正把流行的游戏平台Steam移植到Linux之上,以及对Windows 8的强烈批判,我们有理由预计游戏产业在Linux平台上会有一个更加光明的未来。

Linux下的原生游戏

市面上的大多数游戏都是为Windows系统而编写的。如果你将一张星际争霸2的光盘塞入你的Linux电脑,哦,那不会如你所愿的——这游戏得Windows才能玩。游戏开发者需要更多的支持Linux系统。

不幸的是,只有极少数人这么做了。有一个组织一直以来都在支持Linux平台上的游戏,这就是著名的Humble Indie Bundle。他们坚持所有出品的游戏都应该包含Linux版的。如果你已经购买过一些Humble出品的游戏合集,那你很可能已经有不少可以在Linux上运行的游戏了。如果你没有买过任何游戏合集,那么仍然可以单独购买其中的某些游戏——Ubuntu软件中心可作为购买的渠道。如果你已经购买过游戏合集,也可以在Ubuntu软件中心中激活游戏,然后下载并安装。这些合集游戏包括Bastion、Limbo、World of Goo、Braid、Psychonauts、Machinarium、Trine、Super Meat Boy等等。

Aquaria-Demo_1

基于浏览器的网页游戏在Linux上运行的相当好。愤怒的小鸟、Cut the Rope以及所有其他来自于Chrome 网上商店中的酷游戏都可以在Linux上运行,这和Windows还有Mac没什么差别。所有的Flash游戏比如像Kongregate上的那些也都能在Linux上玩到。

angry-birds-chrome-on-linux

说到Linux这个开源软件的集散地,当然也会有不少开源的免费游戏可以玩到,你可以通过Ubuntu软件中心(或者你的Linux发行版的软件源)来安装它们。但是请不要指望能找到一款游戏能够与当今最新最棒的Windows商业游戏相媲美,不过还是有一些优秀的开源游戏值得一试。如果你想玩玩传统的多人FPS游戏,不妨试试Nexuiz(现在称为“Classic Nexuiz”)或者Nexuiz的衍生品Xonotic。如果想玩一些节奏较慢的,更专注于策略类的游戏,那么Battle for Wesnoth是个不错的选择,这是一个回合制的幻想类战略游戏。还有一些Linux上的休闲小游戏也不错,下面这些网站也能帮你找到一些Linux上的游戏。

nexuiz-on-ubuntu

哦,忘了说,有许多主机模拟器(console emulators)也可以在Linux上运行,这样你就可以在Linux上玩一些主机游戏了,只要你有游戏ROM就行了。通过DOSBox,你还可以在Linux上玩一些老的经典DOS游戏。下图这个游戏还有人记得吗?

mdk

Linux上的A+++级大作以及Steam平台

如今,那些热门的主流A+++级游戏在Linux上的支持变得愈发少了。早前著名的id software公司推出过Doom3、Quake4以及Enemy Territory:Quake Wars的Linux版,但是现在id已经不打算继续在Linux上推出Rage以及今后开发的游戏了。Epic Games曾在Linux上推出过虚幻竞技场以及虚幻竞技场2004,但是像战争机器(Gears of War)这样的大作却从未登陆过Linux。虽然Epic Games曾经承诺过虚幻竞技场3会包含对Linux的支持,可是当年承诺的“很快就会支持Linux”一拖就是好几年,直到最后宣布UT3将不支持Linux。

这种现状似乎将得到改善。随着Windows 8以及系统自带的软件应用商店的推出,有可能某一天微软会封闭Windows平台,不再允许其他第三方的软件商店如Valve公司大红大紫的Steam平台继续存活于Windows。Valve公司已经把Steam以及该公司旗下的一些热门游戏移植到了Linux上。Linux上的Steam平台一经推出,玩家们就可以在Linux上玩到像Left 4 Dead 2以及Team Fortress 2这样的大作了。如果你购买了可以运行在Linux上的游戏,那么安装起来会非常简单。也许有一天Valve公司会以Linux为基础开发他们自己的主机平台——Steam Box,这就会导致有更多的游戏开始支持Linux。

steam-on-linux-with-wine

这场Linux游戏风暴的另一个信号是EA公司开始发布Linux游戏了。EA在Ubuntu软件中心中添加了两个游戏,命令与征服:泰伯利亚联盟以及创世纪之王(Lord of Ultima)。不幸的是这些游戏只是网页游戏。但是至少EA开始注意到Linux上的游戏需求了,那么未来就有可能推出Linux上的原生游戏。

显卡驱动

要在Linux上玩游戏,很重要的一点是显卡支持。大多数Linux发行版默认采用的是开源的显卡驱动程序。但是AMD(前ATI)和NVIDIA同时也为Linux提供闭源的显卡驱动。

这些私有的显卡驱动比起开源驱动来说能提供优秀的多的3D性能。历史上NVIDIA的闭源3D驱动比AMD在稳定性和性能表现上都要优秀。在Linux上要榨干显卡的3D性能,你得用NVIDIA的显卡。

板载的Intel集成显卡也能工作在Linux上,甚至Intel自己也在帮助开发他们的开源驱动。可是就像在Windows上一样,Intel的显卡性能和NVIDIA或者AMD相比还差得远,尽管Intel的显卡一直在进步。

玩Windows游戏

大多数你想玩的游戏很可能都不能原生支持Linux。但是,也许你还是可以通过Wine来进行游戏。Wine是一个开源的Windows兼容层,它尝试在Linux上实现Windows API。换句话说,它能让你在Linux上运行Windows应用程序。但是,它并不是完美的,因此别指望任何游戏都能用Wine来玩。

要安装你最爱的Windows游戏(以及其它Windows支持的软件),你需要用到PlayOnLinux。PlayOnLinux有着方便易用的图形界面,能够自动下载、安装并调整所支持的Windows游戏,这样它们就能在Wine下正常运行。如果某个游戏是PlayOnLinux所支持的,而且你有一块足够牛的显卡,那么安装并开始享受游戏应该是非常容易做到的。

playonlinux-games-install-menu

要看看你最爱的游戏以及其它一些Windows应用程序是否能运行于Linux之上,请搜索Wine AppDB。一般来说,你会发现那些老的热门游戏会工作的非常好——比如,魔兽世界就支持的非常好。比较新的游戏比如激战2(Guild Wars 2)可能会支持,但是会有一些突出的bug,需要做大量的摸索。如果那些最新的游戏一出来你就想玩到,那么Linux不适合你,至少现在不适合。这也是为什么很多游戏玩家会装双系统,Windows就是用来玩游戏的。

你在Linux上有什么玩游戏的经验吗?Wine能支持你最爱的游戏吗?你想推荐一些Linux上的酷游戏吗?请在评论栏中为大家分享吧。

 

 

 



原文链接: Chris Hoffman 翻译: 极客范 - 陈舸

译文链接: http://www.geekfan.net/1373/

[ 转载请保留原文出处、译者和译文链接。]

陈舸
通信人,从事网络设备开发。技术方向:Linux/VxWorks、网络协议、C/C++,尤爱Python。热爱互联网,移动应用,开源软件。译有《算法精解:C语言描述》,《Linux/UNIX系统编程手册》(下册)新浪微博:@bigsh1p

3 评论

  1. mozartgho  /  2013 年 5 月 30 日, 下午 10:29 回复

    Hidden due to low comment rating. Click here to see.

    Poorly-rated. Like or Dislike: Thumb up 1 Thumb down 6

  2. Linux的flash就是一坨  /  2014 年 1 月 16 日, 下午 12:45 回复

    放个视频都黑屏,还玩游戏?

    Thumb up 1 Thumb down 3

  3. Tracy.Redfield  /  2014 年 1 月 16 日, 下午 11:08 回复

    Linux原生的游戏肯定没问题,不过没人用,开发商不干而已。为神马安卓就那么多应用?Warzone2010这个游戏就有Linux原生的,没有一个OS专门是游戏开发的,如果有的话,我想是BIOS。Linux 的SDK不统一?OS大多是是X-Window不同而已,Linux从来就不是OS,只是个内核!把UI集成到内核?别傻了。

    Thumb up 2 Thumb down 0

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">