近期星际争霸2的BETA测试引起了广泛关注。作为一名资深的星际争霸爱好者,我兴致勃勃地研究了星际争霸2beta的内部文件。令人惊喜的是,星际争霸2并未采用大量的加密措施,整个游戏设定开放。由于目前尚未获得BetaKey,以下内容仅从现有文件中探寻一些线索。
脚本语言与风格概述
尽管星际争霸2并未完全放弃魔兽3的C语言编译模式,但暴雪确实引入了一些类似Java的语言元素。这或许与现任星际争霸2首席设计师Dustin的经历有关。Dustin曾参与开发EA旗下的命令与征服:红色警戒2以及命令与征服:将军,以及魔戒中土大战系列。尽管Dustin表示没有将西木和EA的风格带入星际争霸,但从模型、理念、地图设计,到代码语言及编写风格,星际争霸2与Sage引擎游戏(由西木开发,现为EA使用)颇为相似。xml语言以及单位代码集成在一个文件中的编写习惯,让熟悉将军mod和红色警戒3mod的modder们感到亲切。
游戏架构解析
以下是对星际争霸2游戏架构的粗略了解:
-
单位代码段 所有单位代码集中在Unit.xml中,每段代码排列严谨。以陆战队(Marine)为例,我们可以看到代码的规范。(代码略) 评价:对于普通玩家来说这些代码可能难以理解,但对于职业modder来说这并非难题。与命令与征服3的单位代码相比,暴雪将逻辑性代码集中在一起,包括建造时间、生命值、人口等,而将单位模型、动作集中到另一个xml中。与CC3将逻辑、单位技能以及单位模型绘制代码集成到一个文件中的繁琐度相比,暴雪的代码可能更人性化。但是将每个单位以独立文件存在可能更为理想。
-
武器、装甲以及升级与技能 武器定义在WeaponData.xml文件中,其他可参照此文件。以下为SCV的焊人武器示例。(代码略) 星际争霸2的武器定义相对简单,具有很大的扩展空间,我们可以尝试在正式版中进行修改,创建自己的武器。
-
模型绘制代码与特效 为了使星际争霸2成为一款大众化的竞技游戏,暴雪在画质上做出了牺牲。模型代码集中在Model.xml中,特效集中在Effectdata.xml中。以下为陆战队的绘制部分。(代码略) 星际争霸2在死亡动画上做得较为细致,与CC3及Ra3的步兵死亡动画相比,显得更为血腥真实。
-
水面效果 红色警戒3的水面效果令人印象深刻,而星际争霸2的水面效果则引起了失望的声音。但是在Water.xml中,我们发现星际争霸2可以自由设置反射度、颜色、亮度以及高光程度,所以我们可以通过修改代码来设置游泳池甚至岩浆。
总结
一个游戏的生命力不在于其竞技性,而在于其扩展性和修改自由度。星际争霸现在虽然不如魔兽争霸3和红色警戒3英雄连等高画质游戏火热,但其强大的编辑器功能和丰富的地图资源使其具有一定的吸引力。在吐槽星际争霸2画质的同时我们应意识到这不仅是游戏的大众化,更是修改和DIY的大众化。有人说星际争霸2会失败,但我却相信它拥有无限的潜力。
此攻略由游饭天堂小编团队编辑,祝您游戏愉快!