
简介在迟延了将近1年半以后,基于HL2引擎的CS ProfessionalMod(CS职业版)开发计划终于浮出水面,由Drax主导的这一项目计划在短期内在CS:Source之外独立开发一个更适于竞技的HalfLife 2 mod,保留大部分CS 1.6的设定和特性,以及所有经典的比赛地图,并且将加强游戏在竞技方面的功能和表现力。显然这是一个非常复杂的项目,而且一直没有得到Valve以及CPL的官方支持,但是Drax的出现(他是最近一系列修正了flash bug的CS 1.6地图的作者),以及CS Promod官方主页的正式推出,让人多少有了一点信心。在过去几期的杂志中,我们曾经详细讨论过CS:S竞技性方面的种种问题以及可行的修改方案,这次,CS Promod的制造小组让我们换了个思路:索性把CS:S抛开又如何?
何谓引擎和Mod?
所谓MOD,即是Modifications这个英文单词的简写,意为“改造,修改”。 我们这里讲的MOD就是将现有东西按照自己的想法进行改造,以使它变成符合个人审美特点的个性化产品,这就是MOD的初衷。
在我们曾经和即将进行的讨论中,引擎和Mod都是频繁出现的字眼。之前进行的CS:S竞技性讨论可能不需要涉及技术层面的问题,但今天我们要讨论的不是现有的某个游戏,而是一个可能要在未来出现的游戏,技术问题几乎不可避免。当然,笔者能力有限,所以以下的讨论都是最入门的内容。
游戏引擎是一个越来越频繁出现的字眼,严格意义上的游戏引擎定义是游戏引擎是视频游戏的核心处理组件。它主要处理图像填充及其他必要技术,有时兼处理对象的游戏AI、碰撞探测。游戏引擎主要提供图像的输出(2D或者3D)。同时游戏引擎负责平台提取,以便游戏能够在部分代码改动的情况下,实现跨平台运行(如、)。简单来说,游戏引擎,就像汽车引擎那样,收集、返回数据同时运行游戏。就像一台汽车的引擎系统,它可以根据你的操作进行相应的调整,加速、减速、转向、刹车……和你在游戏中按、或者对着mic说话是一个道理。用Quake做例子的话,游戏引擎的工作过程大概是这样的:“首先,玩家会按下空格键和鼠标左键(以默认设置为例)。这些输入信息由代码转换为游戏可识别信息——跳、开火。火箭筒将会开火,炮弹发射到地面。引擎的碰撞探测部分将会测算出炮弹接触到地面的时间及爆炸时离玩家模型的距离,由此计算出火箭筒炮弹应该返回的作用关系。Q3引擎的物理系统将会处理玩家跳跃,同时得到炮弹反作用力的效果。引擎的 图像分支负责将计算好的物理过程表现于屏幕上,就像玩家实际观看到的火箭跳动作。”(《Quake 3 Engine Tribute》,Andrew Flores )而Mod是什么呢?mod是Modifications的简称,这是修改、改造的意思。将现有的东西改造使它焕发新的光彩,这就是mod的初衷。如果还是用汽车做比喻的话,它就像你买了一辆汽车以后,自己动手去改造它,让自己的汽车看起来更有个性。而改造的过程中,你基本不会改动汽车的引擎部分(或者说,对这部分的改动很少),所以你可以把Mod想象成五颜六色的车身装饰和外壳,这样,游戏引擎就是汽车的发动机。象Quake这样的“发动机”,它的出产商甚至免费向大家提供SDK和引擎源代码(你可以把它想象为专门用于汽车改造的螺丝刀、特殊工具和图),所以出现大量千奇百怪的Mod就不奇怪了。
HL引擎和CS Mod
CS是基于HL引擎的Mod,最早也是玩家的DIY作品,只不过它成熟以后被Valve商业化了。HL引擎的性能大概介于Quake2与 Quake3之间,但是CS这个“外壳”是如此有魅力,所以它在很大程度上掩饰了HL引擎本身的不足,这是Quake3玩家普遍看不起CS的原因之一,就像今天CS:S玩家觉得CS 1.6过时一样。
HL2引擎与HL引擎之间的跨度非常大,复杂和先进程度都是前所未有的。就像F1赛车的引擎与家用小轿车的引擎之间的差异,显然前者的性能是后者无法企及的。在我们已经进行的讨论中,细心的玩家对Source引擎已经有了一定了解,即便今天它在主流玩家中还不受欢迎,但是Source引擎本身却是非常强悍的。
附带提一下《半条命》(以下简称HL)多人游戏运作的原理。当你玩HL的时候,你的变成一个客户端(Client)。客户端负责收集键盘和鼠标指令,并在屏幕上。玩家客户端都与相连。服务器监控所有客户端的状态,它发给客户端信息,告诉它每个人在哪里,在做什么。
客户端由两部分组成,引擎和客户端MOD。引擎处理和服务器的连接,在屏幕上绘图,并获取键盘和鼠标输入的信息。MOD部分处理和你玩的某个特定游戏相关的事情。每个游戏都有自己的MOD。如果你安装了要塞(这是一个大家不熟悉的HL Mod)和CS,那么就会有一个要塞的MOD,还有一个CS的MOD,但是只会有一个HL引擎。因为所有MOD都使用相同的引擎,就像你有无数车壳,但是只有一台发动机一样。
引擎和MOD互动使你机器上的CS顺利运行。大多数作弊软件的原理是他们把自己楔入引擎和MOD之间。引擎和作弊器“对话”,作弊器再把信息传递给MOD。同样,MOD和作弊器“对话”,作弊器再传给引擎。引擎和MOD仍然相关联,表面上看一切都好,其实两者实际上在通过作弊软件“交流”。这些作弊软件通常被叫做“客户端钩子”(clienthooks)
什么是CS职业版本
CS游戏本身当然是一个非常好的“外壳”,但它却安装在陈旧的发动机上,夸张地说,就像奔驰的车体安了一台富康的发动机,调配再好也不可能开得太快。由于引擎本身所限,所以CS已经不可能在CS 1.6的基础再前进一大步。这对于依靠新游戏推动销售的硬件厂商来说,简直是不可忍受的。就像零件生产商忍受不了消费者不去更换新车一样。
但现在的问题在于,新引擎固然先进,但是新的车壳一方面太花哨太前卫、另外一方面又很愚蠢,它对于喜欢飚车的人来说简直毫无用处。而继续用旧车进行飚车比赛,又会面临落伍的讥讽和赞助商的冷遇,怎么办?除了适应新车之外,现在看来,给新引擎装上更适合飚车的车体似乎是皆大欢喜的选择。
但就像飚车的永远不会是开车的主流一样,对于Valve来说,它需要更广泛的用户群体,如果大家都转向了竞技版本,那谁来玩CS:Source 呢?而对于CPL来说,职业版肯定意味着更少的硬件需求和更少的特效,谁来为CS ProMod比赛买单呢?所以目前CS玩家分为两个群体的局面多半不会因为职业版的出现而改变,这是商业利益所决定的。
在技术层面上,Valve至今拒绝提供CS 1.6的代码,这大大的增加了Pro Mod的开发者的劳动量。因为Pro Mod的核心想法就是把CS 1.6优化移植到HL2上来,但是Valve不会告诉你CS 1.6是怎么做出来的,所以Pro Mod小组能做的就是照猫画虎,既要征服Source引擎,也要回头征服CS 1.6。当然,Valve对待Mod开发者并不严酷,他们甚至给予开发者非常宽松和自由的环境。但如果开发者威胁到自己的商业利益就另当别论了。
从最开始,Valve就宣称CS:Source是一个基于Source引擎的全新FPS游戏,据说是为了减少CS开发者要把CS移植到Source的麻烦。只是CS:Source在竞技性和游戏性结合方面做得实在太糟糕,而且面对的又是CS玩家群体,所以问题才会接踵而至。
关于目前CS:S和CS 1.6并存甚至相互竞争的情况,在过去几期的文章中我们已经进行过大量的分析,这里就不再浪费时间了。只是,我要提醒因为CS 1.6全面“复辟”而欢欣鼓舞的各位CS玩家,星际争霸的今天也许就是CS的明天,没有一个游戏可以长盛不衰,尤其是在没有厂商支持的情况下。在今天, CS职业和业余之间的差别已经越来越大,从这项运动的长期发展来看,这未必是一件好事。
在Pro Mod的开发计划书中,我们可以看到大量关于这个职业版本的描述。包括人物模型、GUI、比赛系统、手雷系统以及移动系统等等在内,这个职业版本将会照搬 CS 1.6的设定,而且比赛地图将会更注重实效(在这方面,Drax举了一个范例:CS:Source上的de_cpl_mill)这是一个伟大的想法,只是 CPL和Valve未必会同意。
后记
《电子竞技》的CS:Source栏目做到今天,方向已经从对CS:S的抱怨慢慢转到了为CS寻找新的出路。可能很多读者觉得小编是在危言耸听,但是星际争霸的例子摆在眼前,让小编这个狂热的CS玩家不得不为CS的未来抱有一丝忧虑。虽然由盛而衰是难以逃避的自然规律,但是小编真的不甘心CS 的未来就这么毁在CS:S手里……
言归正传,就我个人意见,也许直接开发一个CS职业版还是太急进也太渺茫了。倒不如从妥协中求生存,先把CS:S改好再说。设计引擎、人物模型等核心部分的调整也许需要Valve来做,但是象地图和GUI这类的修改完全可以由玩家自己完成,也许先做几个职业版地图和改进HLTV系统才是当务之急。
当然,这些工作都需要通过欧洲和美国的热情玩家通过忘我的付出和天才的创意得以实现,在这方面,中国玩家的贡献一直微小得可以忽略不计,因为我们坐享其成已经习惯了。这种叶公好龙的现象,大概就是包括中国玩家最大的悲哀吧。
文章写完,我又习惯性地打开(CS ProMod的官方主页),看到Drax召集到了该项目所需要的程序员、分析员以及美工(都是志愿者,来自开放源代码和CS社区),而且开始有欧洲和美国玩家通过网络向CS ProMod小组提供经济支持(这些捐助者几乎没有任何特权,但是将来可以提前得到ProMod的测试版本)这些来自北欧、西欧、北美甚至俄罗斯的专业人士和普通玩家,或许真的可以做出一个达到要求的HL 2竞技版本CS。也许这就是CS的魅力所在,在游戏里和游戏外,在赛场内和赛场外,它总会带来奇迹和意外。
看到CS职业版小组放出的公测客户端,我的脑袋顿时就炸开了……其实完全不用下载就能猜到这将是一场新的灾难:一个仅有30M的小压缩包能有什么技术含量?解开一看,公测版本果然就是一个基于CS:S的补丁包,这下职业版的免费和独立宣言基本就破产了,因为你要玩职业版,必须要购买CS:S(CS 1.6的帐号可不行)或者HL 2其他系列的游戏帐号,而且必须先安装最新版本的CS:S。
按照id software诸位大神开创的FPS文化传统,游戏厂家一般只做引擎开发和概念游戏的工作,就好像奔驰公司同时生成销售发动机和成品车。而id当年不但发表了DOOM的关卡编辑器(玩家可以通过它来自己构建游戏对战地图),还公布了游戏引擎的源代码和开发工具,你可以把它想象为专门用于汽车改造的螺丝刀、特殊工具和设计图,FPS世界的Mod文化即源于此。
当年的Valve也是走的传统路线,自己开发出了Halflife引擎,虽然它的性能只在Quake2和Quake3之间,但是因为有几个学生制作的Mod——CS而走上了FPS的新王座。可是从Halflife 2时代开始,Valve的思路就发生了彻底的转变。他们先是自行开发了HF2上的CS,也就是CS:S,而且丝毫不考虑当时CS 1.6玩家的需求。接着他们控制了大部分Source引擎的开发资源,让Mod玩家始终不得其门而入。
在这个商业利益统治一切的现代社会,FPS或者说电子竞技文化传统也被迫一再向庞大的商业利益低头,而在这方面,再没有比CS职业版的兴衰起伏更好的例子了。最初,CS职业版小组得不到CS 1.6和CS:S的有关代码,需要同时征服横跨数年的两大版本,照猫画虎的情形极大的提高了他们的工作难度,使得职业版计划不得不延宕数年。
在CS:S迟迟不能成为主流和CS玩家大量流失的情况下,Valve终于大发慈悲,向CS职业版伸出了援手。可是现在看起来,这支手的作用可远不止拉玩家一把那么简单。一方面,pro小组在得到官方技术支持以后,不管是交互界面还是地图细节都有了长足的进步,并且实现了以前版本所缺乏的定制性(目前的内测版可以进行许多涉及引擎某些方面的修改,比如通过修改最重要的物理规则可以设定走跑速度和游戏环境)
更新信息2008.02.15 BETA 1.03 推出
2009.12.08 BETA 1.04 半成品(泄露)
2010.01.31 BETA 1.04 推出
下载Nosteam(免steam登陆提取版) cspromod 下载:www.cspromod.cn
正版安装方法安装到目录 X:SteamsteamappsSourceMods