一个魔兽世界射击猎人宏地图,横版射击的。

下次自动登录
合作网站账户登录:
Patrick Wyatt回顾魔兽争霸的制作过程
14:19 | 来源:口袋巴士产业频道
  作者:Patrick Wyatt
  在PC游戏运行于DOS操作系统的时代,我开始效力于一款名为《魔兽争霸》的游戏项目。
  我成了项目主管
  虽然我已经开发过数款PC游戏,一系列Mac游戏,以及7款针对超级任天堂和世嘉五代的主机游戏,但我在这些项目中所扮演的不过是新人角色,或者说只是开发其中一些原作的移植版本。游戏移植就是将游戏从一个平台发布到另一个平台的过程,其中包括转换代码、设计、美工和其他游戏资产,以便原先运行于Amiga的游戏也能够运行于任天堂设备。
  我的角色包含两项工作:负责领导团队的&制作人&&&游戏行业中所谓的项目主管、设计师、布道者、典狱长的头衔;以及负责编写大部分游戏代码的&主程序员&。这可能没 有那么可怕,因为一个游戏项目可能招聘10个20个开发者,开发团队最大规模时至少可达到200名开发者。
  Patrick Wyatt(from games.sina)
  《魔兽争霸》起源
  我曾就职的初创公司当时名为Silicon & Synapse,之后更名为暴雪,以对应我们暴风雨般猛烈的开发方法&&在闲暇时间玩大量游戏,《魔兽争霸》的灵感正是发源于这种活动。
  我们玩过(反复重玩)一款名为《Dune 2》(Westwood Studios)的游戏后受到启发而创造了《魔兽争霸》。《Dune 2》是首款现代意义上的即时战略游戏(RTS),拥有横向卷轴 世界地图,即时单位建设和移动,以及独立单位战斗等元素。除了一些比例和图像质量之外,它在设计上与《星际争霸2》等现代即时战略游戏并没有很大区别。
  其前作《Dune 1》也采用了一些相同元素,但其半即时单位战争元素则隐藏在了冒险游戏中。《Dune 2》除去了前作中让玩家作为游戏角色之一参与其中的理念,其关注重点是现 代RTS机制:收割庄稼,收集更多资源,建设军队,最后找到并征服敌人。
  和暴雪团队中的其他人一样,我也在午餐时间专门玩《Dune 2》,其中的三个种族都玩遍了,确定了它们各自的强项与弱点,之后再与同事比较玩法风格、策略和战术。
  Dune2()
  虽然这款游戏非常有趣,但也存在一些明显有待修复的瑕疵。最值得一提的是,我和好友只能同电脑对抗。而这款游戏的理想选择显然是多人模式。与需要每位玩家等待所有对手 完成单位移动指令的回合制游戏不同的是,即时战略游戏允许所有玩家同时发出指令,执行快速、决定性的战略移动,而非冗长持久的战略性计划。
  脑中有了这个目标之后,游戏开发就无需在游戏设计、技术需求评估、安排日程表或所需人员预算上大费周章。在暴雪我们将此称为&特供商业计划&,也就是标准操作方法。
  初始开发
  作为项目唯一的开发者,在初始阶段没有美术团队,我就先截取《Dune 2》的美术资产来用,直到项目进展不得不需要一两名美术人员时。这些美术人员可以一起赶其他临近截止 日期的项目,此时不可以分心,我们一直是时间紧迫。
  我早期开发游戏引擎时要做的事情包括创造基于贴图的横向卷轴地图渲染器,绘制游戏单位和其他位图的精灵渲染器,分配鼠标和键盘事件的事件调度器,以及控制应用行为的大 量用户界面代码。在最初几周完成这些项目子集后,我们就能够&试玩&一款游戏,尽管我当时还没有植入单位建设元素。早期试玩需要使用输入指令以便屏幕生成单位。
  我每天都要以有序的方式在之前的基础上创造内容。由于没有时间表及项目的外部催促因素,我有幸能够自主选择接下去要创造什么功能,这让我觉得动力十足。我原本就很喜欢 游戏开发过程,就像嗑药上瘾一样忘我地编程。即使是现在,我已经进入这一行22年了,我还是很喜欢编程中的创意。
  首个独特功能:多单位选择
  我最为骄傲的一个功能就是单位选择。与只允许用户一次仅选择一个单位的《Dune 2》不同,我设计的这项功能允许用户一次选择一大遍的战斗单位,很显然这种功能要以加速玩 家的任务调度,极大提升游戏战斗力。
  我进入游戏行业之前曾使用一些低端的&计算机辅助设计&(CAD)程序,例如MacDraw和MacDraft,为我爸的公司设计酒窖,所以对于&拖拽&一系列单位的操作得心应对。
  我相信《魔曾争霸》是首款使用这种用户界面的游戏。当我第一次部署这种功能时,就可以同时选择和控制大量单位,这里不存在选择的单位数量限制。
  而一次性选择和控制100个单位则暴露了我所部署的简单寻径算法的弱点,我完成了基本算法后,就投入大量时间选择单位,并向目的地分配游戏单位,而不是编写更多代码。这是 我的编程生涯中最酷的功能!
  在之后的开发过程中,我们根据团队成员的许多设计主张,决定允许玩家一次只选择4个单位,因为用户需要关注自己的战略部署,而不只是集结一帮人将其全部发往一场混战。我 们在之后的《魔兽争霸2》中将此数目增加到了9个。继承了《Dune 2》的《命令与征服》并没有单位选择数量的上限。但这是另一个题外话了。
  除了一次可以控制多个单位之外,这个阶段的《魔兽争霸》完全不像是降级版的《Dune 2》,我甚至开玩笑说,虽然这款游戏脱胎于《Dune 2》,但实际上与其完全不同&&我们 的雷达迷你地图位于屏幕左上角,而后者则处于右下角。
  团队构成
  在1994年初,我在为该项目获得更多支持方面取得了进展。Ron Millar、Sam Didier、Stu Rose、Bob Fitch、Jesse McReynolds、Mike Morhaime、Mickey Nielsen等人也入伙了 。他们当中多数人是在我们公司在1994年2月被Davidson & Associates收购时参与到这款游戏中。
  Ron Millar这位金发壮汉很显然是维京战士的后裔。他最初曾在Virgin Games为Gameboy作品制作美术内容,但杰出的创意和设计感令他在暴雪多个项目中担任设计师,在《魔兽争 霸》中他也担任同样职位。
  Sam Didier是一个矮壮的角色,好像是一只缩小成人类比例的熊,其英雄主义的个性和史诗般的绘画作品奠定了暴雪游戏的美术风格,曾经为16位主机游戏绘制美术资产,在会议 期间和其他闲暇时间都可以露几手绘画才能,并因此负责这款游戏的美术设计方向。
  Stu Rose原先是插画师,暴雪运用至今的logo就是出自其手&&他最初负责绘制游戏的背景贴图美术,但在游戏最终设计时扮演了更重要的角色。Stu十分还是个令人难忘的配音演 员,他的喜剧天份令其成功演绎了受尽压迫和苦役的&人类农民&。
  Bob Fitch原先是程序员,在我开始展开《魔兽争霸》时他还是另一款游戏的项目主管。Allen Adham是暴雪总裁,曾向Bob分配了开发一款文字游戏&Games People Play&(包含 填字谜、scramble、bloggle等多项元素)的任务,但Bob对该项目缺乏热情导致数月毫无进展,看到《魔兽争霸》的情况之后,Bob就过来协助我,他对这款游戏的热情推动了这款 游戏的快速进展。
  Jesse是加利福尼亚理工学院毕业生,原先是为IPX网络协议创建网络驱动程序,以便游戏能够运行于本地局域网(LAN)。Mike Morhaime是暴雪两名创始人之一,之后接手了更困 难的任务,即编写&混合模式&的调制解调器驱动器。虽然《魔兽争霸》是一款DOS&保护模式&游戏,调制解调器驱动器通常来源于保护模式和实时模式,原因是DOS操作系统及 其运行的80386芯片构造的变化无常,所以我们经常可以发现他坐在办公室盯着满屏诊断数据,因为他得解决与重新进入代码的复杂时间问题。最后的调制解调器代码稳若盘石,很 大程度上要归功于我们当时使用的原始工具组。
  《魔兽争霸》的美术设计
  Warcraft_orcs_and_humans(from wikipedia.org)
  Allen Adham希望获得《战锤》的授权,以便通过品牌辨识度而增加游戏销量。《战锤》是《魔兽争霸》美术风格的一个巨大灵感来源,但结合了多项元素,包括开发团队中几乎每 个人都缺乏商业概念,以及捍卫自己的游戏世界的空前热情。我们已经受够了与DC Comics合作开发&Death and Return of Superman&以及&Justice League Task Force&的糟 糕经历,希望自己的新游戏不要重蹈覆辙。
  现在很难想象,如果当时暴雪没有控制《魔兽争霸》的知识产权(IP)该会是什么结果&&很可能暴雪就不会是当今游戏领域的霸主了。
  在《魔兽争霸》发布数年之后,我爸从亚洲回来了,给我带来了一系列《战锤》的微缩角色模型:&我在旅途中发现了这些有趣的玩具,这让我想起了你的许多游戏,你们也可以 找法律团队联系他们,因为我认为他们剽窃了你们的创意。&
  游戏开发中的障碍
  早期开发过程中的一个有趣方面就是,虽然我创造了一款可以使用调制解调器或本地局域网运行的游戏,但我们公司办公室却并没有LAN。因为我们开发的是主机游戏,也就是可以 插入软盘来玩的游戏,当时还没的配图LAN的必要,虽然这可以简化制作备份的过程。
  所以当我开始同其他美术人员和程序员合作时,我们使用了&sneaker网络&,让软盘在几个办公室之间流通,以便整合源代码修订和美术资产。
  Bob Fitch是项目的第二个程序员,我和他经常复制文件和反复更改代码。我们间歇性地出现一些整合错误,我们修复的漏洞也会再次出现。我们在复制文件时追踪并发现了这一点 &&我们偶然重写了漏洞修复,我们就不得不加快之前是如何修复漏洞的。
  由于我们开发代码速度很快,并且缺乏管理代码整合流程(只&记得&自己制作了哪些文件),这种情况一再发生。在这方面我比较幸运一点,因为我的电脑是我们执行所有调合 过程中最&大师&级别的系统,所以我的调整很少丢失。现在我们使用了源控制以免再出现这类事情,但当时我们确实不知道究竟发生了啥情况。
  有了更多程序员、设计师和美术人员,我们的开发过程进展明显,但我们还是发现了这个过程中的一大障碍。这款游戏最初是在DOS的&实时模式&中开发的,这意味着它只有640K 的内存可用,比操作系统少120K。你可以想象当时的电脑有多蹩脚吗?
  由于美术团队开始制作游戏单位,背景和用户界面的美术内容,我们的内存很快就用完了,不得不寻找其他替代方案。第一个尝试方法是使用EMS&分页内存&,保存超过640K内存 上限的美术资源。
  程序员讲起EMS内存那副苦大仇深的样子,好比是老一辈人讲述赤脚爬山去上学那种辛酸史,EMS实际上是一种更可怕的经历。
  EMS解决方案实际上并不管用,实际上还有更好的方法。有家名为Watcom的公司推出了C编译器,其中包含一种允许程序以&保护模式&编写,可以访问线性32位内存的DOS模式&扩 充器&,这是今天的程序员32位(甚至是64位应用)都会用到的工具。虽然它需要两天时间来更新源代码,但DOS模式扩充器真是完美,当我们重返正轨时,就可以获得更多可用内 存了。
  在本系列的下一篇文章中,我将分享Stu Rose以及设计绝招,《魔兽争霸》首个多人游戏,几乎扼杀多人模式的漏洞,Bill Roper如何令游戏适用于软盘,Westwood Studio对我们 这款游戏的反应,以及我所能回忆起来的关于这款游戏18年前的开发团队成员的其他趣事等内容。
  《魔兽争霸》如何从想法变成羽翼丰满的游戏?让我来告诉你吧,这不是从概念到发布的线性过程。许多游戏的设计是随着时间一直在改进的,想法要经过讨论、测试、争论、修 改、争论、重新测试,最后才变成完整的游戏,但在这个过程中,有些想法最终被放弃了。
  这个过程中会发生大量争执,但那未必是坏事。虽然有时候会变成人身攻击、怨恨和道歉,但只有经过多次争论的想法才是经得起推敲和考验的。
  即使存在争议,我们的合作中仍然充满友好的情谊。我们一起工作,一起玩,参加游戏展时挤在同旅馆的同一个房间,有时甚至住在一起:在加州,我和三个同事住在同一个房子 里。
  最初的提案
  当我启动《魔兽争霸》项目时,暴雪手头上至少还有四款游戏在做,而当时只有20名员工,大都都忙着赶进度。对美工、程序员和设计师来说,同时做两三个项目算是家常便饭了 ,当然,我们唯一的音乐师/音效师Glenn Stafford什么项目都要参与。
  但我们定期抽时间进行头脑风暴和讨论公司的发展大计,我们称之为&今日商业计划&。
  在上一篇文章中,我已经说过我们制作一款类似《沙丘魔堡》的即时策略游戏的动机,那我们又受到另一个想法的刺激。
  这个刺激源是公司联合创始人兼总裁Allen Adham在我们的头脑风暴活动中萌生的一个想法。他想制作一系列战争电脑游戏,全部放在几乎完全相同的白盒子里出售,大标题就叫& Warcraft&,至于各款游戏的副标题,就取材于历史事件:罗马帝国、越南战争,等等。
  为什么要装在相同的白盒子里?这是因为许多个白盒子堆在货架上会非常抢眼,让玩家在拥挤的零售环境中一眼就看到我们的游戏;类似于SSI的《龙与地下城》的金盒子系列,那 款游戏在80年代大获成功。新玩家会被抢眼的盒子而被吸引到货架前,而喜欢游戏的老玩家也很容易知道在哪里找到它。零售商店:与现在的应用商店和Amazon网上商城相比,真 是老古董了,是吧?!
  Ron Millar和Sam Didier是公司的元老级美工,二人对历史模拟的想法非常有兴趣,且都喜欢幻想游戏如《战锤》和《龙与地下城》。看一眼Sam的美术作品就知道他非常迷恋幻想 题材。所以会议快结束时,他们提议,这个系列的第一款游戏应该发生在兽人和人类共存的幻想世界里,他们有更多机会创作新的游戏美术,而不需要遵循历史的传统。于是,二 人的提议被采纳了,成为该系列的第一款游戏:《魔兽争霸:人类与兽人》。
  warcraft 3()
  初期游戏设计
  许多人认为,游戏设计师只负责概念,也就是&制作游戏设计&,这对某些开发团队来说也许没错。设计师确实必须充满创意,自己就能把游戏中的各种元素想得活灵活现。
  但设计师也必须擅长倾听别人的想法:如果团队中的其他人并不参与游戏的设计阶段,那么在执行自己的工作时就不会有太大的积极性。此外,也许最伟大的创意正是由非设计师 的人想出来的,谁知道呢!所以,设计师必须愿意倾听别人的想法,这样其他的好创意才不至于被埋没。
  在《魔兽争霸》的开发初期,我们的非正式设计过程非常有效率。我们在走廊聊天、用餐、抽烟和晚上玩游戏后也经常进行头脑风暴。公司的所有人都贡献了自己的想法。在没有 任何正式的过程和设计文件的情况下,每过一个月,这款游戏都更加完善。
  Ron作为美工进入游戏行业,他当时是暴雪游戏的核心人物。尽管他当时正忙于为Super Nintendo开发一款横版射击游戏《黑色荆棘》,仍然腾出时间为《魔兽争霸》收集创意。
  Stu Rose是暴雪的另一名元老级美工。个人认为,他在大部分方面与Ron持相反的观点,他作为设计团队中的一员,经常与Ron意见不合,尽管他们都同意对方的观点是不可反驳的 。
  结果这两人在整个设计过程中都各干各的,独立开发游戏世界的文明和剧情、定义游戏的单位、规定玩法机制、想象魔法施放方式、设计游戏的任务、编造地点名称,等等。尽管 各自为政,但二人的工作对最终成果都做出贡献。
  后来,几乎无法判定谁开发了哪个部分,除非让整个团队投票和分析许久以前发生的争论。甚至在那之后,我们也很难确定游戏设计的荣誉应该归功于谁,最终做了最公平的决定 ,最高荣誉归于集体。所以,《魔兽争霸:人类与兽人》的盒子上写的是&游戏设计:暴雪娱乐&。顺便一提,说Moby Games网站上列出的《魔兽争霸1》制作职员表完全是胡扯, 因为他们把Macintosh和1998年版的和1994年的DOS版的混淆了,所以很多人的工作都搞错了。
  虽然我自己的记忆也很模糊了,我最近看了一份标着&Chaos Studios&的、日期为1994年的初期设计文件,这意味着它诞生于1994年初,那时现在的暴雪还没改名为&暴雪&。到 1994年2月,我们有了一系列(仍然非常粗糙的)设计文件已经经过若干次迭代,包含了这款游戏的关键概念。
  不可否认,如果于1993年9月前先完善设计开始编程,结果会更好,但因为在真正有趣的游戏部分可以开发以前我必须做这么多&基质&,缺少设计并没有成为那个阶段的障碍,特 别是因为我们已经从《沙丘魔堡》中借鉴了许多游戏元素。
  削减了什么
  虽然今天仍然(极少)可以玩《魔兽争霸1》,但与后来的RTS游戏相比,乐趣太少了。使游戏在现代计算机上运行的困难导致过高期待,然后当看到游戏分辨率只有320&200象素 时,期待就破灭了。这个分辨率仅为现代高分辨率显示器的二十分之一。更别说UI和玩法平衡远远劣于我们后来的游戏。
  但通过玩《魔兽争霸1》,仍然可以看到那些经过数次设计迭代过程而幸存下来、出现在最终的游戏中的想法。在许多方面,《魔兽争霸1》与这个系列的后来的游戏并没有太大不 同。
  现在的玩家所熟悉的经典的魔兽单位如兵营、市镇厅、伐木场和金矿,都保留到后来的游戏中。这些标志性单位留下来是因为它们的名称和功能对于生活在现实世界而非艾泽拉斯 的人来说,是很容易理解的。
  但我们的早期设计文件中包含的许多想法都没有出现在最终的游戏中。有些是因为明间不够&&游戏必须赶在1994年圣诞节发布,我们差不多是赶上了。有些想法被淘汰了是因为 我们又想到了更好的替代方案,或者因为没有得到强烈的支持,或者太费时间,或者需要太多钱,或者不够有趣。
  我想你们可能很好奇有什么想法胎死腹中了,比如Mason&s Hall(需要石料)、Dwarven Inn(更需要石料)、Elven Fletcher(升级弓箭手)、Tax House和Ale House。
  这些建筑的作用都是次要的,有些可以在其他地方实现。所以,我们把它们的功能添加到已有的建筑中,而不是为一个功能创造专用的建筑,例如,把Dwarven Inn和Elven Fletcher合二为一。
  我们放弃Mason&s Hall是因为我们认为使用石料作为第三种资源(除了金矿和木材)太复杂了。我们在《魔兽争霸2》中修改了这个想法,但在实际执行(编程)时又再次放弃它 了。
  Ale Stand的目的是增加战士与黄金的生产比率。我不知道通宵加班加点设计的东西怎么会被放弃,但我想一定因为艾泽拉斯大陆存在特殊的法则和魔力,所以我们删除了Ale Stand。
  NPC角色如蜥蜴人、大地精和Halfling也处于设计阶段,但最终被丢弃了,基本上是因为绘制和动画的问题。
  游戏开发是一个权衡的过程&&好游戏不必什么东西都做,但必须有一些东西做得很好。
  成形阶段
  一个经过多次讨论但最终没有执行的设计想法就是&队形&,这个想法最终被淘汰是因为太难执行。
  有些复杂度导致无法执行:队形单位都以同样的速度前进,这样走得慢的单位就不会被落下&&这就导致编程上的复杂。队形必须能够转向,这样包含走在后面的矛兵和射手的队 形在朝南前进时,如果遇到从东边过来的敌人,才能与之面对面,且射手仍然在矛兵组成的防护墙后面&&这就导致UI上的复杂。考虑到完成这个功能所需的时间太长,我们还是 把时间放在完成更多基本的功能上。
  我确实执行&编号小队选项&了。玩家可以选择一组单位,然后按下Ctrl键加数字键(1-4),然后当需要再次选中这些单位时,只要按下对应的数字键。但那些单位可以独立活动 ,尽管只能集体选中。
  战场上的玩家角色
  另一个讨论了很久但没有执行的想法是,用一个单位代表地图上的玩家:这个玩家角色会随着一个接一个的任务的完成而进步。
  为了让游戏角色代表玩家,它在完成若干任务的过程中,应该从脆弱的单位成长为强力英雄,这样玩家才会产生进步感。为了顺利进展,这个角色只有在充分利用的情况下才会越 来越强大。没有被充分利用的玩家角色始终很弱,而一直在前线战斗的玩家角色会变得越来越强。
  把单位从一个任务带到下一个任务,增加了玩法平衡的任务的复杂度。优秀的玩家会让自己的角色在任务中变得更强大,而随着玩家角色力量的增强,任务会越来越容易完成。相 反地,那些水平不高的玩家的角色越来越弱,以至于无法完成后面的任务。这两个问题都可能导致玩家流失&&前者是因为游戏缺乏挑战性,后者是因为受挫,毕竟鲜有玩家会为 了游戏后面的任务而返回去重做之前的任务。
  我们的竞争者的产品叫作《War Wind》,比《魔兽争霸》晚发布了几年,它允许玩家把单位从一个任务带到下一个任务;这款游戏的设计师允许玩家运送四个单位,但通过保证这 些单位足够强大以影响玩法,解决了玩法平衡问题。
  我们还考虑在《魔兽争霸1》中加入英雄单位,他们有自己的名字如Illusion Thief、Barbarian、Huntress和Juggernaut等,有专属技能。最终,我们大大削减了游戏单位列表, 可能是因为设计和动画的时间受限。
  对于那些玩《魔兽争霸3》不多的人来说,看到英雄的设想最终在在这个系列中实现了,一定很有趣;尽管《魔兽争霸3》的英雄的设计起源并不是这个&&而是来自分散在《魔兽 争霸1》的设计文件中的想法。
  简单地说,《魔兽争霸3》一开始是叫作《魔兽英雄》,与我们已经发布了五次的传统RTS不同,它是一款以《魔兽争霸》的世界观为背景的组队战斗游戏。这款游戏不同于传统的 RTS,但保留了英雄元素&&在开发进展到一半时改变了团队领导的设定之后。
  Warcraft III(from giantbomb)
  明快的色调
  如果你想想《魔兽争霸》系列的美术设计,你一定会觉得与《暗黑破坏神》(游戏邦注:只有在昏暗的房间里才能看出其美术设计之美)相比,实在太炫目了。色彩鲜明、卡通风 格的美术设计不同于当时的许多PC战争游戏&&它们往往坚持更写实的色调。
  这样的差异部分归因于美工们过去的经验,他们做过几款Super Nintendo和Sega Genesis游戏的游戏,那些游戏要求更明快的色调,因为当时的电视显示器在色彩显示方面落后于 PC显示器。在电视上显示的游戏机游戏分辨率更低,色彩经常溢出,只有对比度高的图像才能显示得好看。
  另一个原因是Allen的命令,他要求所有美工在明亮的环境下作画。他经常在公司的办公大厅巡查,打开电灯和百叶窗。
  他的观点是,大部分人是在明亮的房间里玩游戏,所以我们的美工应该使玩家觉得我们的游戏在那样的环境下很好玩。他指出,画出在光线不足、外部光源不能干扰显示器的情况 下看觉得很好的美术作品是很容易的。但当电脑美术与明亮的光冲突时,就很难好看了。日光灯是最恶劣的光,因为这种灯光一直闪烁,使眼睛疲劳。
  所以美工办公室的灯总是开着,迫使美工在那样的环境下创作出色调明快的画。这种工作环境曾激怒一些(所有?)美工团队,但最终使他们创作出不输当下游戏的好作品。
  现在,你知道为什么《魔兽争霸》的美术设计看起来那么&糖果色&了吧?
  从1993年9月起,《魔兽争霸:人类与兽人》最终成为该系列的第一款游戏,而不是一个拓展技术DEMO。
  好几个月,我是这个项目唯一的全职员工,这大大拖延了开发进度。好在有其他员工帮助我,Ron Millar、Stu Rose等人也参与了项目的设计。几位美工在自己的项目间歇时也抽 时间贡献了一些原画。
  《魔兽争霸》项目组的成员极其少,因为这次是的资金由公司拿自己帮发行商Interplay和SunSoft等制作游戏获得的收益凑成的。公司的财源不广。
  那时,我们还在开发16位的主机游戏《The Lost Vikings 2》(游戏邦注:这是一款横版&跑跳&益智游戏,但这个续作叫好不叫座)、《黑色荆棘》(横版&跑跳&游戏,主角 拿枪当武器)、《正义联盟》(《街头霸王》的翻版,以DC漫画世界为背景)和《超人归来》(横版格斗游戏,是DC漫画世界系列的同名游戏)。
  正是靠开发这些游戏和外包其他零活挣的钱,我们公司得负担初期开发的成本。
  warcraft()
  游戏开发的经济
  在游戏行业的历史上,独立游戏开发工作室&&也就是不属于零售游戏发行公司的工作室,通常靠与发行公司签约获得项目的资金。发行商会&提前&出钱支持项目的开发。除了 资助开发,发行商还负责做广告、市场营销、生产、零售分销、客户服务,等等。
  在90年代早期,那时的零售游戏发行商比现在更多,但随着游戏开发和发行的成本上涨,游戏行业开始大规模重组,导致许多公司破产或被收购,所以当说到今天的零售游戏发行 等规模的公司。
  与所有行业一样,合同条款主要是由出钱的一方规定的。这是另一条黄金法则:&有钱就是老大&。虽然理论上说,根据协议游戏卖得好的话,游戏开发者获得的收益也多,但与 唱片和电影行业一样,绝大部分收益还是归发行商所有,而开发者得到的钱只顾支撑到签下一纸合同&&如果他们走运的话。
  我所谓的发行商的&提前&支付,更准确地说应该是&预付版税&:发行商给开发者提的偿还性贷款,开发者之后用游戏的销售额偿还。听起来不错:开发游戏,卖一份赚一份 。但事实上,绝大部分游戏的收益不足以扣除(支付)预付版税。因为开发工作室往往必须放弃游戏及其续作的版权,这些合同通常只是虚假的承包协议。
  为了争取有利的合同条款,开发工作室的常用策略是,自己出资制作游戏原型,然后拿原型和发行商谈交易。开发者能够支撑游戏开发的时间越长,最终的合同条款就对开发者越 有利。
  使用这个策略的最佳案例大约就是Valve S联合创始人Gabe Newell用他在微软工作时获得的收入资助《半条命》的开发,因此很大程度上控制了游戏的发布时间安排&- 只有在游戏达到高品质时才可以发布,而不是像Sierra Entertainment(该游戏的发行商)所期望的那样匆匆忙忙做出一款能达到一季度收益目标的产品。更重要的是,Gabe提供 的必要资金为Valve争取到《半条命》的在线销售权;那时候数字下载正在成为游戏销售的可行策略,并且最终缔造了该工作室后来的巨大成功。
  自行出资制作原型的缺陷在于,开发者要冒着发行商可能不签项目的风险。这通常导致工作室的倒闭。
  我工作过的公司&&当时名叫Silicon and Synapse,也是自行出资开发《魔兽争霸》和另一个叫作《Games People Play》的项目(它包含在机场书店里经常可以找到的填写益智 游戏、串串字等供滞留旅客消遣的文字游戏)。
  通过开发这款受众非常不同的游戏,公司老板希望挖通多条收益渠道,使公司的财政更加稳定,而不必把公司的整个前景押在核心娱乐市场上(也就是硬核市场)。
  当然,把筹码分别压在多个类型的游戏上也是有风险的,因为公司品牌可能因制作达不到受众期待的产品而被削弱。今天,暴雪品牌的一大优势就是,它的玩家会闭着眼睛购买它 的游戏,因为他们信任这家公司的实力和信誉。如果公司同时发布低成本的休闲游戏和高预算的AAA游戏,那么这种信誉就很难建立了,就像Sierra Entertainment一样,它经过几 次开发受众无果后终于破产了。
  无论如何,制作《Games People Play》最终被证明是失策,因为开发休闲娱乐产品令程序员们斗志全无,所以这个项目始终没有进度,后来就被取消了。或者也许它也不算是错误 ,因为《魔兽争霸》和《Games People Play》的组合打动了当时世界上第二大教育软件公司Davidson & Associates,所以Silicon & Synapse被它收购了。
  D&A Logo()
  我们的新老板
  Davidson & Associates,是由Jan Davidson创立的,后来她的丈夫Bob也加入。这是一家从事教育软件开发的公司,《Math Blaster》是其成功的奠基之作。在这款游戏中,玩家通 过回答数学问题来炸毁小行星,以免自己的飞船被撞坏。《Math Blaster》是寓教于乐的典范,它为该公司赢得了不少荣誉。
  另外,作为一款教育游戏,《Math Blaster》如果使用得当确实有一些价值,但我经常看到它被误用。我上中学时,给我们的校报写文章的记者班的同学和矫正教育班的同学共用 一个电脑房,我和我的记者小伙伴们惊恐地发现,十二年级的矫正教育班的同学居然用计算器玩《Math Blaster》!当小行星显示数学算式&3 + 5&和&2 * 3&时,这些学生会 飞快地把算式输入计算器,然后把计算器输出的答案打出来,使飞船击毁这些小行星。确实,他们正在学习,毕竟他们比他们的老师更聪明,但考虑到他们马上就要工作了,我不 敢说他们充分利用了课堂时间。
  在上进的领导层的良好管理下,Davidson & Associates的业务拓展到游戏制造(制作和包装零售游戏)、游戏销售(把游戏分配给零售商和中间商)和面向学校的教材销售。他们 看到进入娱乐行业的机遇,但他们自己制作娱乐产品的早期经验告诉他们,收购一个有经验的游戏开发工作室来继续开发他们的游戏更合理,因为他们自己的员工对早教的了解远 多于刀剑和魔法。
  所以,阻碍《魔兽争霸》开发团队成长的资金流问题一下子就因公司被收购而解决了;有了新东家的雄厚财力的支持,Silicon & Synapse(游戏邦注:被收购后更名为&暴雪&) 得以专注于自己的项目开发而不是跟其他游戏发行商争抢那一点儿利润。新东家其实也很边缘,甚至在1993年制作了两款广受欢迎的游戏,为该公司赢利了&年度Nintendo游戏开 发者&的荣誉,他们并不收取任何版税。
  暴雪用&卖身&得到的钱雇用了新员工,使老员工得以抽身去开发《魔兽争霸》,所以项目的效率大大提高了。
  设计&过程&
  在暴雪的发展早期,设计和制作游戏的过程非常混乱,虽然也有正规的设计会议,但更经常地是在走廊聊天或吃饭时即兴创作。
  有些特征来自设计文件,有些是程序员一时兴趣添加的。有些游戏美术是计划好的,根据日程表有条理地执行的,有些则是美工半夜灵感突发或只是想尝试不同的东西。其他元素 也同样即兴添加;《魔兽争霸》的故事和设定直到发布的前几个月才整合到一起。
  虽然这个过程难以捉摸,但结果却相当惊人。因为我们的团队是由电脑游戏狂人组成的,我们的游戏随着开发越来越完善,最终成为玩家想一直玩下去的杰作。《魔兽争霸》,我 们为IBM PC制作的第一款原创游戏,就是这种疯狂制作过程的最佳(有时候是最糟)示范,最终这款游戏成为(至少在当时)经典。
  单位生产系统
  生物学家知道进化过程有不成功的开始,进化树的所有分支都被消除了,我们的开发工作也是如此。因为我们没有可测量的标准,所以我们只是实验和剔除不管用的东西。我想过 ,这是一个慎重的、有意识的过程,但许多时候源于意外、争论和个人冲突。
  我记忆犹新的一件事是关于游戏的单位生产系统。在开发早期,单位出现全靠输入主机的&欺骗&指令,因为没有其他UI机制能建造它们。当我们思考用什么方法生成单位时,我 们冒出了各种想法。
  美工Ron Millar为早期的暴雪游戏做了大量构思和设计,他提议,玩家应该建造生产性建筑&-就像《上帝也疯狂》那样,这些建筑会周期性地刷出基本的工人单位,也就是所谓的 (人类)农民和(兽人)奴隶。玩家可以使用这些单位从事采金、伐木和建造,但这些单位无法像战士一样作战。
  这些&农奴&除非已经在劳作,否则玩家可以把它们放进兵营中训练,这时它们会从地图上消失一会儿,直到它们成为合格的战士。其他训练区域将用于生产更多先进的军事单位 如投石车和术士等。
  这个想法没有完全&充实&,这是我们的设计过程的普遍缺陷:设计过程的最终结果很不正规,没有文明规定想法应该如何执行。所以这个想法并没有得到充分的讨论和编写执行 代码,就被不正式的设计团队(公司的大部分人)驳回了。
  在我们开始编写代码时,Ron就陪公司总裁Allen Adham一起去参加展销会了(可能是消费类电子产品展销会)。在他们离开期间,发生了一件事,使整个《魔兽争霸》系列的方向 改变了。我把那个事件称作&魔兽设计政变&。
  Stu Rose是美工/设计师,是公司的另一位元老(我想是第6号员工)。一天下午他来我办公室,提议了另一条思路。Stu认为Ron所提议的单位生产机制有太多还没解决的执行难题 ,并且与我们在RTS游戏中应该给予玩家的那种控制权不相符。
  在这种新RTS类型中,对玩家的要求比其他类型的游戏更高,且玩家的注意力不能长时间只放在一个地方,因为有许多互相冲突的要求:计划建造/升级树、促进经济活动、生产单 位、布置建筑、探索地图、监督作战和微调单个单位珠技能。在RTS中,最有限的资源就是玩家的注意思,用间接单位生成机制会增加认知负担,进而导致注意力失调和游戏难度上 升。
  为了生产基本的战斗单位&野猪兽&,必须把闲置的农民或从事低优先级任务的农民送去训练,这就增加了游戏的不必要的(在Stu看来)复杂度。
  我赞同他的意见,因为我也有相同的担忧(尽管没有那么清楚的思路),而且我认为单位生产不是我们必须大胆修改的地方。《魔兽争霸》的灵感来源,《沙丘魔堡2》有更加简单 的单位生成机制:只要点击生产建筑的UI面板上的一个按钮,单位就会马上刷出来。这其实也不是什么创新的做法&&也是从更早的游戏那里复制过来的,但就是管用。
  Stu主张我们应该采用上述方法,与其再争论下去,不如现在就做好, 所以在那之后的几天几夜,我匆匆做出执行单位生产所必需的游戏和UI代码。于是,这个设计决定就成为既 定事实了。等到Ron和Allen回来,游戏已经可以在单人模式下玩了,除了敌人电脑AI仍然差好几个月才能完成。
  这时的《魔兽争霸》是一款玩起来非常容易的游戏,更重要的是,好玩。我们成功了。
  第一款多人游戏
  1994年6月,也就是开发了十个月后,多人模式的游戏引擎已经接近完工。当我整合代码时,我的心情一直很激烈,因为它将成为《魔兽争霸》的第一款多人游戏。在我一直忙着编 写核心游戏罗辑(事件循环、单位分配器、寻径、战斗单位AI、状态栏、游戏内UI、高级网络代码)的时候,其他程序员已经在做多人游戏必须的相关组件了。
  加州理工大学的毕业生Jesse McReynolds已经完成在本地网络中发送IPX包的低级网络库。这些代码是根据《毁灭战士》的源代码(是id software公司的John Carmack公开的)在 编写的。虽然IPX中间层只是几百条C代码语句,但它是连接网卡驱动的代码的一部分,而网卡驱动保证在一个游戏客户端生成的信息被发送到另一个客户端。
  Bob Fitch是加州州立大学的硕士,他开发了让玩家能够创建和加入多人游戏的最初的&glue screen&用户界面屏幕。我的办公室就在Bob旁边,非常方便,因为我们要密切合作, 把他的游戏加入或创建逻辑整合到我的游戏事件循环中。
  整合完修改后,我编辑了游戏客户端,复制了一份到网络共享盘,Bob则返回他的办公室加入游戏。真是奇迹,我们的代码管用了,我们可以开始玩《魔兽争霸》的第一款多人游戏 了。
  我们开始玩游戏了,我比玩任何其他游戏都兴奋。部分是因为我参与了代码编写,但更重要的是另外两个原因:我将与人类对手而非电脑AI对抗,以及因为战争迷雾,我将不知道 对手的动向。
  战争迷雾
  借鉴早期游戏的另一个想法是隐藏敌人单位。在游戏地图上,隐藏区域将被黑色覆盖,除非有友方单位探索了该区域;这个所谓的&战争迷雾&就是为了真实战争中存在的模仿信 息不完整的情况&-不知道敌人的战术和军队活动。
  由&D程序语言之父&Walter Bright于约17年以前编写的多人回合制策略游戏《帝国》,也是出于相同的目的而使用了战争迷雾。一旦地图上的区域&被发现&(已探索),之后 就一直保持可见状态,所以,在早期发现足够大的地图区域以提前获知敌人军队活动的警告,是一个重要的考虑;如果不能及时发现敌军来袭,重要的生产单位或经济命脉就会被 敌人破坏。
  在历史上,不知道敌人在做什么的心理恐惧是许多将领失败的根源,把这个元素添加到RTS中,是提高游戏趣味(兴奋和恐惧)的好办法。向Walter和制作了《沙丘魔堡》的 Westwood开发者们致敬!
  电脑AI
  正如许多玩家所知的,在策略游戏中,电脑控制的AI玩家通常是很弱的。人类玩家往往发现和利用程序未能阻止的电脑AI的缺陷,不费力地就击败AI,所以为了与真人玩家势均力 敌,电脑AI玩家通常依靠军队数量上的优势、位置优势或&不对称原则&。
  在《魔兽争霸》的大部分任务中,敌人电脑玩家在与人类玩家对抗时,一开始就有完整的城市和军队。另外,《魔兽争霸》使用了若干不对称原则,使AI玩家更有竞争优势,尽管 这些原则可能会被大部分玩家称为&作弊&。
  我们用来帮助电脑AI的一条原则是,减少从金矿堆中移走的金子的数值,以防止金矿被开采完。当人类玩家的农民采集金矿时,每次将100单位的矿石运回玩家的城镇,最终金矿会 被采光。然而,当AI控制的农民采矿时,一次只能从金矿中运走8单位的金子,但放进AI仓库的金子数量仍然是100。
  事实上,不对称原则使游戏更好玩了,这体现在两个方面:第一,防止人类玩家使用&乌龟&战术,也就是建造一个打不到的防御工事,使用他们更高超的策略技巧来制服电脑AI 。乌龟战术是对抗电脑AI的致命策略,因为人类玩家的金矿采集完的时间会比电脑的早得多。
  第二,当人类玩家最终摧毁电脑对手的基地时,仍然会剩下一些金矿供玩家继续开采,这就使游戏得以运行得更快,比靠资源受限获得胜利来得有趣。
  大部分玩家都意识到电脑AI在另一点上更加严重地违背了公平竞争的精神:电脑AI可以看穿战争迷雾;玩家的一举一动都落在AI眼底。事实上,这对电脑来说并不是什么大优势, 只是避免AI显得太过愚蠢。
  有趣的是,随着《星际争霸》的持续流行(自发布起超过14年)。一群程序员决定制作一种非作弊的AI。借助名为&BWAPI&的库,这些程序员写出了可以将指令直接注入《星际争 霸》引擎的代码。程序员让他们的AI们互相对抗,看看哪个AI会胜出。虽然这些BWAPI AI玩家很不错,但获胜的那个仍然会被有技术的人类玩家轻松打败。
  Starcraft()
  对抗人类玩家
  作为在开发《魔兽争霸》以前已经玩过许多许多策略游戏的人,我很清楚那个时代的电脑AI的缺陷。虽然我与许多电脑AI对抗过,偶尔失败,多数获胜,但我从来没有被AI吓倒过 ,甚至在玩Chris Crawford制作的《Eastern Front》时面临俄国的疯狂进攻时。我用朋友的Atari 800玩那款游戏,一直玩到存有游戏的磁带老得不能读取时。
  游戏有趣,令人兴奋,大部分时候也有挑战性,但并不可怕。直到我第一次玩多人模式的《魔兽争霸》,我才改变看法。
  知道我正在与正常的人类玩家竞争,对方不只是懂技巧和策略,而且控制的速度快,再加上战争迷雾使我看不到他的行动,让我既兴奋又害怕。在我的整个游戏生涯中,单人游戏 从来没有让我像玩《魔兽争霸》的多人模式这样兴奋过,因为在后者中,我不可能知道我的一举一动是让我走向胜利还是失败。
  我热血沸腾,我竭尽全力采集金子和木材、建造农场和兵营、增强进攻能力、探索地图&&以及最重要的,粉碎Bob的军队的进攻,否则他就会消灭我的军队。
  这不是为了验证引擎的功能性而做的测试;我知道他也很渴望成为第一个在《魔兽争霸》的第一款多人游戏中获胜的人。另外,我们在暴雪一起玩《毁灭战士》时,我已经有一些 荣耀了,因为我一直用火箭筒打死他,让他非常生气,以至于发誓再也不跟我一起玩了。我知道他想一雪前耻。
  当我们两军交战时,我们再加倍生产单位,把它们丢进战场。当我发现他的营地时,我就进攻,我感觉有希望获胜。Bob的打法似乎杂乱无章,似乎我有办法粉碎他们的军事力量, 但我想把事情做得完美无缺,所以我继续疯狂地进攻任何被我遇到的他的单位和建筑。
  然后&&崩溃了。
  程序员都知道,写出第一次就能通过的代码几乎是不可能的,所以游戏崩溃了没有什么好大惊小怪的。游戏的图像扭到屏幕上方,被DOS4GW的&崩溃页面&取代了&&这是Windows 时代以前的玩家非常熟悉的。现在,我们有更复杂的Windows错误报告对话,玩家可以提交崩溃报告,玩家很少看到的可怕的&死机蓝屏&就非常类似于那时老玩家看到的死机屏幕 。
  崩溃之后,我从座位上跳起来,冲到Bob的办公室,大叫&太牛了!&却马上听到:&干掉你了!&我为他的反驳回答感到吃惊:他居然消灭了我?
  我们花了几分钟才让紧绷的神经回复正常,但我们很快意识到我们不仅遇到了漏洞,还有游戏状态不同步的问题,我称之为&同步漏洞&:两台显示的战斗完全不同,虽然它们一 开始时是一样的,但慢慢分裂为两个完全不同的状态。
  不曾编写过网络代码的人可能会认为,当游戏运行时,两个游戏客户端会在发送各个回合中的整个游戏的状态。也就是,各个回合电脑会发送所有游戏单位的位置和活动。对于只 有几个面板位置的慢节奏的游戏,如国际象棋或西洋棋,这当然是可能的,但对于像《魔兽争霸》这样具有同时活动的600个单位的游戏,通过网络发送所有信息是不可能的。
  我们想到许多玩家会用2400波特率的&猫&玩《魔兽争霸》,它的传输速度是每秒几百个字符。从来没有用过&猫&的年轻玩家应该好好了解一下这种技术,它比狼烟先进,但没 有太多。记住,这是亚马逊、谷歌和Netflix诞生以前&&我们在说的黑暗时代。
  以前曾参与过把《战棋》从DOS移植到Windows,所以我很熟悉多人游戏如何用&猫&通讯。我知道,因为&猫&的有限带宽,发送整个游戏状态是不可能的,所以我的解决办法是 只发送玩家的指令,并让双方玩家同时执行那些指令。
  我知道这个解决方案是可行的,因为电脑最擅长准确地执行人类告诉它们的任务。不幸的是,编程的我们人类自己却并不擅长告诉电脑到底怎么做才是对的,这就是漏洞产生的根 源。当两台电脑应该做相同的事情时,漏洞会导致两台电脑显示不同的状态。
  当两台电脑面对相同的问题却选择了不同的回答时,同步漏洞就产生了;那个差异会越来越大。就像在时间旅行电影《回到未来》:时间旅行者在过去做的小小的改变导致了完全 不同的未来;《魔兽争霸》的显示不同步问题也是这样产生的。在我的电脑上,我的人类射手看到兽人奴隶就攻击,而在你的电脑上,兽人却没有感应到攻击,仍然在砍它的树。 没有发现或改正这些不一致的机制,我们双方的游戏状态很快就会完全不同。
  所以说,《魔兽争霸》的第一场比赛是平局,但同时,它又是游戏开发团队的伟大胜利。不久后,办公室里的其他团队的成员也开始玩多人模式,发现它就像&Blue Sky&&&《 绝命毒师》里的主人公Walter White所研制的冰毒纯晶体脱氧麻黄碱:一旦玩过一次《魔兽争霸》的多人模式,就会觉得其他游戏都不好玩了。即使游戏还是经常出现漏洞,但我 们知道我们正在做一件大事。
  我们要做的只是把游戏完成。
  悲剧的是,我们很快发现一个更严重的问题:不仅同步漏洞很多,而且导致这些同步漏洞的原因也各不相同。如果所有的同步漏洞都是因为类似的原因,那么我们就可以努力解决 掉这唯一的根源就好了。但结果是问题的类型这么多,每一个都引起不同类型的同步漏洞,所以挨个解决是不可避免了。
  为什么出现同步漏洞
  在开发《魔兽争霸》时,我已经设计了一个最小化数据(必须在网络间传输的数据)量的解决方案&&只发送各个玩家发起的指令,像&选择单位5&、&移动 到650,1224&和& 进攻单位53&等。许多程序员都已经独立设计了这个相同的系统;它显然是一个在不发送回合间的整个游戏状态而解决同步电脑问题的方法。
  另外:现在这个方法可能有几个专利要声明。我一直觉得软件不应该申请专利;软件中大部分想法是一般程度的程序员就能想到的,专利的定义要求专利品必须非明显。废话。
  我还没有执行过能验证两台电脑之间的同步性的机制,所以游戏代码中任何引起电脑做出不同选择的漏洞都会导致游戏走向&分裂&&&也就是,变成两个松散成对的时空,虽然 还在继续交流信息,但分裂的速度会越来越快。
  制作能够检测不同步问题的系统,显然是发布这款游戏以前的下一个任务。
  你知道这个故事的结局:《魔兽争霸》最终在五个月后完工了。它对我们来说就是一个永垂不朽的产品,因为我们花了这么多时间、遇到了这么多障碍、克服了这么多挑战,才做 出我们这么热爱的东西。在接下来的文章中,我将继续叙述这个故事,但那时候发生的事太多了,所以我不可能在这篇已经很久的文章中把所有回忆都回顾一遍!
  编译 游戏邦
激情荣耀梦想 2014TGA大奖赛冬季总决赛开赛
WMGC UPDAY口袋巴士专题
12345678910
12345678910

我要回帖

更多关于 魔兽世界射击猎人宏 的文章

 

随机推荐