热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

从Linux游戏的现状谈艺术的开源

从Linux游戏的现状谈艺术的开源--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
现在Linux系统虽然还远不足以撼动Windows的王者地位,但无疑是有力的挑战者。而许多Linux的用户都会发现一个很奇怪的问题:Linux下以小游戏居多,大游戏很罕见,而制作精良的大游戏几乎难觅踪迹。这到底是为什么呢?

一窥现状
Linux下有着非常丰富的小游戏资源,而且无论KDE还是GNOME桌面系统都集成有一组相当不错的游戏,从俄罗斯方块、打陨石到黑白棋、纸牌,可以说是应有尽有(我当初就是为了KDE自带的打陨石(kasteroids)才开始使用Linux的。这些游戏的画面精美,音效也不错,其中一些还配有动听的音乐,质量可算上乘。可一旦说起大游戏,和膀大腰圆的Windows相比,Linux就不免显得囊中羞涩了。

何为大游戏?我指的主要是大制作,不仅仅是指《最终幻想》这类众所周知的经典大作,也包括像《超级马里奥》这样的经典ACT小游戏,因为这类游戏玩法虽然简单,但当时的开发成本并不低。从这个定义出发的话,不少Linux的忠实拥趸都会有不同意见:Linux明明有很多这类游戏啊,而且像《Quake》、《CS》这样的游戏也越来越多了啊,怎么说没有呢??

我们来首先看看《SuperMario(超级马里奥)》的Linux替代品《SuperTux(超级企鹅)》,虽然从名字上来说是很接近,玩法甚至是画面都如出一辙,玩过的人还是不得不承认,《SuperTux》和上个世纪80年代的《SuperMario》相比还是有所不足,无论是在画面、音乐还是操作上。

SuperTux (ACT, Linux)





我们再来看看Linux下常见的FPS,我对FPS并不感冒,只是在装Sabayon的时候见识了几个系统自带的3D FPS,和我第一次玩到《半条命》的时候相比,感觉画面是跟上了,可是这个操作感……就是不舒服。而且这些游戏在我机器上就没有跑起来足够流畅的(我已经把能关的特效都关了),我机器配置是不高,集成的i855GM而已,但我相信在Windows下跑CS之类是绰绰有余,难道说OpenGL的配置要求就是要比DX高很多??

Sauerbraten (FPS, Linux)





最后来看看号称Linux下最精良的大作:《Wesnoth(韦诺之战)》。应该说这的确是Linux下我见过的制作最精良的游戏了,画面、音乐、情节、稳定性,都是上乘,而且得益于战役下载功能,游戏的可扩充性也相当好。这样的作品还提供了相当不错的国际化支持,包括中文,如果以Linux下的游戏而论,Wesnoth堪称“神作”了,许多人把它当作《Heroes of Might Magic(英雄无敌)》的替代品。可是实际上,与Heroes相比,Wesnoth的音乐略显单调,画面上Wesnoth虽然很精致,但却没有Heroes那种令人惊艳的感觉。而且Wesnoth虽然也是RPG和SLG的结合,但没有城市管理的概念,也不具备Heroes那么强的RPG概念,却更强调SLG,更强调作战单位的培养和部署。可以说这两个根本就不是一类游戏,如果一定要把它们归在一起,由于一些重要元素的缺乏(例如CG、对战画面),Wesnoth顶多能看作是英雄无敌的阉割版。也许有人会觉得把Wesnoth和英雄无敌这样的史诗级作品相比是不公平的,可不要忘记其中最经典的《英雄无敌3》不过是一款上个世纪的老作品而已。

Wesnoth (SLG, Linux)





《最终幻想》这样的作品在Linux上是没有的,恐怕短期内也不会有。像《文明》、《模拟城市》、《Quake》这类大作在Loki等公司的努力下在本世纪初已经得以登陆Linux平台了,然而却并没有引来太多的关注,因为它们既不是开源的,也不是免费的。而且更重要的是,它们移植到Linux上的大都是已经过时的版本。

Loki官方移植的《魔法门:英雄无敌3》 (SLG, Windows / Linux)




原因分析
Linux平台是否根本不适用于玩游戏?对于那些认为“Linux=服务器”的人,我需要重提一个事实:Linux仅仅是一个系统内核,这也是其具备非凡弹性的原因。如果你觉得Linux不适用于构筑游戏平台,那是因为没有人去开发所需的软件,这跟Linux核心无关。事实上,索尼PS3采用的就是Linux,我相信没有人会认为PS3更适合用来做服务器。

那是因为那些可恶的开发商看到Linux的用户较少,故意忽视我们的存在?让我们来看看苹果的Mac OSX,那里的用户和Linux是同一个数量级的,而且OSX上的自由软件要比Linux上要少得多。如果你用过OSX,就会发现游戏开发商对OSX的热情是难以置信的高涨,许多我们在Windows上常见的大作其实都有Mac版本,包括《魔兽世界》,而且和Windows版本一样的盗版盛行……

World of WarCraft (MMORPG, Windows / Mac OS X)




看来用户群并不是那么大的问题。Linux和Mac、Windows相比,有什么东西是那么特别以致于被游戏开发商一致忽略了呢?很简单,是Linux的开源精神。那么,答案就显而易见了,开发商无法(或者说很难)从Linux版本获利,因此干脆忽略这一平台的存在。为Linux平台开发游戏并不是平台移植那么简单,更重要的是开发商不愿意接受Linux平台的“开放”理念。

对于必源软件,在Linux下很容易遭到鄙视和模仿,这是在其他平台很难想象的情况。无论是开发商还是用户,大家都更愿意拥抱开源,甚至宁愿开发一个《freeciv》(《文明》的替代品)而不愿意玩官方发布的Linux版《文明》,这令游戏开发商十分苦恼。而且部分开源社区自行开发的游戏引擎也表现出了极好的素质,于是一些开发商干脆选择将自己的过时的游戏引擎开源的方式来取悦Linux开源社区,例如《Quake》。

FreeCiv (SIM, Linux)




但实际情况是,无论是仿制品、高水平的引擎还是官方开源的引擎,在Linux都没有达到大家期望的表现。看看《freeciv》、《lincity》(《模拟城市》的替代品),那种画面足以令人回忆起简陋的FC时代。至于那些自制引擎和官方引擎,尽管程序的质量很高,功能也很好很强大,但是却没有能看到利用这些引擎制作出的精彩大作——事实上你连一款用开源的Quake引擎开发的足以媲美Quake的游戏都找不到!问题到底出在哪里?

LinCity (SIM, Linux)




正如很多年前看到的一篇关于游戏制作知识的文章所指出的一样,对于游戏而言,程序员就像魔法师,按照导演的要求把各种素材组合到一起。也就是说,程序并不是游戏的全部。程序并不是游戏的外在表现,而是像粘合剂一样,把图画、模型、音乐、剧本融合到一起。对于玩家来说,游戏的体验主要是通过画面和音乐提供的,一味模仿其他游戏大作而难以提供同等水平的画面和音乐是Linux游戏的硬伤。

推而广之
对于一个专业的游戏开发公司而言,制作一个好游戏需要有大量的美工和音乐师,而不是大量的程序员。而对于Linux平台的游戏而言,缺乏的并不是程序员,而是美工和音乐师。或者换句话说,程序可以开源,但艺术能否开源呢?

莫扎特的作品能否开源?




首先让我们来看看开源软件。开源软件是免责的,因为实际上开发人员并不固定,也不需要一个固定的开发小组来维护(虽然这样的小组有助于延长软件的生命周期)。代码是开放的,任何人可以分发和修改,而与原作者是否愿意继续开发无关。凭一个好点子以及某个程序员的一时冲动,就有可能促成一个优秀开源软件的诞生。这个软件的原作者会被尊敬,但不会被认为是这个软件的所有者,因为开源软件通常都是许多程序员耗费了大量业余时间共同贡献的作品。也因此,由于可以得到许多人的审查和修改,优秀的开源软件通常会具备比闭源软件好得多的代码质量和性能。

那么,艺术作品,尤其是图标、CG等平面作品、3D模型及动画、音乐,是否具备开源的潜力呢?事实上,在KDE社区中就已经出现了不少开源的艺术作品,包括壁纸、主题、图标等等,都是以源文件的形式发布的。但是艺术作品能否像程序一样从开源中获益呢?恐怕非常有限。无论是图画还是音乐,通常都是个人作品,很少出现团队协作完成的图画或音乐。艺术创作需要同一作者持续的灵感和动力,很难凭借不断的修改而完成大作。例如,达芬奇和Clamp的绘画风格完全是风马牛不相及,难以想象两者的协同工作会产生什么样的作品。莫扎特和周杰伦也是如此。而且即使是原作者,一旦思路中断,作品就可能难以完成了。

断臂的维纳斯




但如果是对某些艺术作品而言,协作又是可能的。例如图标,只要原作者提供原文件以及原始思路,那么后继者是能够根据这些东西作出同一类型的作品的,例如KDE默认的水晶图标,Mac的iPhone图标,这些图标即使大多数出于同一人之手,后人也很容易制作类似的图标从而使得整套图标更为完善。这是因为图标设计和常规的平面设计不同,有一套设计规范和准则,这就使得其具备工业时代的量产能力。3D建模也可以由团队共同完成,但是角色划分要比软件开发团队更为严格和精确。至于音乐方面,多人协作就非常罕见了。目前也没有任何针对音乐创作的“创作共用”协议。

KDE的“水晶”系列图标




很显然,对于大多数的艺术创作来说,开源恐怕是难以进行而且没有必要的。开源有助于完成那些机械化或者工业化、需要多人协作的工作,而不是像艺术创作般自由、无规则的工作。另外,艺术创作所具备的构思阶段和实现阶段的高度同一性,也使得开源的理念难以有用武之地。你没法把一幅幼儿涂鸦修改成一幅伟大的作品,而往往开源软件的原作者却根本无法想象自己所发布的作品最后到底会变成什么样子。

综上所述
也就是说,画面和音乐开源的意义不大,艺术家在艺术创作的过程中所倾注的大量心血需要获得回报,个人认为这就是游戏大作很难免费或开源的原因。艺术难以开源从而导致艺术家和艺术作品的缺乏是Linux平台游戏质量普遍低下的直接原因。尽管有极少数艺术家把自己的作品进行了“开源”,但如前所述,对于大多数类型的作品来说,这种做法其实没有任何实际意义。因此,不要期待无私的艺术家会像自由的程序员一样越来越多,毕竟艺术品就是艺术品。《蒙娜丽莎》只有一幅,其他的赝品再好也是赝品。

我这么说并不是认为Linux上无法出现优秀的游戏大作,而是认为Linux上无法出现优秀的开源游戏大作,这是由开源和艺术的本质决定的。我认为:优秀的引擎+优秀的艺术家=伟大的艺术作品。对于大作而言,所需的无私的艺术投入太过巨大,以致于难以承受。你可以选择等待,但即使你只是想要玩到一个堪与十年前的《最终幻想》媲美的开源游戏,恐怕还需要再等十年,或者更久。

更可行的办法是,放弃完全开发开源游戏的想法,吸纳更多的艺术家,使用开源的游戏引擎,那么以现有的引擎水平而言,优秀的大作指日可待。不过,这样的游戏自然不可能免费,这对于那些艺术家来说不公平,因为他们无法从这样的创作中获得开源一般的益处——例如多人协作和收费服务,因此让我们赞美他们并为他们付钱吧。这会让他们更有动力来制作下一个游戏,也许会是《家园3》。

HomeWorld (RTS, Windows)




这里需要提到的一点是,盗版软件的泛滥对国产游戏的影响是毁灭性的,如果不是因为网游出现而使得国产游戏复苏的话。个人认为盗版游戏比盗版软件更可恨,强烈呼吁大家都能尽量购买正版游戏,几十块钱并不过分,哪怕仅仅是支持那些为我们所热爱的游戏提供了美丽画面和动听音乐的艺术家们。他们付出了太多,也许还将付出更多。

最后要说明的是,画面和音乐并不是游戏的全部,这点从NDS与PSP之争就可以看出来。在目前的状况下,Linux下的游戏开发也可以以提高可玩性为目标,从而提高游戏的素质。这里推荐一个相当不错的游戏《heroes》。这是一个类似贪吃蛇的游戏,画面很漂亮但音乐略显单调,音效方面简直就是简陋了。但最令人印象深刻的是其创意,这款以多人游戏为主的贪吃蛇和以往常见的同类游戏不同,里面用各种各样的道具代替了传统的苹果,大大增加了游戏的可玩性。

Heroes (PUZ, Linux)




这类小的创意加上良好的画面足以让本来简单的小游戏变得很有意思,同样的情况有SFC上的《俄罗斯方块2》(爆炸式俄罗斯方块游戏的始祖)、QQ游戏中的《连连看》。更典型的非小游戏的例子是《超级马里奥》,这个最早1985年发行的简单游戏在FC上共发行了3个版本,其中的每一个和前一代相比,在画面和音乐上都没有太大的进步(FC机能所限),但不断的创新使得每一代作品都那么受欢迎。无论是在FC时代、SFC时代,还是后期的N64时代以及现在的Wii时代,《超级马里奥》系列都以无数迷人的创新延续着其蟑螂般顽强的生命力。相比之下,《超级企鹅》则几乎没有多少自己的东西。

Super Mario World (ACT, SFC)




针对游戏可玩性的创意的产生和实现成本都要比画画和作曲小得多,即便对于开源游戏来说,这也是完全负担得起的。这是Linux游戏的一条出路。当然,要改善Linux平台游戏素质不佳的状况,还要从根本上改变开源社区的人们对艺术开源的看法。
推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
author-avatar
莫念暧昧_zTq
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有