龙空技术网

单机主机知多少:星际争霸1充满荆棘的开发之路

麦大麦 4908

前言:

现时我们对“星际争霸怎么开始单机”大约比较注意,兄弟们都想要剖析一些“星际争霸怎么开始单机”的相关文章。那么小编在网络上搜集了一些对于“星际争霸怎么开始单机””的相关知识,希望朋友们能喜欢,看官们快快来了解一下吧!

说起星际争霸这款游戏的成就大麦在这里就不加赘述了吧,作为最经典的RTS游戏之一为后世开创了一个全新的游戏时代,而电竞真正的火爆也是从这款游戏开始,可以说星际争霸这款游戏代表了暴雪游戏时代的开始。那么今天大麦就要来和大家说说星际争霸这款游戏开发背后的艰辛故事。这一期也算是大麦《星际争霸十万个为什么》的特别版把哈哈。

开始立项

实际上暴雪最初对于星际争霸这个项目的定位就只是一款中小型的游戏,其制作周期也只有短短的一年时间,初步定位是将在1996年的圣诞节发售星际争霸。而有趣的是,当时星际争霸并不是叫做星际争霸,也不是玩家们听说的太空兽人,而是叫做战锤40k(一款老牌桌面游戏)。

其实暴雪最初的设想是直接找英国的gamework公司获得他们战锤40k的授权,制作一款在PC端的战锤40k,但是在此之前gamework公司从没有接触过PC游戏,他们一直在左右领域默默发展这,这也导致了他们对于PC游戏未来强劲的势头一无所知。但即使这样,暴雪和gamework的合作也算是初步完成了把,暴雪的编剧也开始撰写战锤40k的背景故事。

然而,也不知为何后来gamework和暴雪的合作破裂,收回了战锤系列的版权,暴雪的编剧们只能重新修改游戏设定,但毕竟故事已经写了一部分了,全部废弃又过于可惜,于是暴雪将游戏中和战锤有关的东西全部替换掉,同时也保留了一些战锤中的设定,也算是开始了自己全新原创的游戏剧情把。

一转眼就到了1995年,暴雪终于决定开始正式在代码层面开始开发星际争霸,然而这时候秃鹰工作室被暴雪收购也就是后来大名鼎鼎的北方暴雪。北方暴雪当时正在制作一款堪称传世之作的游戏-暗黑破坏神。在当时暴雪的高层看来暗黑破坏神的优先级要远远高于星际争霸,于是就停止了星际争霸的开发,将所有人手全部调到北方暴雪工作室开始全力开发暗黑破坏神。

后来暗黑破坏神由于其超高的市场潜力,甚至整个暴雪总部的程序员们都加入了暗黑破坏神项目。后来我们也看到,暗黑破坏神的确是取的了非常巨大的成功,总算没有白费这些元老级程序员的努力,当时为了暗黑破坏神,连项目主管都一起参与编程。后来暗黑破坏神在1996年发售,原来星际争霸项目的人员陆陆续续又回到原项目组终于正式开始了星际争霸的项目。

新手降临

星际争霸在制作的年代正好是RTS游戏快速发展的时期,在星际争霸之前暴雪的两款魔兽争霸就为业界确定了一个明确的发展方向,这使得当时市面上其实有超过80款正在开发的RTS游戏将会和星际争霸展开竞争。

不过此时的暴雪已经不是过去刚刚成立时候的小公司了,再加上暗黑破坏神的成功让大家对于暴雪的看法就是一家追求品质精益求精的游戏公司,因此星际争霸需要远远超越之前的成就。在1996年暴雪就在E3展上公布了星际争霸的一个DEMO,但那时候由于项目时间紧,程序员稀缺,导致星际争霸的DEMO的效果非常糟糕,暴雪的创始人梅森对其非常不满意,因此公司决定推翻前面所有的东西回炉重做。

