游戏中的非线性叙事:理论与实践

标签:
杂谈 |
http://img1.blogbuscdn.com/pindao/2010/9/1/e5e9b0e5a51a51015265611875f87ada.jpg
在游戏写作中,只有很少的决定需要你在进行头脑风暴考虑情节、角色或对话之前完成。即使风格和类型已经确定,也仍需对故事方面的一个更重要的问题作出回答:故事要以线性的,还是非线性的形式展开?
如果你是一名游戏爱好者,你可能已经对那激动人心的复杂性、深度,以及非线性故事的耐玩性有所了解。但如果你试图写一个非线性的故事,你也许会遇到一些在试图表现玩家与多种选择时典型的恼人问题。本文将对这类问题进行研究并提供如何克服这些问题的想法。为什么对非线性写作的了解如此重要?因为越来越多的学校开始提供游戏设计学位,导致了空前的竞争。如今,一些游戏的销量远超大预算的电影,你必须有足够多的亮点来装饰你的简历,才能够脱颖而出。
什么是非线性叙事?
在我们解决这些非线性叙事写作中出现的问题前,我们首先要明确线性与非线性之间的差异。在线性的故事中,玩家通过达到预定的顺序情节点推进剧情。一次成功完整的游戏意味着玩家通过一条设计者安排的故事发展,达到了游戏的终点。这点可以参考小说或电影。
http://img1.blogbuscdn.com/pindao/2010/9/1/cdad7907a3e9be6c02f1d0c562244a34.jpg
在一个线性叙述中往往按时间顺序安排剧情点。
线性叙事的传统已经发展成熟。大多数都能按照被称为“三幕架构”或“亚里士多德办法”的方式,将故事清楚地分解为开头、过程和结尾三个部分。在开头,会有一个关于矛盾的叙述,而这个矛盾将在过程中达到高潮,并在结尾中得到解决。这种结构在游戏中表现出色,它给玩家设置了一个或一组目标并让他们为了解决矛盾而发展游戏的剧情。
非线性叙述扩展了线性叙述的优点。给予了玩家各种选项决定自己想怎么做。以前,这些选择可以通过预先设定的选项进行,例如选择去一个城市或另一个城市。然而,非线性的叙述并不只是单纯地提供选项。它还包括动态生成游戏情节,以及基于玩家作出的包括选择、表现、时间或者其它与叙事相关的环境而导致的分支结局。
非线性叙事的关键是多变性。玩家的体验通过多样性和效能感得到增强。玩家所做的事情将会对他们所处的环境产生实际影响,或至少提供了有影响的印象。这样的叙述可以提供多重结局,也能最终收敛至一个宿命性的必然结果。当你给予玩家影响故事发展的能力时,也同时给予了他们机会对游戏中的角色产生认同,创造更多的感情投入。
非线性叙事的类型
非线性游戏有两种主要类型以及其混合:开放世界和分支。开放世界往往意味着无论玩家选择什么样的顺序,他们都能够遭遇整个故事中不同部分的内容。或者玩家能以各种顺序进入更小的,更独立的故事中。这点可以参考魔兽世界和侠盗猎车3中的任务。
http://img1.blogbuscdn.com/pindao/2010/9/1/fcb4f3f1d38f67a7d602be93483e9ed9.jpg
魔兽世界中的开放世界任务通常能够在特定等级下以各种顺序完成。
分支非线性故事往往被分为两种类型:1)有一个主干发展出不同的结局;2)故事线像通往相同目标的平行道路那样汇合或分叉。第一种类型由于编程和内容管理上的难度往往更难以实现。分支类型的故事给玩家带来的选择往往能够导致更多的选择从而影响故事发展的整体方向。一个很好的例子就是拥有多重结局的暴雨。
http://img1.blogbuscdn.com/pindao/2010/9/1/2591cb660216a4e1f833adc955812c0c.jpg
在暴雨中,特定的决定会确实地影响故事的发展
即使是那些线性的游戏也会包含非线性元素以增加游戏的深度。例如,格斗游戏的复杂故事线往往都不为人所知。但是在像UFC终极格斗冠军赛2010这样的游戏中,你能够决定在面试中如何回应并可能导致级别中的内部争斗。或者,在许多如西伯利亚这样只有一个结局的冒险游戏中,选择枝是通过玩家首先与哪些附属场景或NPC进行互动进行的,虽然每章的开头和结尾都一样。这些都是围绕着控制的幻觉展开的。
http://img1.blogbuscdn.com/pindao/2010/9/1/430a6a8563928381bc5aeb7edea888e3.jpg
在西伯利亚中,凯特·沃克能够以任意顺序完成任务,但它们都引导玩家走向关键情节事件。
还有就是自生性游戏——游戏的故事就是玩家控制角色进行游戏的过程——给玩家带来一种完全不同的游戏体验。故事源于游戏角色、人工智能或两者的响应,在游戏的规则框架之下和产生。在这类设计中,制作者并不需要设置具体的事件,而故事则会从游戏规则中自然产生。这类游戏的典型当然非模拟人生莫属。
设计非线性游戏的内在挑战
如果非线性故事是如此的引人注目,为什么没有更多的游戏采取这种方式?简洁的回答是:这又贵又困难。这对作者、制作人、工程师来说都极具挑战性,而大多数情况下,制作非线性游戏的成本要大于回报。事实上许多备受批判的,号称AAA大作的作品多为线性架构,例如神秘海域2。
从制作的角度来说,给予玩家的选项越多,就需要花费越多的时间和资源设计每种需要的可能,以及创造出适合各个场合的内容。因此,结果越少就越容易制作。一些游戏层被认为是以非线性的叙事架构开发的,但结果却由于时间和资金的限制而导致了完全相反的结果。
试想一个游戏在整个过程中只提供三次两个选项的选择。正如上面的树形图展示的那样,这个游戏将需要设计八种不同的结局。这不仅意味着制作团队要设计各种结局所需要的全部额外内容,还意味着每个玩家在一次游戏中只体验了八分之一的游戏内容。如果玩家没有玩完整个游戏的打算,那么就难以找到合适的理由去创造它们。不过,这也许能够增加重玩的价值。
其次,非线性游戏给工程队带来的技术挑战也是巨大的。每一条分支都需要额外的代码控制其进展和额外的变量来跟踪变化。在较小的游戏上也许还能够实现,而在大型游戏上则会很快地失去控制。因为决策树的指数增长,即使不上千,也有数百个变数需要管理。Lua等简单游戏脚本语言的出现,使得游戏设计者不需要成为专业的程序员就能进行游戏制作。但是,解释脚本语言的游戏引擎必须足够强大才能支持复杂的非线性体验。
最后,写这种故事的一个实际可行的方法可能比你所想象的还要困难。想像写出一个能够以任何顺序阅读的故事是多么的复杂,你又将如何安排每个情节点的段落?你又会如何描写对话使其能够以各种方式结尾并影响其他的对话并同样导出一系列的新选择?
好的非线性叙事作家知道,故事具有依赖关系。一个优秀的说书人透露足够的信息保持听众的参与。一个常用的方法就是分层,给在受众获得的最后的信息中提供额外的信息。第一层可能是一个问题,第二层可能是一个帮助解决问题的物品,而第三层则告诉玩家去什么地方获得这个物品,依次类推。
非线性叙事的困难在于你一般不以时间作为分层的依据,而非线性的故事往往与条件相联系。例如某些情节点会在玩家完成要求动作之后出现。或者玩家的一个特定行动会将一个故事完全排除出去。这很难使用传统的故事表达方式进行叙述。比如我们用英文写故事时,我们从头写到尾,用时间将事件串联起来,因此大多数的文字处理或将故事软件都是以这种方式设计的。而我们的期望也是线性的:这里是第一、第二和第三部分,按时间排列在一起。
对于游戏作家而言,非线性叙事就目前的写作工具,如Word、Final Draft甚至是Excel等将故事的各个成分以线性方式连起来的软件而言,是非常困难的。现代游戏不仅仅是像像小说选择自己的探险那样的枝状故事线那样一连串的决策或是一系列的事件。非线性游戏还需要考虑如携带物品、角色关系和过去的交互等条件,并将其作为传达其故事程式的一个部分。即使困难重重,设计师仍然能够成功地创造出非线性游戏。
非线性叙事设计的方法
有许多方法可以用来解决这些挑战。程序员和工程师运用程序化生成的关卡和人工智能方案使得故事叙述的逻辑与游戏的逻辑能够实现交互。这种方法工作得非常漂亮,但并非没有缺点。最常见的缺点是作者和设计师视角的差别和程序衍生导致的实用性问题。
程序衍生背后的想法是在保持传达设计者提出的想法的基础上,用一种近似于随机的方式改变关卡设计或叙述方式。逃生之路是一个成功的例子,每次游戏时进入的关卡结构都会略有不同。这使得故事带给人的感觉每次都会有所不同。另一个例子是对话系统,多少像“Mad Lib”那样基于游戏事件选取特定对话中的动词或形容词,但仍然承载着相似的意思。这些方法目前还没有被大范围地采用,更常见的是设计师采用在叙事设置上更为直观的控制。
有几个常用的工具被那些经常设计非线性叙述和对话的人所使用。为了快速地创造原型和集思广益,设计人员可能会使用手工绘图和流程图来描述特定事件或对话中特定时间点的关系。这些图对于小型计划可能有效,但并不适用于大型复杂的叙述结构。设计师会还将像微软Visio这样的传统图表制作工具与文字处理或数据表格相结合。这通常采取交叉引用文档的形式——图表中的一个项目与字处理文档或数据表格中的对话或剧情事件中的一段台词关联。然而随着项目的增加,图表变得非常笨拙。
http://img1.blogbuscdn.com/pindao/2010/9/1/b0b535648b90e48fde90ac09d9a34701.jpg
一个学生的高程度副线性叙事手绘图表案例
对于开放世界游戏来说,思维导图工具如MindJet和Freemind,或者是微软Access等都能够用于帮助管理探索、任务和非主线故事。虽然目前提到的这些方案都非常普遍且价格相对较低,但也因为其简单性而有所不足。也就是说,他们在对设计人员创造可能改变故事方向的要素条件上支持不足。因为游戏世界是一个动态的环境,多数情况下也具有相当的规模,设计者往往使用软件跟踪各个变量以设计故事的原型。
可以试想手动诊断500行电子表格中非线性对话的进行中的问题。为了缓解这些问题,一些公司创造了适当的方案对非线性叙述进行管理。正如任何定制软件的开发,这种方式也有其优点和缺点,制作软件并不是便宜的事情,还可能花掉比开发游戏更长的时间。时间还要用来对使用人员进行培训和对软件做维护。但是当操作正确时,这能够为未来的游戏设计省出时间。尤其是当这个工具使用兼容数据格式使得对话可以直接与游戏引擎进行整合的时候。一个被称为都市脑工作室的独立的开发曾组织尝试利用自己的非线性对话编辑工具“Chat Mapper”,将这种工具带入商业市场。虽然这是一个良好的开端,但仍在处理大型游戏的复杂性上存在问题。另外,虽然内置脚本系统非常强大,但仍需要付出大量的努力将对话资料转换为目标游戏引擎可用A的格式。
结论:
正如你所见,写下和执行真正的非线性游戏会是一项异常艰巨的任务。鉴于设计师、工程师和制作人所面临的诸多挑战,许多公司单纯地采用将较小的非线性元素组合以使得游戏“感觉上”比实际更开放。虽然这也许非常有效,但一个允许玩家支配故事进展和最终结果的真正的非线性游戏将给玩家带来更强的成就感,并投入更深的感情。技术不应该成为创造力的阻碍。为了帮助游戏设计者,本文介绍了使用传统文字处理工具作为创意解决方案创作非线性对话和故事元素的方法。我们也希望您能在写作创意和复杂故事的过程方面有所收获和思考。