这时候为了让星际争霸超越先前制作的魔兽争霸,暴雪开始大规模招人,要知道魔兽争霸2当时制作的时候只有8个程序员,现在8个人对于星际争霸是远远不够的。但是搞笑的是,为星际争霸项目招来的程序员中绝大多数都是新手,因为项目紧迫暴雪并没有为这些新手进行过比较完善的培训,然而星际争霸需要开发一款全新的引擎,这将对他们构成巨大的挑战,这也成为后来星际争霸开发过程中的一个巨大隐患。

被BUG淹没的星际争霸

之前说过,星际争霸在开发了一小段时间以后就彻底暂停,所有的人员都前往暗黑破坏神项目开始工作。后来暗黑破坏神项目完结有一部分员工回来继续开发星际争霸,另一部分在为暗黑破坏神解决了大部分后续BUG之后也开始回来工作。

而这时候就出现了工作的断档,一些员工先前写好的引擎模块被遗忘在角落,另一个人又重新写了这个模块,或者是新入职的员工对于公司过去开发的一些引擎模块不了解没有合理运用导致游戏中出现了不少BUG。因此当时星际争霸遇上的最大问题就是程序员们对于引擎架构的不熟悉和不了解。

举个例子,最开始魔兽争霸的引擎是在MSDOS上用C语言开发的,到了星际争霸PC系统进入Windows时代后,主程决定使用C++来编写星际争霸的引擎。但一个问题就是当时暴雪的程序员中了解C++的人并不多,这使得他们需要重新学习C++才能适应新引擎的使用,当然也有一些二把刀简单地学了C++后就迫不及待地决定在第一个项目中试遍所有功能,这简直就是一场灾难。

有趣的是C++的发明人比雅尼·斯特劳斯特鲁普说过一句话:用C你容易不小心砸自己的脚;C++砸脚的几率低一点,但一但砸了,你整个下半身就废了。可想而知,一个新手用C++可能会造成巨大的灾难哈哈。

因此当时星际争霸的程序员们都要崩溃了,他们一边学习C++一边还要解决游戏中出现的BUG,再加上发售日期只剩几个月。

说一个小趣闻,当时星际争霸在制作的时候有一个BUG一直没办法被解决,就是农民在采矿时碰撞的拥堵问题。因为当时星际的所有单位都是贴图,因此碰撞体积会特别大,农民在采矿时就经常会堵在一起无法正常采矿,而这个问题知道距离最终发售日期还有几天了却迟迟无法解决。这时候星际的领导层直接决定干脆这个BUG就不改了,转而设计成农民在采矿时无视碰撞体积,而这个决定却成就了后来特别经典的设计。

疯狂加班

现在大家都在吐槽国内互联网996的工作方式,大家可想到暴雪曾经拥有更可怕的加班节奏。那时星际争霸距离发售日期只有几个月,所有的程序员都处于14*7的工作状态,主程甚至经常连续40个小时的工作。

然而即使在这样的工作强度下游戏的如期发售依然遥不可及,因此星际争霸的团队就这样不断的加班不断的跳票,在这样高强度的工作状态下连续工作了十四个月。不过当时暴雪每一个员工如此疯狂的加班并不是公司要求的,而是他们都想做出一款优秀的好游戏而自愿付出的努力。不过后来有员工回忆说当时这么做真的太傻了,因为长期加班头晕脑胀的时候产出的那些代码就如同狗屎,总是得重新在写过。

因此当时星际争霸的BUG出奇的多,甚至在游戏发售过后,所有程序员还得在夜以继日的加班改BUG出补丁。

结语

虽然星际争霸的开发并不顺利,但是总算在1998年还是和玩家们见面了,而他的游戏质量也没有辜负这么多程序员这两年来夜以继日的加班和辛勤工作。从一个普普通通的小项目到全公司全力以赴的重点项目,星际争霸承载了暴雪公司那几年了最大的梦想。

当时主程在接受采访时也自嘲到,他们使用编译语言来编写星际争霸最大的优点就是:相对JavaScript这种脚本语言代码再烂用户也看不见!然而以我们现在的视角来看星际争霸,感觉这游戏开发也就花了两年左右的时间就能早就这么一款传奇游戏,只不过其背后的艰辛只有曾经那一批暴雪的元老才能体会吧。

标签: #星际争霸怎么开始单机